QDP++
QDP::MapObjectMemory< K, V > Class Template Reference

A wrapper over maps. More...

#include <qdp_map_obj_memory.h>

Inheritance diagram for QDP::MapObjectMemory< K, V >:
QDP::MapObject< K, V >

Public Types

typedef K key_type
 Re-export these.
typedef V mapped_type
typedef std::pair< K, V > value_type
typedef MapObjectMemoryIterator< K, V > const_iterator
typedef std::unordered_map< std::string, value_typeMapType_t
 Map type convenience.

Public Member Functions

 MapObjectMemory ()
 Default constructor.
 ~MapObjectMemory ()
 Destructor.
int insertUserdata (const std::string &user_data_)
 Insert user data into the metadata database.
int getUserdata (std::string &user_data_) const
 Get user user data from the metadata database.
int insert (const K &key, const V &val)
 Insert.
template<typename InputIterator>
int insert (InputIterator first, InputIterator last)
 Insert from iterators.
int insert (const value_type &vv)
 Insert.
int get (const K &key, V &val) const
 Getter.
void erase (const K &key)
 Erase a key-value.
void clear ()
 Clear the object.
void flush ()
 Flush out state of object.
bool exist (const K &key) const
 Exists?
unsigned int size () const
 The number of elements.
void keys (std::vector< K > &_keys) const
 Dump keys.
virtual void keysAndValues (std::vector< K > &_keys, std::vector< V > &_vals) const
 Dump keys and values.
const V & operator[] (const K &key) const
 Getter.
V & operator[] (const K &key)
 Setter.
virtual const_iterator begin () const
 Begin loop over keys.
virtual const_iterator end () const
 End loop over keys.
Public Member Functions inherited from QDP::MapObject< K, V >
virtual ~MapObject ()
 Virtual Destructor.

Protected Attributes

MapType_t src_map
 Map of objects.
std::string user_data
 Metadata.

Detailed Description

template<typename K, typename V>
class QDP::MapObjectMemory< K, V >

A wrapper over maps.

Definition at line 66 of file qdp_map_obj_memory.h.

Member Typedef Documentation

◆ const_iterator

template<typename K, typename V>
typedef MapObjectMemoryIterator<K,V> QDP::MapObjectMemory< K, V >::const_iterator

Definition at line 73 of file qdp_map_obj_memory.h.

◆ key_type

template<typename K, typename V>
typedef K QDP::MapObjectMemory< K, V >::key_type

Re-export these.

Definition at line 70 of file qdp_map_obj_memory.h.

◆ mapped_type

template<typename K, typename V>
typedef V QDP::MapObjectMemory< K, V >::mapped_type

Definition at line 71 of file qdp_map_obj_memory.h.

◆ MapType_t

template<typename K, typename V>
typedef std::unordered_map<std::string, value_type> QDP::MapObjectMemory< K, V >::MapType_t

Map type convenience.

Definition at line 76 of file qdp_map_obj_memory.h.

◆ value_type

template<typename K, typename V>
typedef std::pair<K,V> QDP::MapObjectMemory< K, V >::value_type

Definition at line 72 of file qdp_map_obj_memory.h.

Constructor & Destructor Documentation

◆ MapObjectMemory()

template<typename K, typename V>
QDP::MapObjectMemory< K, V >::MapObjectMemory ( )
inline

Default constructor.

Definition at line 79 of file qdp_map_obj_memory.h.

◆ ~MapObjectMemory()

template<typename K, typename V>
QDP::MapObjectMemory< K, V >::~MapObjectMemory ( )
inline

Destructor.

Definition at line 82 of file qdp_map_obj_memory.h.

Member Function Documentation

◆ begin()

template<typename K, typename V>
virtual const_iterator QDP::MapObjectMemory< K, V >::begin ( ) const
inlinevirtual

Begin loop over keys.

Definition at line 238 of file qdp_map_obj_memory.h.

References src_map.

Referenced by QDP::write().

◆ clear()

template<typename K, typename V>
void QDP::MapObjectMemory< K, V >::clear ( )
inline

Clear the object.

Definition at line 165 of file qdp_map_obj_memory.h.

References src_map.

◆ end()

template<typename K, typename V>
virtual const_iterator QDP::MapObjectMemory< K, V >::end ( ) const
inlinevirtual

End loop over keys.

Definition at line 241 of file qdp_map_obj_memory.h.

References src_map.

Referenced by QDP::write().

◆ erase()

template<typename K, typename V>
void QDP::MapObjectMemory< K, V >::erase ( const K & key)
inline

Erase a key-value.

Definition at line 152 of file qdp_map_obj_memory.h.

References src_map, QDP::BinaryBufferWriter::str(), and QDP::write().

◆ exist()

template<typename K, typename V>
bool QDP::MapObjectMemory< K, V >::exist ( const K & key) const
inlinevirtual

Exists?

Implements QDP::MapObject< K, V >.

Definition at line 171 of file qdp_map_obj_memory.h.

References src_map, QDP::BinaryBufferWriter::str(), and QDP::write().

◆ flush()

template<typename K, typename V>
void QDP::MapObjectMemory< K, V >::flush ( )
inlinevirtual

Flush out state of object.

Implements QDP::MapObject< K, V >.

Definition at line 168 of file qdp_map_obj_memory.h.

◆ get()

template<typename K, typename V>
int QDP::MapObjectMemory< K, V >::get ( const K & key,
V & val ) const
inlinevirtual

Getter.

Implements QDP::MapObject< K, V >.

Definition at line 135 of file qdp_map_obj_memory.h.

References src_map, QDP::BinaryBufferWriter::str(), and QDP::write().

◆ getUserdata()

template<typename K, typename V>
int QDP::MapObjectMemory< K, V >::getUserdata ( std::string & user_data_) const
inlinevirtual

Get user user data from the metadata database.

Implements QDP::MapObject< K, V >.

Definition at line 92 of file qdp_map_obj_memory.h.

References user_data.

◆ insert() [1/3]

template<typename K, typename V>
int QDP::MapObjectMemory< K, V >::insert ( const K & key,
const V & val )
inlinevirtual

Insert.

Implements QDP::MapObject< K, V >.

Definition at line 99 of file qdp_map_obj_memory.h.

References insert().

Referenced by insert(), insert(), and QDP::read().

◆ insert() [2/3]

template<typename K, typename V>
int QDP::MapObjectMemory< K, V >::insert ( const value_type & vv)
inline

Insert.

Definition at line 115 of file qdp_map_obj_memory.h.

References src_map, QDP::BinaryBufferWriter::str(), and QDP::write().

◆ insert() [3/3]

template<typename K, typename V>
template<typename InputIterator>
int QDP::MapObjectMemory< K, V >::insert ( InputIterator first,
InputIterator last )
inline

Insert from iterators.

Definition at line 106 of file qdp_map_obj_memory.h.

References insert().

◆ insertUserdata()

template<typename K, typename V>
int QDP::MapObjectMemory< K, V >::insertUserdata ( const std::string & user_data_)
inlinevirtual

Insert user data into the metadata database.

Implements QDP::MapObject< K, V >.

Definition at line 85 of file qdp_map_obj_memory.h.

References user_data.

◆ keys()

template<typename K, typename V>
void QDP::MapObjectMemory< K, V >::keys ( std::vector< K > & _keys) const
inlinevirtual

Dump keys.

Implements QDP::MapObject< K, V >.

Definition at line 183 of file qdp_map_obj_memory.h.

References src_map.

◆ keysAndValues()

template<typename K, typename V>
virtual void QDP::MapObjectMemory< K, V >::keysAndValues ( std::vector< K > & _keys,
std::vector< V > & _vals ) const
inlinevirtual

Dump keys and values.

Definition at line 193 of file qdp_map_obj_memory.h.

References src_map.

◆ operator[]() [1/2]

template<typename K, typename V>
V & QDP::MapObjectMemory< K, V >::operator[] ( const K & key)
inline

Setter.

Definition at line 222 of file qdp_map_obj_memory.h.

References src_map, QDP::BinaryBufferWriter::str(), and QDP::write().

◆ operator[]() [2/2]

template<typename K, typename V>
const V & QDP::MapObjectMemory< K, V >::operator[] ( const K & key) const
inline

Getter.

Definition at line 206 of file qdp_map_obj_memory.h.

References src_map, QDP::BinaryBufferWriter::str(), and QDP::write().

◆ size()

template<typename K, typename V>
unsigned int QDP::MapObjectMemory< K, V >::size ( ) const
inlinevirtual

The number of elements.

Implements QDP::MapObject< K, V >.

Definition at line 180 of file qdp_map_obj_memory.h.

References src_map.

Member Data Documentation

◆ src_map

template<typename K, typename V>
MapType_t QDP::MapObjectMemory< K, V >::src_map
mutableprotected

Map of objects.

Definition at line 246 of file qdp_map_obj_memory.h.

Referenced by begin(), clear(), end(), erase(), exist(), get(), insert(), keys(), keysAndValues(), operator[](), operator[](), and size().

◆ user_data

template<typename K, typename V>
std::string QDP::MapObjectMemory< K, V >::user_data
protected

Metadata.

Definition at line 249 of file qdp_map_obj_memory.h.

Referenced by getUserdata(), and insertUserdata().


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