System::Collections::Generic::Details::ComparerType< SharedPtr< T > > Struct Template Reference

Public Member Functions

template<typename Q >
std::enable_if< std::is_base_of< System::IComparable< System::SharedPtr< Q > >, Q >::value||has_method_compareto_shared_ptr< Q >::value, bool >::type operator() (const System::SharedPtr< Q > &a, const System::SharedPtr< Q > &b) const
 
template<typename Q >
std::enable_if<!(std::is_base_of< System::IComparable< System::SharedPtr< Q >>, Q >::value||has_method_compareto_shared_ptr< Q >::value), bool >::type operator() (const System::SharedPtr< Q > &a, const System::SharedPtr< Q > &b) const
 

Detailed Description

template<typename T>
struct System::Collections::Generic::Details::ComparerType< SharedPtr< T > >

Compares elements using 'less' semantics.

Template Parameters
TCompared elements type.

Member Function Documentation

◆ operator()() [1/2]

template<typename T >
template<typename Q >
std::enable_if<std::is_base_of<System::IComparable<System::SharedPtr<Q> >, Q>::value || has_method_compareto_shared_ptr<Q>::value, bool>::type System::Collections::Generic::Details::ComparerType< SharedPtr< T > >::operator() ( const System::SharedPtr< Q > &  a,
const System::SharedPtr< Q > &  b 
) const
inline

Compares pointer types implementing IComparable interface.

Template Parameters
QType to compare.
Parameters
aLHS value.
bRHS value.
Returns
True if a is considered less than b, false otherwise.

◆ operator()() [2/2]

template<typename T >
template<typename Q >
std::enable_if<!(std::is_base_of<System::IComparable<System::SharedPtr<Q>>, Q>::value || has_method_compareto_shared_ptr<Q>::value), bool>::type System::Collections::Generic::Details::ComparerType< SharedPtr< T > >::operator() ( const System::SharedPtr< Q > &  a,
const System::SharedPtr< Q > &  b 
) const
inline

Compares pointer types not implementing IComparable interface.

Template Parameters
QType to compare.
Parameters
aLHS value.
bRHS value.
Returns
True if a is considered less than b, false otherwise.