Apama
10.2.0.3
|
A map class which implements many of the functions on std::map. More...
#include <sag_connectivity_cpp.hpp>
Classes | |
struct | _iterator |
Forward/reverse and const/non-const iterators are implemented using this class. More... | |
Public Types | |
typedef _iterator< data_t, sag_underlying_map_table_entry_t *, pair< data_t > > | iterator |
The type of iterators on mutable maps. More... | |
typedef _iterator< const data_t, sag_underlying_map_table_entry_t const *, const pair< const data_t > > | const_iterator |
The type of iterators on const maps. More... | |
typedef pair< data_t > | element |
The type of an element in a mutable map. More... | |
typedef pair< const data_t > | const_element |
The type of an element in a const map. More... | |
typedef std::pair< data_t, data_t > | insertion_t |
The type of an element to be inserted into a map. More... | |
Public Member Functions | |
map_t () | |
Construct an empty map. More... | |
map_t (size_t n, const char *name=nullptr) | |
Construct a map with (at least) capacity for n items and optional name. More... | |
map_t (const char *name) | |
Construct an empty map with a name. More... | |
~map_t () | |
Free the underlying map contents. More... | |
map_t & | operator= (map_t &&other) |
Move assignment. More... | |
map_t (map_t &&other) | |
Move constructor. More... | |
map_t (std::initializer_list< std::pair< data_t, data_t >> l) | |
Initializer list construction, for example map_t{ std::make_pair(data_t{"key1"},data_t{"val1"}), std::make_pair(data_t{"key2"},data_t{"val2"}) } More... | |
void | swap (map_t &&other) |
Swap the contents of this map and other. More... | |
void | swapName (map_t &&other) |
Swap the name of this map and other. More... | |
map_t | copy () const |
Return a deep copy of this map. More... | |
void | setName (const char *name) |
Set the optional name of this map. More... | |
const char * | getName () const |
Get the optional name of this map. More... | |
bool | operator== (const map_t &other) const |
Returns true if this map deep-equals other. More... | |
bool | operator!= (const map_t &other) const |
Returns false if this map deep-equals other. More... | |
iterator | begin () |
Forward iterator begin. More... | |
iterator | end () |
Forward iterator end. More... | |
const_iterator | begin () const |
Forward const_iterator begin. More... | |
const_iterator | end () const |
Forward const_iterator end. More... | |
const_iterator | cbegin () const |
Forward const_iterator begin. More... | |
const_iterator | cend () const |
Forward const_iterator end. More... | |
size_t | size () const |
Returns the number of key/value pairs in the map. More... | |
bool | empty () const |
Returns true if the map is empty (size() == 0) More... | |
data_t & | operator[] (data_t &&k) |
Return a reference to the item with the given key. More... | |
data_t & | operator[] (const data_t &k) |
Return a reference to the item with the given key. More... | |
const data_t & | operator[] (const data_t &k) const |
Return a reference to the item with the given key. More... | |
iterator | find (const data_t &k) |
Searches the map for an item with the given key and returns an iterator to that position in the map. More... | |
const_iterator | find (const data_t &k) const |
Searches the map for an item with the given key and returns an iterator to that position in the map. More... | |
std::pair< iterator, bool > | insert (insertion_t &&v) |
Insert a new key/value pair into the map. More... | |
std::pair< iterator, bool > | insert (data_t &&k, data_t &&v) |
Insert a new key/value pair into the map. More... | |
size_t | erase (const data_t &k) |
Remove the item with the specified key. More... | |
void | erase (iterator it) |
Erase the item pointed to by this iterator. More... | |
void | clear () |
Empty the map, clean the name and free the underlying data. More... | |
A map class which implements many of the functions on std::map.
This is an unordered map that can be named.
We don't guarantee exact method-for-method compatibility with any of the std types.
This class gives access methods to a map from data_t to data_t.
This is moveable, but not implicitly copyable. If you want to copy it use the .copy() method. If you want to move it use std::move().
No underlying implementation of the map is guaranteed. Modifying the contents will invalidate any iterators you have and any references that you have to the underlying structure.
typedef pair<const data_t> com::softwareag::connectivity::map_t::const_element |
The type of an element in a const map.
typedef _iterator<const data_t, sag_underlying_map_table_entry_t const *, const pair<const data_t> > com::softwareag::connectivity::map_t::const_iterator |
The type of iterators on const maps.
typedef pair<data_t> com::softwareag::connectivity::map_t::element |
The type of an element in a mutable map.
typedef std::pair<data_t, data_t> com::softwareag::connectivity::map_t::insertion_t |
The type of an element to be inserted into a map.
typedef _iterator<data_t, sag_underlying_map_table_entry_t *, pair<data_t> > com::softwareag::connectivity::map_t::iterator |
The type of iterators on mutable maps.
|
inline |
Construct an empty map.
|
explicit |
Construct a map with (at least) capacity for n items and optional name.
|
inlineexplicit |
Construct an empty map with a name.
|
inline |
Free the underlying map contents.
|
inline |
Move constructor.
Other will be left as the empty map
|
inline |
Forward iterator begin.
|
inline |
Forward const_iterator begin.
|
inline |
Forward const_iterator begin.
|
inline |
Forward const_iterator end.
void com::softwareag::connectivity::map_t::clear | ( | ) |
Empty the map, clean the name and free the underlying data.
|
inline |
Return a deep copy of this map.
|
inline |
Returns true if the map is empty (size() == 0)
|
inline |
Forward iterator end.
|
inline |
Forward const_iterator end.
size_t com::softwareag::connectivity::map_t::erase | ( | const data_t & | k | ) |
Remove the item with the specified key.
Returns the number of items removed (always 1)
void com::softwareag::connectivity::map_t::erase | ( | iterator | it | ) |
Erase the item pointed to by this iterator.
If the iterator is end() this is a noop.
Searches the map for an item with the given key and returns an iterator to that position in the map.
If it is not found will return end().
const_iterator com::softwareag::connectivity::map_t::find | ( | const data_t & | k | ) | const |
Searches the map for an item with the given key and returns an iterator to that position in the map.
If it is not found will return end().
|
inline |
Get the optional name of this map.
Can return nullptr.
std::pair<iterator, bool> com::softwareag::connectivity::map_t::insert | ( | insertion_t && | v | ) |
Insert a new key/value pair into the map.
If the key already exists then the map is not modified and an iterator to the existing item is returned. Returns pair<iterator, bool> where the iterator points to the item with the given key and the boolean is true if the map needed to be modified with the new pair.
This is a move operator from the data_ts, so they will be left in the empty state. If you do not want this, use .copy(), otherwise use std::move
|
inline |
Insert a new key/value pair into the map.
If the key already exists then the map is not modified and an iterator to the existing item is returned. Returns pair<iterator, bool> where the iterator points to the item with the given key and the boolean is true if the map needed to be modified with the new pair.
This is a move operator from the data_ts, so they will be left in the empty state. If you do not want this, use .copy(), otherwise use std::move
|
inline |
Returns false if this map deep-equals other.
Move assignment.
Other will be left as the empty map and our previous contents will be freed.
|
inline |
Returns true if this map deep-equals other.
Return a reference to the item with the given key.
If k is not in the map then it inserts it and returns a reference to that
Return a reference to the item with the given key.
If k is not in the map then it inserts it and returns a reference to that
Return a reference to the item with the given key.
If k is not in the map then throws std::runtime_error
|
inline |
Set the optional name of this map.
nullptr to undefine
|
inline |
Returns the number of key/value pairs in the map.
|
inline |
Swap the contents of this map and other.
|
inline |
Swap the name of this map and other.