13 #ifndef __UT_ArrayStringMap_h__
14 #define __UT_ArrayStringMap_h__
25 #define UT_STRINGREF_WRAPPER(return_type, name, qualifier) \
26 SYS_FORCE_INLINE return_type name(const UT_StringRef &key) qualifier \
28 return Parent::name(UTmakeUnsafeRef(key)); \
33 #define UT_STRINGREF_WRAPPER_RANGE(iterator_type, name, qualifier) \
34 SYS_FORCE_INLINE std::pair<iterator_type, iterator_type> \
35 name(const UT_StringRef &key) qualifier \
37 return Parent::name(UTmakeUnsafeRef(key)); \
42 template <
typename ITEM_T>
59 #if 0 // The parent function isn't fully implemented yet.
84 auto&& iter =
find(key);
87 return std::make_pair(iter,
false);
91 auto&& iter =
find(key);
94 return std::make_pair(iter,
false);
98 auto&& iter =
find(key);
101 return std::make_pair(iter,
false);
105 auto&& iter =
find(key);
108 return std::make_pair(iter,
false);
110 std::pair<iterator, bool>
insert(
const char *key,
const ITEM_T &
val)
114 std::pair<iterator, bool>
insert(
const char *key, ITEM_T &&
val)
122 template<
typename ITEM_T>
124 :
public DefaultClearer<typename UT_ArrayStringMap<ITEM_T>::Parent>
128 #undef UT_STRINGREF_WRAPPER
129 #undef UT_STRINGREF_WRAPPER_RANGE
ITEM_T & at(const UT_StringHolder &key)
bool contains(const UT_StringHolder &key) const
std::pair< iterator, bool > insert(const UT_StringRef &key, const ITEM_T &val)
std::pair< iterator, bool > insert(const UT_StringRef &key, ITEM_T &&val)
std::pair< iterator, bool > insert(const char *key, ITEM_T &&val)
std::pair< const_iterator, const_iterator > equal_range(const UT_StringHolder &key) const
iterator end()
Returns a non-const end iterator for the set.
iterator find(const UT_StringHolder &key)
Parent::const_iterator const_iterator
typename set_type::size_type size_type
std::pair< iterator, bool > insert(const UT_StringHolder &key, const ITEM_T &val)
SYS_FORCE_INLINE const UT_StringHolder & UTmakeUnsafeRef(const UT_StringRef &ref)
Convert a UT_StringRef into a UT_StringHolder that is a shallow reference.
Parent::iterator iterator
size_type erase(const UT_StringHolder &key)
mapped_type get(const key_type &key, const mapped_type &defval) const
UT::ArrayMap< UT_StringHolder, ITEM_T > Parent
std::pair< iterator, bool > insert(const char *key, const ITEM_T &val)
__hostdev__ uint64_t last(uint32_t i) const
#define UT_STRINGREF_WRAPPER(return_type, name, qualifier)
typename set_type::iterator iterator
Inherit iterator and const_iterator.
std::pair< iterator, bool > insert(UT_StringRef &&key, const ITEM_T &val)
iterator erase(iterator pos)
std::pair< iterator, bool > insert(UT_StringRef &&key, ITEM_T &&val)
Parent::size_type size_type
SYS_FORCE_INLINE ITEM_T get(const UT_StringRef &key, const ITEM_T &defval) const
typename set_type::const_iterator const_iterator
#define UT_STRINGREF_WRAPPER_RANGE(iterator_type, name, qualifier)