17 #if !defined(XALANMAP_HEADER_GUARD_1357924680)
18 #define XALANMAP_HEADER_GUARD_1357924680
37 XALAN_CPP_NAMESPACE_BEGIN
41 #pragma warning(disable: 4189)
52 const char *byteArray =
reinterpret_cast<const char*
>(&key);
56 for (
size_type i = 0; i <
sizeof(Key); ++i)
58 result = (result << 1) ^ byteArray[i];
96 template <
class Value>
104 template <
class Value>
112 template <
class XalanMapTraits,
class BaseIterator>
117 typedef typename XalanMapTraits::pointer
pointer;
166 return !(theRhs == *
this);
197 typedef XALAN_STD_QUALIFIER pair<const key_type, data_type>
value_type;
240 float loadFactor = 0.75,
273 while(entry != theRhs.
end())
358 while (pos != bucket.end())
360 if (!(*pos)->erased &&
m_equals(key, (*pos)->value->first))
385 return (*pos).second;
391 insert(value.first, value.second);
497 newEntry.erased =
false;
500 const_cast<key_type*>(&newEntry.value->first),
507 &newEntry.value->second,
514 &newEntry.value->second,
530 #if defined(_MSC_VER) && _MSC_VER <= 1300
531 toRemove.value_type::~value_type();
533 toRemove.~value_type();
557 assert(pos !=
end());
576 return m_hash(key) % modulus;
601 entryPos->value->first,
623 assert(pointer != 0);
625 return reinterpret_cast<value_type*
>(pointer);
641 assert(theExtraCapacity > theCurrentSize);
648 return theCurrentSize == 0 ?
664 while(j != theCurrentBucket.
end())
666 if ((*j)->erased ==
true)
668 j = theCurrentBucket.
erase(j);
680 theCurrentBucket.
size();
683 theCurrentBucket.
capacity() - theCurrentSize;
685 if (theExtraCapacity > theCurrentSize)
700 theCurrentBucket.
swap(theTempBucket);
738 #if defined(_MSC_VER)
744 XALAN_CPP_NAMESPACE_END
748 #endif // XALANMAP_HEADER_GUARD_1357924680