summaryrefslogtreecommitdiff
path: root/ACE/ace/Functor_T.inl
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ace/Functor_T.inl')
-rw-r--r--ACE/ace/Functor_T.inl42
1 files changed, 42 insertions, 0 deletions
diff --git a/ACE/ace/Functor_T.inl b/ACE/ace/Functor_T.inl
new file mode 100644
index 00000000000..6441c091b76
--- /dev/null
+++ b/ACE/ace/Functor_T.inl
@@ -0,0 +1,42 @@
+// -*- C++ -*-
+//
+// $Id$
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+template <class TYPE> ACE_INLINE unsigned long
+ACE_Hash<TYPE>::operator () (const TYPE &t) const
+{
+ return t.hash ();
+}
+
+template <class TYPE> ACE_INLINE unsigned long
+ACE_Pointer_Hash<TYPE>::operator () (TYPE t) const
+{
+#if defined (ACE_WIN64)
+ // The cast below is legit... we only want a hash, and need not convert
+ // the hash back to a pointer.
+# pragma warning(push)
+# pragma warning(disable : 4311) /* Truncate pointer to unsigned long */
+#endif /* ACE_WIN64 */
+ return reinterpret_cast<unsigned long> (t);
+#if defined (ACE_WIN64)
+# pragma warning(pop)
+#endif /* ACE_WIN64 */
+}
+
+template <class TYPE> ACE_INLINE bool
+ACE_Equal_To<TYPE>::operator () (const TYPE &lhs,
+ const TYPE &rhs) const
+{
+ return lhs == rhs;
+}
+
+template <class TYPE> ACE_INLINE bool
+ACE_Less_Than<TYPE>::operator () (const TYPE &lhs,
+ const TYPE &rhs) const
+{
+ return lhs < rhs;
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL