ROSE 0.11.145.192
|
Container associating values with keys.
This container is similar to the std::map
container in the standard template library, but with these differences in addition to those described in the documentation for the Sawyer::Container name space:
insertMaybe
methods.See also, HashMap.
Definition at line 72 of file Sawyer/Map.h.
#include <Sawyer/Map.h>
Classes | |
class | ConstKeyIterator |
Bidirectional iterator over keys. More... | |
class | ConstNodeIterator |
Bidirectional iterator over key/value nodes. More... | |
class | ConstValueIterator |
Bidirectional iterator over values. More... | |
class | Node |
Type for stored nodes. More... | |
class | NodeIterator |
Bidirectional iterator over key/value nodes. More... | |
class | ValueIterator |
Bidirectional iterator over values. More... | |
Public Types | |
typedef K | Key |
Type for keys. | |
typedef T | Value |
Type for values associated with each key. | |
typedef Cmp | Comparator |
Type of comparator, third template argument. | |
typedef Alloc | Allocator |
Type of allocator, fourth template argument. | |
Public Member Functions | |
Map () | |
Default constructor. | |
Map (const Comparator &comparator, const Allocator &allocator=Allocator()) | |
Constructs an empty map. | |
Map (const Map &other) | |
Copy constructor. | |
template<class Key2 , class T2 , class Cmp2 , class Alloc2 > | |
Map (const Map< Key2, T2, Cmp2, Alloc2 > &other) | |
Copy constructor. | |
Map & | operator= (const Map &other) |
template<class Key2 , class T2 , class Cmp2 , class Alloc2 > | |
Map & | operator= (const Map< Key2, T2, Cmp2, Alloc2 > &other) |
Make this map be a copy of another map. | |
bool | isEmpty () const |
Determines whether this container is empty. | |
size_t | size () const |
Number of nodes, keys, or values in this container. | |
Key | least () const |
Returns the minimum key. | |
Key | greatest () const |
Returns the maximum key. | |
Interval< Key > | hull () const |
Returns the range of keys in this map. | |
bool | exists (const Key &key) const |
Determine if a key exists. | |
Optional< Value > | getOptional (const Key &key) const |
Lookup and return a value or nothing. | |
const Value & | getOrDefault (const Key &key) const |
Lookup and return a value or a default. | |
Map & | insert (const Key &key, const Value &value) |
Insert or update a key/value pair. | |
Map & | insertDefault (const Key &key) |
Insert or update a key with a default value. | |
Value & | insertMaybe (const Key &key, const Value &value) |
Conditionally insert a new key/value pair. | |
Value & | insertMaybeDefault (const Key &key) |
Conditionally insert a new key with default value. | |
template<class OtherNodeIterator > | |
Map & | insertMaybeMultiple (const boost::iterator_range< OtherNodeIterator > &range) |
Conditionally insert multiple key/value pairs. | |
Map & | clear () |
Remove all nodes. | |
Map & | erase (const Key &key) |
Remove a node with specified key. | |
template<class OtherKeyIterator > | |
Map & | eraseMultiple (const boost::iterator_range< OtherKeyIterator > &range) |
Remove keys stored in another Map. | |
boost::iterator_range< NodeIterator > | nodes () |
Iterators for container nodes. | |
boost::iterator_range< ConstNodeIterator > | nodes () const |
Iterators for container nodes. | |
boost::iterator_range< ConstKeyIterator > | keys () |
Iterators for container keys. | |
boost::iterator_range< ConstKeyIterator > | keys () const |
Iterators for container keys. | |
boost::iterator_range< ValueIterator > | values () |
Iterators for container values. | |
boost::iterator_range< ConstValueIterator > | values () const |
Iterators for container values. | |
NodeIterator | find (const Key &key) |
Find a node by key. | |
ConstNodeIterator | find (const Key &key) const |
Find a node by key. | |
NodeIterator | lowerBound (const Key &key) |
Find a node close to a key. | |
ConstNodeIterator | lowerBound (const Key &key) const |
Find a node close to a key. | |
NodeIterator | upperBound (const Key &key) |
Find a node close to a key. | |
ConstNodeIterator | upperBound (const Key &key) const |
Find a node close to a key. | |
Value & | operator[] (const Key &key) |
Return a reference to an existing value. | |
const Value & | operator[] (const Key &key) const |
Return a reference to an existing value. | |
Value & | get (const Key &key) |
Lookup and return an existing value. | |
const Value & | get (const Key &key) const |
Lookup and return an existing value. | |
Value & | getOrElse (const Key &key, Value &dflt) |
Lookup and return a value or something else. | |
const Value & | getOrElse (const Key &key, const Value &dflt) const |
Lookup and return a value or something else. | |
template<class OtherNodeIterator > | |
Map & | insertMultiple (const OtherNodeIterator &begin, const OtherNodeIterator &end) |
Insert multiple values. | |
template<class OtherNodeIterator > | |
Map & | insertMultiple (const boost::iterator_range< OtherNodeIterator > &range) |
Insert multiple values. | |
Map & | eraseAt (const NodeIterator &iter) |
Remove a node by iterator. | |
Map & | eraseAt (const ConstKeyIterator &iter) |
Remove a node by iterator. | |
Map & | eraseAt (const ValueIterator &iter) |
Remove a node by iterator. | |
template<class Iter > | |
Map & | eraseAtMultiple (const Iter &begin, const Iter &end) |
Remove multiple nodes by iterator range. | |
template<class Iter > | |
Map & | eraseAtMultiple (const boost::iterator_range< Iter > &range) |
Remove multiple nodes by iterator range. | |
typedef K Sawyer::Container::Map< K, T, Cmp, Alloc >::Key |
Type for keys.
Definition at line 74 of file Sawyer/Map.h.
typedef T Sawyer::Container::Map< K, T, Cmp, Alloc >::Value |
Type for values associated with each key.
Definition at line 75 of file Sawyer/Map.h.
typedef Cmp Sawyer::Container::Map< K, T, Cmp, Alloc >::Comparator |
Type of comparator, third template argument.
Definition at line 76 of file Sawyer/Map.h.
typedef Alloc Sawyer::Container::Map< K, T, Cmp, Alloc >::Allocator |
Type of allocator, fourth template argument.
Definition at line 77 of file Sawyer/Map.h.
|
inline |
|
inlineexplicit |
Constructs an empty map.
This is like the default constructor, but a comparer and allocator can be specified.
Definition at line 337 of file Sawyer/Map.h.
|
inline |
Copy constructor.
Definition at line 341 of file Sawyer/Map.h.
|
inline |
Copy constructor.
Initializes the new map with copies of the nodes of the other
map. The keys and values must be convertible from the other map to this map.
Definition at line 350 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::nodes().
|
inline |
Definition at line 357 of file Sawyer/Map.h.
|
inline |
Make this map be a copy of another map.
The keys and values of the other
map must be convertible to the types used for this map.
Definition at line 368 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::clear(), and Sawyer::Container::Map< K, T, Cmp, Alloc >::nodes().
|
inline |
Iterators for container nodes.
This returns a range of node-iterators that will traverse all nodes (key/value pairs) of this container.
Definition at line 387 of file Sawyer/Map.h.
Referenced by Sawyer::Container::BiMap< S, T >::BiMap(), Sawyer::Container::Map< K, T, Cmp, Alloc >::Map(), Sawyer::Attribute::Storage< SyncTag >::attributeOrDefault(), Sawyer::Container::IntervalMap< I, T, Policy >::erase(), Sawyer::Container::DistinctList< T, Cmp >::erase(), Sawyer::Attribute::Storage< SyncTag >::getAttribute(), Sawyer::Container::IntervalMap< I, T, Policy >::nodes(), Sawyer::Container::IntervalMap< I, T, Policy >::nodes(), Sawyer::Container::Map< K, T, Cmp, Alloc >::operator=(), Sawyer::Attribute::Storage< SyncTag >::optionalAttribute(), Sawyer::Container::DistinctList< T, Cmp >::pushBack(), Sawyer::Container::DistinctList< T, Cmp >::pushFront(), Sawyer::Container::IntervalMap< I, T, Policy >::upperBound(), and Sawyer::Container::IntervalMap< I, T, Policy >::upperBound().
|
inline |
Iterators for container nodes.
This returns a range of node-iterators that will traverse all nodes (key/value pairs) of this container.
Definition at line 390 of file Sawyer/Map.h.
|
inline |
Iterators for container keys.
Returns a range of key-iterators that will traverse the keys of this container.
Definition at line 400 of file Sawyer/Map.h.
Referenced by Sawyer::Attribute::Storage< SyncTag >::attributeIds(), Sawyer::Container::Map< K, T, Cmp, Alloc >::eraseAt(), Sawyer::Container::IntervalMap< I, T, Policy >::greatest(), Sawyer::Container::IntervalMap< I, T, Policy >::intervals(), and Sawyer::Container::IntervalMap< I, T, Policy >::least().
|
inline |
Iterators for container keys.
Returns a range of key-iterators that will traverse the keys of this container.
Definition at line 403 of file Sawyer/Map.h.
|
inline |
Iterators for container values.
Returns a range of iterators that will traverse the user-defined values of this container. The values are iterated in key order, although the keys are not directly available via these iterators.
Definition at line 414 of file Sawyer/Map.h.
Referenced by Sawyer::Container::Algorithm::graphBreakCycles(), Sawyer::Container::IntervalMap< I, T, Policy >::values(), and Sawyer::Container::IntervalMap< I, T, Policy >::values().
|
inline |
Iterators for container values.
Returns a range of iterators that will traverse the user-defined values of this container. The values are iterated in key order, although the keys are not directly available via these iterators.
Definition at line 417 of file Sawyer/Map.h.
|
inline |
Determines whether this container is empty.
Returns true if the container is empty, and false if it has at least one node. This method executes in constant time.
Definition at line 431 of file Sawyer/Map.h.
Referenced by Sawyer::Container::Map< K, T, Cmp, Alloc >::greatest(), Sawyer::Container::Map< K, T, Cmp, Alloc >::hull(), Rose::BinaryAnalysis::RegisterParts::isEmpty(), Sawyer::Container::DistinctList< T, Cmp >::isEmpty(), Sawyer::Container::IntervalMap< I, T, Policy >::isEmpty(), and Sawyer::Container::Map< K, T, Cmp, Alloc >::least().
|
inline |
Number of nodes, keys, or values in this container.
Returns the number of nodes (elements) in this container. This method executes in constant time.
Definition at line 438 of file Sawyer/Map.h.
Referenced by Sawyer::Attribute::Storage< SyncTag >::attributeIds(), Rose::BinaryAnalysis::DataFlow::buildGraphPerVertex(), Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< G >::emitVertex(), Sawyer::Container::IntervalMap< I, T, Policy >::erase(), Sawyer::Container::Algorithm::graphBreakCycles(), Sawyer::Container::IntervalMap< I, T, Policy >::insert(), Sawyer::Attribute::Storage< SyncTag >::nAttributes(), Sawyer::Container::IntervalMap< I, T, Policy >::nIntervals(), Rose::BinaryAnalysis::Demangler::size(), and Sawyer::Container::DistinctList< T, Cmp >::size().
|
inline |
Returns the minimum key.
The map must not be empty.
Definition at line 443 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::isEmpty().
Referenced by Sawyer::Container::Map< K, T, Cmp, Alloc >::hull().
|
inline |
Returns the maximum key.
The map must not be empty.
Definition at line 449 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::isEmpty().
Referenced by Sawyer::Container::Map< K, T, Cmp, Alloc >::hull().
|
inline |
Returns the range of keys in this map.
The return value is an interval containing the least and greatest keys, inclusive. If the map is empty then an empty interval is returned.
This method is only defined when the map key type is appropriate for the Interval class template (such as when the keys are an integer type).
Definition at line 463 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::greatest(), Sawyer::Container::Interval< T >::hull(), Sawyer::Container::Map< K, T, Cmp, Alloc >::isEmpty(), and Sawyer::Container::Map< K, T, Cmp, Alloc >::least().
|
inline |
Find a node by key.
Looks for a node whose key is equal to the specified key
and returns an iterator to that node, or the end iterator if no such node exists. Two keys are considered equal if this container's Comparator object returns false reflexively. The method executes logorithmic time based on the number of nodes in the container.
Definition at line 480 of file Sawyer/Map.h.
Referenced by Sawyer::Attribute::Storage< SyncTag >::attributeOrDefault(), Sawyer::Container::DistinctList< T, Cmp >::erase(), Sawyer::Attribute::Storage< SyncTag >::getAttribute(), Sawyer::Attribute::Storage< SyncTag >::optionalAttribute(), Sawyer::Container::DistinctList< T, Cmp >::pushBack(), and Sawyer::Container::DistinctList< T, Cmp >::pushFront().
|
inline |
Find a node by key.
Looks for a node whose key is equal to the specified key
and returns an iterator to that node, or the end iterator if no such node exists. Two keys are considered equal if this container's Comparator object returns false reflexively. The method executes logorithmic time based on the number of nodes in the container.
Definition at line 483 of file Sawyer/Map.h.
|
inline |
Determine if a key exists.
Looks for a node whose key is equal to the specified key
and returns true if found, or false if no such node exists. Two keys are considered equal if this container's Comparator object returns false reflexively. The method executes in logorithmic time based on the number of nodes in the container.
Definition at line 493 of file Sawyer/Map.h.
Referenced by Sawyer::Container::BiMap< S, T >::BiMap(), Sawyer::Attribute::Storage< SyncTag >::attributeExists(), Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< G >::emit(), Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< G >::emitEdge(), Sawyer::Container::BiMap< S, T >::erase(), Sawyer::Container::BiMap< S, T >::eraseSource(), Sawyer::Container::BiMap< S, T >::eraseTarget(), Sawyer::Container::DistinctList< T, Cmp >::exists(), Rose::BinaryAnalysis::RegisterParts::existsAll(), Rose::BinaryAnalysis::RegisterParts::existsAny(), Sawyer::Container::DistinctList< T, Cmp >::position(), and Sawyer::Attribute::Storage< SyncTag >::setAttributeMaybe().
|
inline |
Find a node close to a key.
Finds the first node whose key is equal to or larger than the specified key and returns an iterator to that node. If no such node exists, then the end iterator is returned. The internal Comparator object is used to make the comparison. This method executes in logorithmic time based on the number of nodes in the container.
Definition at line 506 of file Sawyer/Map.h.
Referenced by Sawyer::Container::IntervalMap< I, T, Policy >::lowerBound(), and Sawyer::Container::IntervalMap< I, T, Policy >::lowerBound().
|
inline |
Find a node close to a key.
Finds the first node whose key is equal to or larger than the specified key and returns an iterator to that node. If no such node exists, then the end iterator is returned. The internal Comparator object is used to make the comparison. This method executes in logorithmic time based on the number of nodes in the container.
Definition at line 509 of file Sawyer/Map.h.
|
inline |
Find a node close to a key.
Finds the first node whose key is larger than the specified key and returns an iterator to that node. If no such node exists, then the end iterator is returned. The internal Comparator object is used to make the comparison. This method executes in logorithmic time based on the number of nodes in the container.
Definition at line 523 of file Sawyer/Map.h.
Referenced by Sawyer::Container::IntervalMap< I, T, Policy >::upperBound(), and Sawyer::Container::IntervalMap< I, T, Policy >::upperBound().
|
inline |
Find a node close to a key.
Finds the first node whose key is larger than the specified key and returns an iterator to that node. If no such node exists, then the end iterator is returned. The internal Comparator object is used to make the comparison. This method executes in logorithmic time based on the number of nodes in the container.
Definition at line 526 of file Sawyer/Map.h.
|
inline |
Return a reference to an existing value.
Returns a reference to the value at the node with the specified key
. Unlike std::map
, this container does not instantiate a new key/value pair if the key
is not in the map's domain. In other words, the array operator for this class is more like an array operator on arrays or vectors–such objects are not automatically extended if dereferenced with an operand that is outside the domain.
If the key
is not part of this map's domain then an std:domain_error
is thrown.
Definition at line 549 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::get().
|
inline |
Return a reference to an existing value.
Returns a reference to the value at the node with the specified key
. Unlike std::map
, this container does not instantiate a new key/value pair if the key
is not in the map's domain. In other words, the array operator for this class is more like an array operator on arrays or vectors–such objects are not automatically extended if dereferenced with an operand that is outside the domain.
If the key
is not part of this map's domain then an std:domain_error
is thrown.
Definition at line 552 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::get().
|
inline |
Lookup and return an existing value.
Returns a reference to the value at the node with the specified key
, which must exist. If the key
is not part of this map's domain then an std:domain_error
is thrown.
Definition at line 565 of file Sawyer/Map.h.
Referenced by Sawyer::Container::Map< K, T, Cmp, Alloc >::operator[](), and Sawyer::Container::Map< K, T, Cmp, Alloc >::operator[]().
|
inline |
Lookup and return an existing value.
Returns a reference to the value at the node with the specified key
, which must exist. If the key
is not part of this map's domain then an std:domain_error
is thrown.
Definition at line 571 of file Sawyer/Map.h.
|
inline |
Lookup and return a value or nothing.
Looks up the node with the specified key and returns either a copy of its value, or nothing. This method executes in logorithmic time.
Here's an example of one convenient way to use this:
The equivalent STL approach is:
Definition at line 602 of file Sawyer/Map.h.
Referenced by Sawyer::Attribute::Storage< SyncTag >::attributeOrElse(), Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< G >::emitVertex(), Sawyer::Attribute::Storage< SyncTag >::getAttribute(), Sawyer::Attribute::Storage< SyncTag >::getAttributeMaybe(), and Sawyer::Container::GraphBimapIndex< VertexOrEdgeKey, VertexOrEdgeConstIterator >::lookup().
|
inline |
Lookup and return a value or something else.
This is similar to the get method, except a default can be provided. If a node with the specified key
is present in this container, then a reference to that node's value is returned, otherwise the (reference to) supplied default is returned.
Definition at line 614 of file Sawyer/Map.h.
|
inline |
Lookup and return a value or something else.
This is similar to the get method, except a default can be provided. If a node with the specified key
is present in this container, then a reference to that node's value is returned, otherwise the (reference to) supplied default is returned.
Definition at line 618 of file Sawyer/Map.h.
|
inline |
Lookup and return a value or a default.
This is similar to the getOrElse method except when the key is not present in the map, a reference to a const, default-constructed value is returned.
Definition at line 629 of file Sawyer/Map.h.
Referenced by Sawyer::CommandLine::ParserResult::have(), and Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< G >::subgraphOrganization().
|
inline |
Insert or update a key/value pair.
Inserts the key/value pair into the container. If a previous node already had the same key then it is replaced by the new node. This method executes in logorithmic time.
Definition at line 646 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::insert().
Referenced by Sawyer::Container::BiMap< S, T >::BiMap(), Rose::Color::Gradient::Gradient(), Rose::Color::Gradient::Gradient(), Rose::Color::Gradient::Gradient(), Sawyer::MultiInstanceTls< T >::MultiInstanceTls(), Sawyer::MultiInstanceTls< T >::MultiInstanceTls(), Rose::BinaryAnalysis::DataFlow::buildGraphPerVertex(), Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< G >::emit(), Sawyer::Container::IntervalMap< I, T, Policy >::erase(), Sawyer::Container::Algorithm::graphBreakCycles(), Sawyer::Container::Map< K, T, Cmp, Alloc >::insert(), Sawyer::Container::BiMap< S, T >::insert(), Sawyer::Container::GraphBimapIndex< VertexOrEdgeKey, VertexOrEdgeConstIterator >::insert(), Rose::Color::Gradient::insert(), Sawyer::Container::IntervalMap< I, T, Policy >::insert(), Sawyer::Container::Map< K, T, Cmp, Alloc >::insertMultiple(), Sawyer::MultiInstanceTls< T >::operator=(), Sawyer::Container::DistinctList< T, Cmp >::pushBack(), Sawyer::Container::DistinctList< T, Cmp >::pushFront(), Sawyer::Attribute::Storage< SyncTag >::setAttribute(), Sawyer::Attribute::Storage< SyncTag >::setAttributeMaybe(), and Sawyer::CommandLine::EnumParser< T >::with().
|
inline |
Insert or update a key with a default value.
The value associated with key
in the map is replaced with a default-constructed value. If the key does not exist then it is inserted with a default value. This operation is similar to the array operator of std::map
.
Definition at line 659 of file Sawyer/Map.h.
|
inline |
Insert multiple values.
Inserts copies of the nodes in the specified node iterator range. The iterators must iterate over objects that have key
and value
methods that return keys and values that are convertible to the types used by this container.
The normal way to insert the contents of one map into another is:
Definition at line 682 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::insert().
Referenced by Sawyer::Container::IntervalMap< I, T, Policy >::erase(), and Sawyer::Container::Map< K, T, Cmp, Alloc >::insertMultiple().
|
inline |
Insert multiple values.
Inserts copies of the nodes in the specified node iterator range. The iterators must iterate over objects that have key
and value
methods that return keys and values that are convertible to the types used by this container.
The normal way to insert the contents of one map into another is:
Definition at line 688 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::insertMultiple().
|
inline |
Conditionally insert a new key/value pair.
Inserts the key/value pair into the container if the container does not yet have a node with the same key. This method executes in logarithmic time. The return value is a reference to the value that is in the container, either the value that previously existed or a copy of the specified value
.
Definition at line 700 of file Sawyer/Map.h.
Referenced by Sawyer::Container::Map< K, T, Cmp, Alloc >::insertMaybeMultiple(), and SgAsmType::registerOrDelete().
|
inline |
Conditionally insert a new key with default value.
Inserts a key/value pair into the container if the container does not yet have a node with the same key. The value is default-constructed. This method executes in logarithmic time. The return value is a reference to the value that is in the container, either the value that previously existed or the new default-constructed value.
Definition at line 711 of file Sawyer/Map.h.
Referenced by Sawyer::MultiInstanceTls< T >::get(), Sawyer::MultiInstanceTls< T >::get(), Rose::BinaryAnalysis::RegisterParts::insert(), Sawyer::MultiInstanceTls< T >::operator T(), and Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< G >::subgraphOrganization().
|
inline |
Conditionally insert multiple key/value pairs.
Inserts each of the specified key/value pairs into this container where this container does not already contain a value for the key. The return value is a reference to the container itself so that this method can be chained with others.
Definition at line 722 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::insertMaybe().
|
inline |
Remove all nodes.
All nodes are removed from this container. This method executes in linear time in the number of nodes in this container.
Definition at line 732 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::clear().
Referenced by Rose::BinaryAnalysis::Demangler::clear(), Rose::BinaryAnalysis::RegisterParts::clear(), Rose::Color::Gradient::clear(), Sawyer::Container::BiMap< S, T >::clear(), Sawyer::Container::DistinctList< T, Cmp >::clear(), Sawyer::Container::GraphBimapIndex< VertexOrEdgeKey, VertexOrEdgeConstIterator >::clear(), Sawyer::Container::IntervalMap< I, T, Policy >::clear(), Sawyer::Container::Map< K, T, Cmp, Alloc >::clear(), Sawyer::Attribute::Storage< SyncTag >::clearAttributes(), Rose::BinaryAnalysis::Partitioner2::GraphViz::BaseEmitter< G >::graph(), Sawyer::Container::Map< K, T, Cmp, Alloc >::operator=(), and Rose::BinaryAnalysis::BestMapAddress::reset().
|
inline |
Remove a node with specified key.
Removes the node whose key is equal to the specified key, or does nothing if no such node exists. Two keys are considered equal if this container's Comparator object returns false reflexively. The method executes in logorithmic time based on the number of nodes in the container.
Definition at line 744 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::erase().
Referenced by Sawyer::Container::Map< K, T, Cmp, Alloc >::erase(), Sawyer::Container::BiMap< S, T >::erase(), Sawyer::Container::GraphBimapIndex< VertexOrEdgeKey, VertexOrEdgeConstIterator >::erase(), Sawyer::Container::Map< K, T, Cmp, Alloc >::eraseAt(), Sawyer::Container::Map< K, T, Cmp, Alloc >::eraseAt(), Sawyer::Container::Map< K, T, Cmp, Alloc >::eraseAtMultiple(), Sawyer::Container::Map< K, T, Cmp, Alloc >::eraseAtMultiple(), Sawyer::Attribute::Storage< SyncTag >::eraseAttribute(), Sawyer::Container::Map< K, T, Cmp, Alloc >::eraseMultiple(), Sawyer::Container::BiMap< S, T >::eraseSource(), Sawyer::Container::BiMap< S, T >::eraseTarget(), Sawyer::Container::DistinctList< T, Cmp >::popBack(), and Sawyer::Container::DistinctList< T, Cmp >::popFront().
|
inline |
Remove keys stored in another Map.
All nodes of this container whose keys are equal to any key in the other
container are removed from this container. The keys of the other container must be convertible to the types used by this container, and two keys are considered equal if this container's Comparator object returns false reflexively. The method executes in N log(N+M) time.
Definition at line 758 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::erase().
|
inline |
Remove a node by iterator.
Removes the node referenced by iter
. The iterator must reference a valid node in this container.
Definition at line 771 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::erase().
Referenced by Sawyer::Container::DistinctList< T, Cmp >::erase(), and Sawyer::Container::IntervalMap< I, T, Policy >::insert().
|
inline |
Remove a node by iterator.
Removes the node referenced by iter
. The iterator must reference a valid node in this container.
Definition at line 775 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::keys().
|
inline |
Remove a node by iterator.
Removes the node referenced by iter
. The iterator must reference a valid node in this container.
Definition at line 783 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::erase().
|
inline |
Remove multiple nodes by iterator range.
The iterator range must contain iterators that point into this container.
Definition at line 797 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::erase().
Referenced by Sawyer::Container::IntervalMap< I, T, Policy >::erase().
|
inline |
Remove multiple nodes by iterator range.
The iterator range must contain iterators that point into this container.
Definition at line 802 of file Sawyer/Map.h.
References Sawyer::Container::Map< K, T, Cmp, Alloc >::erase().