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

Classes

struct  ComparerType
 
struct  ComparerType< SharedPtr< T > >
 
struct  has_method_compareto
 
struct  has_method_compareto< T, decltype((void)(std::declval< T & >().CompareTo(std::declval< T & >())))>
 Specialization for existing CompareTo method.
 
struct  IsEqualExist
 

Typedefs

template<class T >
using has_operator_equals = decltype(HasOperatorEqualsHelper(std::declval< T * >(), std::declval< T * >()))
 

Functions

template<typename Container >
bool IsOutOfBounds (int idx, const Container &container)
 
template<typename Container >
bool IsOutOfBounds (std::int64_t idx, const Container &container)
 
template<typename Container >
bool IsOutOfSize (int count, const Container &container)
 
template<typename Container >
bool IsOutOfSize (std::int64_t count, const Container &container)
 
template<class T , typename Dummy = decltype(std::declval<T>() == std::declval<T>())>
std::true_type HasOperatorEqualsHelper (T *, T *)
 
std::false_type HasOperatorEqualsHelper (void *, void *)
 

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.