00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ACE_FUNCTOR_STRING_H
00017 #define ACE_FUNCTOR_STRING_H
00018 #include "ace/pre.h"
00019
00020 #include "ace/config-all.h"
00021
00022 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00023 # pragma once
00024 #endif
00025
00026 #include "ace/ACE_export.h"
00027 #include "ace/SStringfwd.h"
00028
00029 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00030
00031
00032
00033
00034
00035
00036
00037
00038 template <class TYPE> class ACE_Hash;
00039 template <class TYPE> class ACE_Equal_To;
00040 template <class TYPE> class ACE_Less_Than;
00041
00042
00043
00044
00045
00046
00047
00048 template<>
00049 class ACE_Export ACE_Equal_To<ACE_CString>
00050 {
00051 public:
00052 int operator () (const ACE_CString &lhs,
00053 const ACE_CString &rhs) const;
00054 };
00055
00056
00057
00058
00059
00060
00061
00062 template<>
00063 class ACE_Export ACE_Hash<ACE_CString>
00064 {
00065 public:
00066
00067 unsigned long operator () (const ACE_CString &lhs) const;
00068 };
00069
00070
00071
00072
00073
00074
00075
00076
00077 template<>
00078 class ACE_Export ACE_Less_Than<ACE_CString>
00079 {
00080 public:
00081
00082 int operator () (const ACE_CString &lhs,
00083 const ACE_CString &rhs) const;
00084 };
00085
00086
00087 #if defined (ACE_USES_WCHAR)
00088
00089
00090
00091
00092
00093
00094
00095 template<>
00096 class ACE_Export ACE_Equal_To<ACE_WString>
00097 {
00098 public:
00099 int operator () (const ACE_WString &lhs,
00100 const ACE_WString &rhs) const;
00101 };
00102
00103
00104
00105
00106
00107
00108
00109 template<>
00110 class ACE_Export ACE_Hash<ACE_WString>
00111 {
00112 public:
00113
00114 unsigned long operator () (const ACE_WString &lhs) const;
00115 };
00116
00117
00118
00119
00120
00121
00122
00123 template<>
00124 class ACE_Export ACE_Less_Than<ACE_WString>
00125 {
00126 public:
00127
00128 int operator () (const ACE_WString &lhs,
00129 const ACE_WString &rhs) const;
00130 };
00131
00132 #endif
00133
00134 ACE_END_VERSIONED_NAMESPACE_DECL
00135
00136 #if defined (__ACE_INLINE__)
00137 #include "ace/Functor_String.inl"
00138 #endif
00139
00140 #include "ace/post.h"
00141 #endif