19#if !defined(ICUBRIDGE_COLLATIONCOMPAREFUNCTORIMPL_GUARD_1357924680)
20#define ICUBRIDGE_COLLATIONCOMPAREFUNCTORIMPL_GUARD_1357924680
36#include <unicode/coll.h>
49 MemoryManager& theManager,
52 m_locale(theLocale, theManager),
53 m_collator(theCollator)
64 MemoryManager& theManager) :
65 m_locale(other.m_locale,theManager),
66 m_collator(other.m_collator)
81#if defined(XALAN_NO_SELECTIVE_TEMPLATE_INSTANTIATION)
85 return this < &theRHS;
89 operator==(
const CollationCacheStruct& theRHS)
const
91 return this == &theRHS;
102 m_memoryManager(theManager)
112 MemoryManager& m_memoryManager;
125 return XalanDOMString::equals(theStruct.
m_locale ,m_locale);
144 bool fCacheCollators =
false);
148 bool fCacheCollators =
false);
156 return m_collatorCache.getMemoryManager();
161 const XalanDOMChar* theLHS,
162 const XalanDOMChar* theRHS,
167 const XalanDOMChar* theLHS,
168 const XalanDOMChar* theRHS,
169 const XalanDOMChar* theLocale,
181 enum { eCacheMax = 10 };
187 const XalanDOMChar* theLHS,
188 const XalanDOMChar* theRHS)
const;
192 const XalanDOMChar* theLHS,
193 const XalanDOMChar* theRHS,
194 const XalanDOMChar* theLocale,
199 const XalanDOMChar* theLHS,
200 const XalanDOMChar* theRHS,
201 const XalanDOMChar* theLocale,
207 const XalanDOMChar* theLHS,
208 const XalanDOMChar* theRHS)
const;
213 const XalanDOMChar* theLHS,
214 const XalanDOMChar* theRHS,
218 getCachedCollator(
const XalanDOMChar* theLocale)
const;
223 const XalanDOMChar* theLocale)
const;
233 bool m_cacheCollators;
235 mutable CollatorCacheListType m_collatorCache;
#define XALAN_ICUBRIDGE_EXPORT
#define XALAN_USES_MEMORY_MANAGER(Type)
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
MemoryManager & getMemoryManager() const
ICUBridgeCollationCompareFunctorImpl(MemoryManager &theManager, bool fCacheCollators=false)
Constructor.
static ICUBridgeCollationCompareFunctorImpl * create(MemoryManager &theManager, bool fCacheCollators=false)
~ICUBridgeCollationCompareFunctorImpl()
int operator()(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault) const
int operator()(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, const XalanDOMChar *theLocale, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault) const
XalanList< CollationCacheStruct > CollatorCacheListType
Xalan implementation of a doubly linked list.
bool operator<(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
U_ICU_NAMESPACE::Collator CollatorType
CollatorDeleteFunctor(MemoryManager &theManager)
void operator()(CollationCacheStruct &theStruct) const
bool operator()(CollationCacheStruct &theStruct) const
CollatorFindFunctor(const XalanDOMChar *theLocale)
const XalanDOMChar *const m_locale
void swap(CollationCacheStruct &theOther)
CollationCacheStruct(const CollationCacheStruct &other, MemoryManager &theManager)
CollatorType * m_collator
CollationCacheStruct(MemoryManager &theManager)
CollationCacheStruct(MemoryManager &theManager, const XalanDOMString &theLocale, CollatorType *theCollator)