Asposecpplib
System::Collections::Generic::Details Namespace Reference

Classes

struct  ComparerType
 Compares elements using 'less' semantics. More...
 
struct  ComparerType< SharedPtr< T > >
 Compares elements using 'less' semantics. More...
 
struct  has_method_compareto
 Checks whether CompareTo method exists in specified type. If so, inherits std::true_type, otherwise inherits std::false_type. Can be used in std::enable_if. More...
 
struct  has_method_compareto< T, decltype((void)(std::declval< T & >().CompareTo(std::declval< T & >())))>
 Specialization for existing CompareTo method.
 
struct  IsEqualExist
 Checks if type provides operator ==. More...
 

Typedefs

template<class T >
using has_operator_equals = decltype(HasOperatorEqualsHelper(std::declval< T * >(), std::declval< T * >()))
 Dummy typedef to check for operator == existance. More...
 

Functions

template<typename Container >
bool IsOutOfBounds (int idx, const Container &container)
 Checks if index is out of container bounds, excluding container size. More...
 
template<typename Container >
bool IsOutOfBounds (std::int64_t idx, const Container &container)
 Checks if index is out of container bounds, excluding container size. More...
 
template<typename Container >
bool IsOutOfSize (int count, const Container &container)
 Checks if index is out of container bounds, including container size. More...
 
template<typename Container >
bool IsOutOfSize (std::int64_t count, const Container &container)
 Checks if index is out of container bounds, including container size. More...
 
template<class T , typename Dummy = decltype(std::declval<T>() == std::declval<T>())>
std::true_type HasOperatorEqualsHelper (T *, T *)
 Helper function to determine whether specific class has operator ==. More...
 
std::false_type HasOperatorEqualsHelper (void *, void *)
 Helper function to determine whether specific class has operator ==. More...
 

Typedef Documentation

◆ has_operator_equals

template<class T >
using System::Collections::Generic::Details::has_operator_equals = typedef decltype(HasOperatorEqualsHelper(std::declval<T*>(), std::declval<T*>()))

Dummy typedef to check for operator == existance.

Template Parameters
TType to check.

Function Documentation

◆ HasOperatorEqualsHelper() [1/2]

template<class T , typename Dummy = decltype(std::declval<T>() == std::declval<T>())>
std::true_type System::Collections::Generic::Details::HasOperatorEqualsHelper ( T *  ,
T *   
)

Helper function to determine whether specific class has operator ==.

Template Parameters
TType to check.
DummyDummy argument for SFINAE magic.
Returns
Value of std::true_type if operator == is present and false otherwise.

◆ HasOperatorEqualsHelper() [2/2]

std::false_type System::Collections::Generic::Details::HasOperatorEqualsHelper ( void *  ,
void *   
)

Helper function to determine whether specific class has operator ==.

Returns
Value of std::true_type if operator == is present and false otherwise.

◆ IsOutOfBounds() [1/2]

template<typename Container >
bool System::Collections::Generic::Details::IsOutOfBounds ( int  idx,
const Container &  container 
)

Checks if index is out of container bounds, excluding container size.

Template Parameters
ContainerContainer type.
Parameters
idxIndex.
containerContainer to check index against.
Returns
True if index is out of container bounds, false otherwise.

◆ IsOutOfBounds() [2/2]

template<typename Container >
bool System::Collections::Generic::Details::IsOutOfBounds ( std::int64_t  idx,
const Container &  container 
)

Checks if index is out of container bounds, excluding container size.

Template Parameters
ContainerContainer type.
Parameters
idxIndex.
containerContainer to check index against.
Returns
True if index is out of container bounds, false otherwise.

◆ IsOutOfSize() [1/2]

template<typename Container >
bool System::Collections::Generic::Details::IsOutOfSize ( int  count,
const Container &  container 
)

Checks if index is out of container bounds, including container size.

Template Parameters
ContainerContainer type.
Parameters
countIndex.
containerContainer to check index against.
Returns
True if index is out of container bounds, false otherwise.

◆ IsOutOfSize() [2/2]

template<typename Container >
bool System::Collections::Generic::Details::IsOutOfSize ( std::int64_t  count,
const Container &  container 
)

Checks if index is out of container bounds, including container size.

Template Parameters
ContainerContainer type.
Parameters
countIndex.
containerContainer to check index against.
Returns
True if index is out of container bounds, false otherwise.