tvm
Loading...
Searching...
No Matches
Public Member Functions | List of all members
tvm::support::OrderedMap< K, V, Hash, KeyEqual > Class Template Reference

An STL-like map that preserves insertion order. More...

#include <ordered_map.h>

Collaboration diagram for tvm::support::OrderedMap< K, V, Hash, KeyEqual >:

Public Member Functions

 OrderedMap ()=default
 
 OrderedMap (const OrderedMap< K, V, Hash, KeyEqual > &other)
 
OrderedMap & operator= (const OrderedMap< K, V, Hash, KeyEqual > &other)
 
 OrderedMap (OrderedMap< K, V, Hash, KeyEqual > &&)=default
 
OrderedMap & operator= (OrderedMap< K, V, Hash, KeyEqual > &&)=default
 
template<typename Iter >
 OrderedMap (Iter begin, Iter end)
 
auto find (const K &k)
 
auto find (const K &k) const
 
V & operator[] (const K &k)
 
void insert (const K &k, V v)
 
void clear ()
 
size_t count (const K &k) const
 
auto begin () const
 
auto end () const
 
auto begin ()
 
auto end ()
 
size_t size () const
 
bool empty () const
 
void reserve (size_t n)
 

Detailed Description

template<typename K, typename V, typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
class tvm::support::OrderedMap< K, V, Hash, KeyEqual >

An STL-like map that preserves insertion order.

Template Parameters
KThe key type.
VThe value type.
HashThe hash function.
KeyEqualThe key equality function.
Note
we don't support erase since it is less needed and vector backing is more efficient.

Constructor & Destructor Documentation

◆ OrderedMap() [1/4]

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
tvm::support::OrderedMap< K, V, Hash, KeyEqual >::OrderedMap ( )
default

◆ OrderedMap() [2/4]

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
tvm::support::OrderedMap< K, V, Hash, KeyEqual >::OrderedMap ( const OrderedMap< K, V, Hash, KeyEqual > &  other)
inline

◆ OrderedMap() [3/4]

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
tvm::support::OrderedMap< K, V, Hash, KeyEqual >::OrderedMap ( OrderedMap< K, V, Hash, KeyEqual > &&  )
default

◆ OrderedMap() [4/4]

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
template<typename Iter >
tvm::support::OrderedMap< K, V, Hash, KeyEqual >::OrderedMap ( Iter  begin,
Iter  end 
)
inline

Member Function Documentation

◆ begin() [1/2]

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
auto tvm::support::OrderedMap< K, V, Hash, KeyEqual >::begin ( )
inline

◆ begin() [2/2]

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
auto tvm::support::OrderedMap< K, V, Hash, KeyEqual >::begin ( ) const
inline

◆ clear()

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
void tvm::support::OrderedMap< K, V, Hash, KeyEqual >::clear ( )
inline

◆ count()

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
size_t tvm::support::OrderedMap< K, V, Hash, KeyEqual >::count ( const K &  k) const
inline

◆ empty()

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
bool tvm::support::OrderedMap< K, V, Hash, KeyEqual >::empty ( ) const
inline

◆ end() [1/2]

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
auto tvm::support::OrderedMap< K, V, Hash, KeyEqual >::end ( )
inline

◆ end() [2/2]

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
auto tvm::support::OrderedMap< K, V, Hash, KeyEqual >::end ( ) const
inline

◆ find() [1/2]

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
auto tvm::support::OrderedMap< K, V, Hash, KeyEqual >::find ( const K &  k)
inline

◆ find() [2/2]

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
auto tvm::support::OrderedMap< K, V, Hash, KeyEqual >::find ( const K &  k) const
inline

◆ insert()

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
void tvm::support::OrderedMap< K, V, Hash, KeyEqual >::insert ( const K &  k,
V  v 
)
inline

◆ operator=() [1/2]

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
OrderedMap & tvm::support::OrderedMap< K, V, Hash, KeyEqual >::operator= ( const OrderedMap< K, V, Hash, KeyEqual > &  other)
inline

◆ operator=() [2/2]

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
OrderedMap & tvm::support::OrderedMap< K, V, Hash, KeyEqual >::operator= ( OrderedMap< K, V, Hash, KeyEqual > &&  )
default

◆ operator[]()

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
V & tvm::support::OrderedMap< K, V, Hash, KeyEqual >::operator[] ( const K &  k)
inline

◆ reserve()

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
void tvm::support::OrderedMap< K, V, Hash, KeyEqual >::reserve ( size_t  n)
inline

◆ size()

template<typename K , typename V , typename Hash = std::hash<K>, typename KeyEqual = std::equal_to<K>>
size_t tvm::support::OrderedMap< K, V, Hash, KeyEqual >::size ( ) const
inline

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