Go to the documentation of this file.
21 #ifndef __MapPtr_hpp__
22 #define __MapPtr_hpp__
27 #include <unordered_map>
38 template<
template<
class,
class>
class Container,
class Key,
class T >
48 using keyType =
typename mapType::key_type;
62 template<
typename... Args>
65 return std::make_unique(std::forward<Args>(args)...);
119 return makeUnique<MapPtrType>(*
this);
144 template<
typename... Args>
157 template<
typename... Args>
173 std::pair<const T*, bool>
find(
const keyType& k)
const;
225 template<
typename key,
typename T>
229 template<
typename key,
typename T>
243 return os<<
"wordHashMapPtr is empty"<<
endl;
245 for(
const auto iter :
m )
247 os << iter->first<<
endl;
254 inline iOstream&
printKeys(iOstream& os,
const wordOrderedMapPtr<T> &
m)
257 return os<<
"wordOrderedMapPtr is empty"<<
endl;
259 for(
const auto iter :
m )
261 os << iter->first<<
endl;
MapPtrType * clonePtr() const
std::pair< const T *, bool > find(const keyType &k) const
static uniquePtr< T > makeSafe(Args &&... args)
constIterator begin() const
uniquePtr< MapPtrType > clone() const
typename mapType::reference reference
T & operator[](const keyType &key)
constIterator end() const
uniquePtr< T > release(const keyType &k)
bool insertReplaceSafe(const keyType &key, Args &&... args)
T * findPtr(const keyType &k)
iOstream & printKeys(iOstream &os, const wordHashMap< T > &m)
iOstream & endl(iOstream &os)
Add newline and flush stream.
typename mapType::const_iterator constIterator
typename mapType::value_type valueType
bool copy(const MapPtrType &src)
T * set(const keyType &key, T *ptr)
MapPtrType & operator=(const MapPtrType &rhs)
typename mapType::mapped_type mappedType
MapPtr< Container, Key, T > MapPtrType
typename mapType::const_reference constReference
TypeInfoTemplateNV11("MapPtr", Key)
typename mapType::key_type keyType
void erase(const keyType &key)
typename mapType::iterator iterator
Container< Key, T * > map_
bool search(const keyType k) const
Interface class for any output stream.
bool insertReplace(const keyType &key, T *ptr)
uniquePtr< T > setSafe(const keyType &key, Args &&... args)