0001 template <typename T> static bool lt( T* a, T* b ) { return lt( *a, *b ); } // less than 0002 template <typename T> static bool lt( T& a, T& b ) { return a < b; } // less than 0003 template <typename T> static bool eq( T* a, T* b ) { return eq( *a, *b ); } // equal 0004 template <typename T> static bool eq( T& a, T& b ) { return a == b; } // equal