VectorMap
template <class K, class T, class HashFn = StdHash<K> > class VectorMap
K Type of keys. K must have deep copy constructor, be moveable and must have operator== defined.
T Type of elements stored in Vector. T is required to be moveable and must have either deep copy constructor, pick constructor or default constructor.
HashFn Hashing class. Must have defined unsigned operator()(const K& x) method returning hash value for elements.
Base classes
AMap< K, T, Vector<T>, HashFn >
Vector flavor of map. Inherits most of its functionality from AMap and adds only members specific for its flavor.
Like any other NTL container, VectorMap is moveable type with pick and optional deep copy transfer semantics. Calling methods of picked VectorMap is logic error with exception of
void operator=(pick_ VectorMap& v) (defined by composition)
void operator<<=(const AMap& v) (defined in AMap)
void Clear()
bool IsPicked() const
Optional deep copy operator is inherited from AMap class. Pick operator is implicitly defined by composition.
Members
T Pop()
Drops last element of VectorMap and returns its value.
|
Return value |
Value of dropped element. |
VectorMap(const VectorMap& s, int)
Optional deep copy constructor.
Requires T to have deep copy constructor or optional deep copy constructor.
VectorMap(pick_ Index<K>& ndx, pick_ Vector<T>& val)
Pick-constructs VectorMap from Index of keys and Vector of values. Both source containers should have the same number of elements.
VectorMap(pick_ Vector<K>& ndx, pick_ Vector<T>& val)
Pick-constructs VectorMap from Vector of keys and Vector of values. Both source containers should have the same number of elements.
|
ndx |
Source Vector of keys. |
|
val |
Source Vector of values. |
VectorMap()
Default constructor. Constructs empty VectorMap.
|