/* -*- C++ -*- */ // $Id$ // ============================================================================ // // = LIBRARY // ace // // = FILENAME // Functor.i // // = DESCRIPTION // Inlinable method definitions for non-templatized classes // and template specializations implementing the GOF Command Pattern, // and STL-style functors. // // = AUTHOR // Chris Gill // // Based on Command Pattern implementations originally done by // // Carlos O'Ryan and // Douglas C. Schmidt and // Sergio Flores-Gaitan // // and on STL-style functor implementations originally done by // // Irfan Pyarali // // ============================================================================ ////////////////////////////////////////////////////////////// // GOF Command Pattern Classes and Template Specializations // ////////////////////////////////////////////////////////////// // Default constructor. ACE_INLINE ACE_Command_Base::ACE_Command_Base (void) { } // Virtaul destructor. ACE_INLINE ACE_Command_Base::~ACE_Command_Base (void) { } //////////////////////////////////////////////////////////// // STL-style Functor Classes and Template Specializations // //////////////////////////////////////////////////////////// ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE u_long ACE_Hash::operator () (char t) const { return t; } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE u_long ACE_Hash::operator () (signed char t) const { return t; } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE u_long ACE_Hash::operator () (unsigned char t) const { return t; } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE u_long ACE_Hash::operator () (ACE_INT16 t) const { return t; } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE u_long ACE_Hash::operator () (ACE_UINT16 t) const { return t; } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE u_long ACE_Hash::operator () (ACE_INT32 t) const { return t; } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE u_long ACE_Hash::operator () (ACE_UINT32 t) const { return t; } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE u_long ACE_Hash::operator () (ACE_UINT64 t) const { return ACE_U64_TO_U32 (t); } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE u_long ACE_Hash::operator () (const ACE_TCHAR *t) const { return ACE::hash_pjw (t); } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE u_long ACE_Hash::operator () (const ACE_TCHAR *t) const { return ACE::hash_pjw (t); } /***********************************************************************/ ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE int ACE_Equal_To::operator () (const ACE_TCHAR *lhs, const ACE_TCHAR *rhs) const { return !ACE_OS::strcmp (lhs, rhs); } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE int ACE_Equal_To::operator () (const ACE_TCHAR *lhs, const ACE_TCHAR *rhs) const { return !ACE_OS::strcmp (lhs, rhs); } ACE_INLINE int ACE_Equal_To::operator () (const ACE_UINT16 lhs, const ACE_UINT16 rhs) const { return (lhs == rhs); } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE int ACE_Equal_To::operator () (const ACE_INT16 lhs, const ACE_INT16 rhs) const { return (lhs == rhs); } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE int ACE_Equal_To::operator () (const ACE_UINT32 lhs, const ACE_UINT32 rhs) const { return (lhs == rhs); } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE int ACE_Equal_To::operator () (const ACE_INT32 lhs, const ACE_INT32 rhs) const { return (lhs == rhs); } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE int ACE_Equal_To::operator () (const ACE_UINT64 lhs, const ACE_UINT64 rhs) const { return (lhs == rhs); } /****************************************************************************/ ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE int ACE_Less_Than::operator () (const ACE_TCHAR *lhs, const ACE_TCHAR *rhs) const { return (ACE_OS::strcmp (lhs, rhs) < 0) ? 1 : 0; } ACE_TEMPLATE_METHOD_SPECIALIZATION ACE_INLINE int ACE_Less_Than::operator () (const ACE_TCHAR *lhs, const ACE_TCHAR *rhs) const { return (ACE_OS::strcmp (lhs, rhs) < 0) ? 1 : 0; }