#ifndef _SYSTEM_COLLECTIONS_GENERIC_COMPARER_ #define _SYSTEM_COLLECTIONS_GENERIC_COMPARER_ #include <System/Types.h> #include "Interfaces.h" namespace System { namespace Collections { namespace Generic { // Provides a base class for implementations of the System::Collections::Generic::IComparer<T1> generic interface. template <class T> class Comparer : public IComparer<T> { private: static Comparer<T> defaultComparer; static Comparer<T> CreateComparer(); protected: Comparer(); public: static Comparer<T> Default(); virtual int Compare(T x, T y)=0; }; } } } #endif //_SYSTEM_COLLECTIONS_GENERIC_COMPARER_