mxnet
|
Shared content of all specializations of hash map. More...
#include <container_ext.h>
Public Types | |
using | key_type = ObjectRef |
Type of the keys in the hash map. More... | |
using | mapped_type = ObjectRef |
Type of the values in the hash map. More... | |
using | ContainerType = std::unordered_map< ObjectRef, ObjectRef, ObjectRefHash, ObjectRefEqual > |
Type of the actual underlying container. More... | |
using | iterator = ContainerType::iterator |
Iterator class. More... | |
using | const_iterator = ContainerType::const_iterator |
Iterator class. More... | |
using | KVType = ContainerType::value_type |
Type of value stored in the hash map. More... | |
Public Types inherited from mxnet::runtime::Object | |
typedef void(* | FDeleter) (Object *self) |
Object deleter. More... | |
using | RefCounterType = std::atomic< int32_t > |
Public Member Functions | |
MXNET_DECLARE_FINAL_OBJECT_INFO (MapObj, Object) | |
size_t | size () const |
Number of elements in the MapObj. More... | |
size_t | count (const key_type &key) const |
Count the number of times a key exists in the hash map. More... | |
const mapped_type & | at (const key_type &key) const |
Index value associated with a key, throw exception if the key does not exist. More... | |
mapped_type & | at (const key_type &key) |
Index value associated with a key, throw exception if the key does not exist. More... | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
const_iterator | find (const key_type &key) const |
Index value associated with a key. More... | |
iterator | find (const key_type &key) |
Index value associated with a key. More... | |
void | erase (const iterator &position) |
Erase the entry associated with the iterator. More... | |
void | erase (const key_type &key) |
Erase the entry associated with the key, do nothing if not exists. More... | |
Public Member Functions inherited from mxnet::runtime::Object | |
uint32_t | type_index () const |
std::string | GetTypeKey () const |
size_t | GetTypeKeyHash () const |
template<typename TargetType > | |
bool | IsInstance () const |
Object () | |
Object (const Object &other) | |
Object (Object &&other) | |
Object & | operator= (const Object &other) |
Object & | operator= (Object &&other) |
Static Public Member Functions | |
static ObjectPtr< MapObj > | Empty () |
Create an empty container. More... | |
Static Public Member Functions inherited from mxnet::runtime::Object | |
static MXNET_DLL std::string | TypeIndex2Key (uint32_t tindex) |
Get the type key of the corresponding index from runtime. More... | |
static MXNET_DLL size_t | TypeIndex2KeyHash (uint32_t tindex) |
Get the type key hash of the corresponding index from runtime. More... | |
static MXNET_DLL uint32_t | TypeKey2Index (const std::string &key) |
Get the type index of the corresponding key from runtime. More... | |
static uint32_t | _GetOrAllocRuntimeTypeIndex () |
static uint32_t | RuntimeTypeIndex () |
Static Public Attributes | |
static constexpr const uint32_t | _type_index = runtime::TypeIndex::kMXNetMap |
static constexpr const char * | _type_key = "MXNet.Map" |
Static Public Attributes inherited from mxnet::runtime::Object | |
static constexpr const char * | _type_key = "Object" |
static constexpr bool | _type_final = false |
static constexpr uint32_t | _type_child_slots = 0 |
static constexpr bool | _type_child_slots_can_overflow = true |
static constexpr uint32_t | _type_index = TypeIndex::kDynamic |
Static Protected Member Functions | |
template<typename IterType > | |
static ObjectPtr< Object > | CreateFromRange (IterType first, IterType last) |
Create the map using contents from the given iterators. More... | |
static void | InsertMaybeReHash (const KVType &kv, ObjectPtr< Object > *map) |
InsertMaybeReHash an entry into the given hash map. More... | |
static ObjectPtr< MapObj > | CopyFrom (MapObj *from) |
Create an empty container with elements copying from another MapObj. More... | |
Static Protected Member Functions inherited from mxnet::runtime::Object | |
static MXNET_DLL uint32_t | GetOrAllocRuntimeTypeIndex (const std::string &key, uint32_t static_tindex, uint32_t parent_tindex, uint32_t type_child_slots, bool type_child_slots_can_overflow) |
Get the type index using type key. More... | |
Protected Attributes | |
ContainerType | data_ |
The real container storing data. More... | |
Protected Attributes inherited from mxnet::runtime::Object | |
uint32_t | type_index_ {0} |
Type index(tag) that indicates the type of the object. More... | |
RefCounterType | ref_counter_ {0} |
The internal reference counter. More... | |
FDeleter | deleter_ = nullptr |
deleter of this object to enable customized allocation. If the deleter is nullptr, no deletion will be performed. The creator of the object must always set the deleter field properly. More... | |
Friends | |
template<typename , typename , typename , typename > | |
class | Map |
Additional Inherited Members | |
Protected Member Functions inherited from mxnet::runtime::Object | |
void | IncRef () |
developer function, increases reference counter. More... | |
void | DecRef () |
developer function, decrease reference counter. More... | |
Shared content of all specializations of hash map.
using mxnet::runtime::MapObj::const_iterator = ContainerType::const_iterator |
Iterator class.
using mxnet::runtime::MapObj::ContainerType = std::unordered_map<ObjectRef, ObjectRef, ObjectRefHash, ObjectRefEqual> |
Type of the actual underlying container.
using mxnet::runtime::MapObj::iterator = ContainerType::iterator |
Iterator class.
Type of the keys in the hash map.
using mxnet::runtime::MapObj::KVType = ContainerType::value_type |
Type of value stored in the hash map.
Type of the values in the hash map.
|
inline |
Index value associated with a key, throw exception if the key does not exist.
key | The indexing key |
|
inline |
Index value associated with a key, throw exception if the key does not exist.
key | The indexing key |
|
inline |
|
inline |
Create an empty container with elements copying from another MapObj.
from | The source container |
|
inline |
Count the number of times a key exists in the hash map.
key | The indexing key |
|
inlinestaticprotected |
Create the map using contents from the given iterators.
first | Begin of iterator |
last | End of iterator |
IterType | The type of iterator |
Create an empty container.
|
inline |
|
inline |
|
inline |
Erase the entry associated with the iterator.
position | The iterator |
|
inline |
Erase the entry associated with the key, do nothing if not exists.
key | The indexing key |
Index value associated with a key.
key | The indexing key |
|
inline |
Index value associated with a key.
key | The indexing key |
|
inlinestaticprotected |
InsertMaybeReHash an entry into the given hash map.
kv | The entry to be inserted |
map | The pointer to the map, can be changed if re-hashing happens |
|
inline |
Number of elements in the MapObj.
|
friend |
|
staticconstexpr |
|
staticconstexpr |
|
protected |
The real container storing data.