HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_ArrayStringMap< ITEM_T > Class Template Reference

#include <UT_ArrayStringMap.h>

+ Inheritance diagram for UT_ArrayStringMap< ITEM_T >:

Public Types

typedef UT::ArrayMap
< UT_StringHolder, ITEM_T > 
Parent
 
typedef Parent::const_iterator const_iterator
 
typedef Parent::iterator iterator
 
typedef Parent::size_type size_type
 
- Public Types inherited from UT::ArrayMap< UT_StringHolder, ITEM_T >
typedef ArraySet< std::pair
< UT_StringHolder, ITEM_T >
, false, 128, MapKeyClearer
< UT_StringHolder,ITEM_T >
, MapKeyHash< hboost::hash
< UT_StringHolder >
, UT_StringHolder, ITEM_T >
, MapKeyEqual< std::equal_to
< UT_StringHolder >
, UT_StringHolder, ITEM_T > > 
set_type
 
typedef ArraySet
< UT_StringHolder, false,
128, MapKeyClearer
< UT_StringHolder,ITEM_T >
, hboost::hash
< UT_StringHolder >
, std::equal_to
< UT_StringHolder > > 
set_type
 Inherit the constructors from ArraySet. More...
 
typedef ArrayMap
< UT_StringHolder, ITEM_T,
false, 128, MapKeyClearer
< UT_StringHolder,ITEM_T >
, hboost::hash
< UT_StringHolder >
, std::equal_to
< UT_StringHolder > > 
map_type
 
typedef UT_StringHolder key_type
 
typedef ITEM_T mapped_type
 
typedef hboost::hash
< UT_StringHolder
hasher
 
typedef std::equal_to
< UT_StringHolder
key_equal
 
using pointer = typename set_type::pointer
 
using const_pointer = typename set_type::const_pointer
 
using value_type = typename set_type::value_type
 
using size_type = typename set_type::size_type
 
using iterator = typename set_type::iterator
 Inherit iterator and const_iterator. More...
 
using iterator_t = typename set_type::template iterator_t< constant_type >
 
using const_iterator = typename set_type::const_iterator
 
using const_key_iterator = partial_iterator_base< const_iterator, const key_type, deref_pair_first< const_iterator, const key_type >>
 
using mapped_iterator = partial_iterator_base< iterator, mapped_type, deref_pair_second< iterator, mapped_type >>
 
using const_mapped_iterator = partial_iterator_base< const_iterator, const mapped_type, deref_pair_second< const_iterator, const mapped_type >>
 
- Public Types inherited from UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual >
typedef ArraySet< Key, MULTI,
MAX_LOAD_FACTOR_256, Clearer,
Hash, KeyEqual > 
set_type
 
typedef Key key_type
 
typedef Key value_type
 
typedef std::size_t size_type
 
typedef std::ptrdiff_t difference_type
 
typedef Hash hasher
 
typedef KeyEqual key_equal
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
typedef value_typepointer
 
typedef const value_typeconst_pointer
 
typedef Clearer clearer_type
 
typedef iterator_t< false > iterator
 Iterator type for iterating over non-constant elements. More...
 

Public Member Functions

iterator erase (iterator pos)
 
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 (UT_StringRef &&key, const ITEM_T &val)
 
std::pair< iterator, bool > insert (UT_StringRef &&key, ITEM_T &&val)
 
std::pair< iterator, bool > insert (const char *key, const ITEM_T &val)
 
std::pair< iterator, bool > insert (const char *key, ITEM_T &&val)
 
- Public Member Functions inherited from UT::ArrayMap< UT_StringHolder, ITEM_T >
std::pair< iterator, bool > insert (const UT_StringHolder &key, const ITEM_T &val)
 
std::pair< iterator, bool > insert (UT_StringHolder &&key, ITEM_T &&val)
 
bool operator== (const map_type &that) const
 
bool operator!= (const map_type &that) const
 
size_type count (const UT_StringHolder &key) const
 
bool contains (const UT_StringHolder &key) const
 
ITEM_T & operator[] (const UT_StringHolder &key)
 
ITEM_T & operator[] (UT_StringHolder &&key)
 
size_type erase (const UT_StringHolder &key)
 
SYS_FORCE_INLINE void forEachKey (FUNCTOR &&functor) const
 
SYS_FORCE_INLINE void forEachValue (FUNCTOR &&functor) const
 
ordered_iterator_t< true > ordered_begin (const COMPARATOR &comparator) const
 
ordered_iterator_t< false > ordered_begin (const COMPARATOR &comparator)
 
ordered_iterator_t< true > ordered_cbegin (const COMPARATOR &comparator) const
 
UT_IteratorRange
< const_key_iterator
key_range () const
 
UT_IteratorRange< mapped_iteratormapped_range ()
 
UT_IteratorRange
< const_mapped_iterator
mapped_range () const
 
iterator find (const UT_StringHolder &key)
 
const_iterator find (const UT_StringHolder &key) const
 
ITEM_T & at (const UT_StringHolder &key)
 
const ITEM_T & at (const UT_StringHolder &key) const
 
std::pair< const_iterator,
const_iterator
equal_range (const UT_StringHolder &key) const
 
std::pair< iterator, iteratorequal_range (const UT_StringHolder &key)
 
- Public Member Functions inherited from UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual >
 ArraySet ()
 
 ArraySet (size_type init_bucket_count)
 
 ArraySet (set_type &&that)
 Move constructor, destroying the source. More...
 
 ArraySet (const set_type &that)
 
template<typename INPUT_ITERATOR >
 ArraySet (INPUT_ITERATOR start_input, INPUT_ITERATOR end_input, size_type init_bucket_count=0)
 Inserts all of the items in the range [start_input,end_input). More...
 
 ArraySet (std::initializer_list< value_type > init, size_type init_bucket_count=0)
 
set_typeoperator= (const set_type &that)
 
set_typeoperator= (std::initializer_list< value_type > init)
 
set_typeoperator= (set_type &&that)
 
bool operator== (const set_type &that) const
 
bool operator!= (const set_type &that) const
 
void swap (set_type &that)
 Swaps another set with this one. More...
 
 ~ArraySet ()
 
bool empty () const
 Returns true iff there are no items in the set. More...
 
size_type size () const
 Returns the number of items in the set. More...
 
void clear ()
 
void destroy ()
 Removes all items from the set and frees all the memory. More...
 
size_type bucket_count () const
 Returns the current number of buckets. More...
 
size_type bucket_size (size_type i) const
 
float load_factor () const
 Returns the current portion of buckets that are occupied. More...
 
void rehash (size_type new_num_buckets)
 
void reserve (size_type num_items)
 
void setNumBuckets (size_type new_num_buckets)
 
void bumpNumBuckets (size_type new_num_items)
 
iterator begin ()
 Returns a non-const iterator for the beginning of the set. More...
 
const_iterator cbegin () const
 Returns a const iterator for the beginning of the set. More...
 
const_iterator begin () const
 Returns a const iterator for the beginning of the set. More...
 
iterator end ()
 Returns a non-const end iterator for the set. More...
 
const_iterator cend () const
 Returns a const end iterator for the set. More...
 
const_iterator end () const
 Returns a const end iterator for the set. More...
 
size_type count (const Key &key) const
 
bool contains (const Key &key) const
 
template<typename INPUT_ITERATOR >
void insert (INPUT_ITERATOR start_input, INPUT_ITERATOR end_input)
 Inserts all of the items in the range [start_input,end_input). More...
 
void insert (std::initializer_list< value_type > list)
 Inserts all of the items from the initializer_list. More...
 
template<typename... Args>
std::pair< iterator, bool > emplace (Args &&...args)
 
iterator erase (iterator iter)
 
size_type erase (const Key &key)
 
int64 getMemoryUsage (bool inclusive) const
 
template<typename FUNCTOR >
SYS_FORCE_INLINE void forEach (FUNCTOR &&functor) const
 
iterator find (const Key &key)
 
const_iterator find (const Key &key) const
 
std::pair< const_iterator,
const_iterator
equal_range (const Key &key) const
 
std::pair< iterator, iteratorequal_range (const Key &key)
 
std::pair< iterator, bool > insert (const value_type &value)
 
std::pair< iterator, bool > insert (value_type &&value)
 

Additional Inherited Members

- Static Public Member Functions inherited from UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual >
static size_type max_size ()
 
static size_type max_bucket_count ()
 
static float max_load_factor ()
 
static hasher hash_function ()
 
static key_equal key_eq ()
 
- Protected Member Functions inherited from UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual >
pointer searchStart (const Key &key)
 
const_pointer searchStart (const Key &key) const
 
template<bool fail_on_equal = !MULTI, bool check_realloc = true>
bool insertHelper (pointer pstart, size_type nbuckets, const value_type &value, pointer &destp)
 
- Static Protected Member Functions inherited from UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual >
static size_type minBuckets (size_type size)
 
- Protected Attributes inherited from UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual >
pointer myBuckets
 
size_type myNumBuckets
 

Detailed Description

template<typename ITEM_T>
class UT_ArrayStringMap< ITEM_T >

NOTE: This class used to not allow empty string as a key, but now it should work.

Definition at line 43 of file UT_ArrayStringMap.h.

Member Typedef Documentation

template<typename ITEM_T>
typedef Parent::const_iterator UT_ArrayStringMap< ITEM_T >::const_iterator

Definition at line 48 of file UT_ArrayStringMap.h.

template<typename ITEM_T>
typedef Parent::iterator UT_ArrayStringMap< ITEM_T >::iterator

Definition at line 49 of file UT_ArrayStringMap.h.

template<typename ITEM_T>
typedef UT::ArrayMap<UT_StringHolder, ITEM_T> UT_ArrayStringMap< ITEM_T >::Parent

Definition at line 46 of file UT_ArrayStringMap.h.

template<typename ITEM_T>
typedef Parent::size_type UT_ArrayStringMap< ITEM_T >::size_type

Definition at line 50 of file UT_ArrayStringMap.h.

Member Function Documentation

template<typename ITEM_T>
iterator UT_ArrayStringMap< ITEM_T >::erase ( iterator  pos)
inline

Definition at line 58 of file UT_ArrayStringMap.h.

template<typename ITEM_T>
std::pair<iterator, bool> UT_ArrayStringMap< ITEM_T >::insert ( const UT_StringRef key,
const ITEM_T &  val 
)
inline

Definition at line 77 of file UT_ArrayStringMap.h.

template<typename ITEM_T>
std::pair<iterator, bool> UT_ArrayStringMap< ITEM_T >::insert ( const UT_StringRef key,
ITEM_T &&  val 
)
inline

Definition at line 84 of file UT_ArrayStringMap.h.

template<typename ITEM_T>
std::pair<iterator, bool> UT_ArrayStringMap< ITEM_T >::insert ( UT_StringRef &&  key,
const ITEM_T &  val 
)
inline

Definition at line 91 of file UT_ArrayStringMap.h.

template<typename ITEM_T>
std::pair<iterator, bool> UT_ArrayStringMap< ITEM_T >::insert ( UT_StringRef &&  key,
ITEM_T &&  val 
)
inline

Definition at line 98 of file UT_ArrayStringMap.h.

template<typename ITEM_T>
std::pair<iterator, bool> UT_ArrayStringMap< ITEM_T >::insert ( const char *  key,
const ITEM_T &  val 
)
inline

Definition at line 105 of file UT_ArrayStringMap.h.

template<typename ITEM_T>
std::pair<iterator, bool> UT_ArrayStringMap< ITEM_T >::insert ( const char *  key,
ITEM_T &&  val 
)
inline

Definition at line 109 of file UT_ArrayStringMap.h.


The documentation for this class was generated from the following file: