Quick Links: |
#include <bslstl_map.h>
Classes | |
class | DataWrapper |
class | value_compare |
Public Types | |
typedef KEY | key_type |
typedef VALUE | mapped_type |
typedef pair< const KEY, VALUE > | value_type |
typedef COMPARATOR | key_compare |
typedef ALLOCATOR | allocator_type |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef AllocatorTraits::size_type | size_type |
typedef AllocatorTraits::difference_type | difference_type |
typedef AllocatorTraits::pointer | pointer |
typedef AllocatorTraits::const_pointer | const_pointer |
typedef BloombergLP::bslstl::TreeIterator < value_type, Node, difference_type > | iterator |
typedef BloombergLP::bslstl::TreeIterator < const value_type, Node, difference_type > | const_iterator |
typedef bsl::reverse_iterator < iterator > | reverse_iterator |
typedef bsl::reverse_iterator < const_iterator > | const_reverse_iterator |
Public Member Functions | |
map () | |
map (const COMPARATOR &comparator, const ALLOCATOR &basicAllocator=ALLOCATOR()) | |
map (const ALLOCATOR &basicAllocator) | |
map (const map &original) | |
map (BloombergLP::bslmf::MovableRef< map > original) | |
map (const map &original, const typename type_identity< ALLOCATOR >::type &basicAllocator) | |
map (BloombergLP::bslmf::MovableRef< map > original, const typename type_identity< ALLOCATOR >::type &basicAllocator) | |
template<class INPUT_ITERATOR > | |
map (INPUT_ITERATOR first, INPUT_ITERATOR last, const COMPARATOR &comparator=COMPARATOR(), const ALLOCATOR &basicAllocator=ALLOCATOR()) | |
template<class INPUT_ITERATOR > | |
map (INPUT_ITERATOR first, INPUT_ITERATOR last, const ALLOCATOR &basicAllocator) | |
map (std::initializer_list< value_type > values, const COMPARATOR &comparator=COMPARATOR(), const ALLOCATOR &basicAllocator=ALLOCATOR()) | |
map (std::initializer_list< value_type > values, const ALLOCATOR &basicAllocator) | |
~map () | |
map & | operator= (const map &rhs) |
map &operator=(BloombergLP::bslmf::MovableRef < map > rhs) BSLS_KEYWORD_NOEXCEPT_SPECIFICATION(AllocatorTraits map & | operator= (std::initializer_list< value_type > values) |
add_lvalue_reference< VALUE >::type | operator[] (const key_type &key) |
add_lvalue_reference< VALUE >::type | operator[] (BloombergLP::bslmf::MovableRef< key_type > key) |
add_lvalue_reference< VALUE >::type | at (const key_type &key) |
iterator | begin () BSLS_KEYWORD_NOEXCEPT |
iterator | end () BSLS_KEYWORD_NOEXCEPT |
reverse_iterator | rbegin () BSLS_KEYWORD_NOEXCEPT |
reverse_iterator | rend () BSLS_KEYWORD_NOEXCEPT |
pair< iterator, bool > | insert (const value_type &value) |
pair< iterator, bool > | insert (BloombergLP::bslmf::MovableRef< value_type > value) |
template<class ALT_VALUE_TYPE > | |
enable_if< is_convertible < ALT_VALUE_TYPE, value_type > ::value, pair< iterator, bool > >::type | insert (BSLS_COMPILERFEATURES_FORWARD_REF(ALT_VALUE_TYPE) value) |
iterator | insert (const_iterator hint, const value_type &value) |
iterator | insert (const_iterator hint, BloombergLP::bslmf::MovableRef< value_type > value) |
template<class ALT_VALUE_TYPE > | |
enable_if< is_convertible < ALT_VALUE_TYPE, value_type > ::value, iterator >::type | insert (const_iterator hint, BSLS_COMPILERFEATURES_FORWARD_REF(ALT_VALUE_TYPE) value) |
template<class INPUT_ITERATOR > | |
void | insert (INPUT_ITERATOR first, INPUT_ITERATOR last) |
void | insert (std::initializer_list< value_type > values) |
template<class BDE_OTHER_TYPE > | |
pair< iterator, bool > | insert_or_assign (const KEY &key, BDE_OTHER_TYPE &&obj) |
template<class BDE_OTHER_TYPE > | |
pair< iterator, bool > | insert_or_assign (BloombergLP::bslmf::MovableRef< KEY > key, BDE_OTHER_TYPE &&obj) |
template<class BDE_OTHER_TYPE > | |
iterator | insert_or_assign (const_iterator hint, const KEY &key, BDE_OTHER_TYPE &&obj) |
template<class BDE_OTHER_TYPE > | |
iterator | insert_or_assign (const_iterator hint, BloombergLP::bslmf::MovableRef< KEY > key, BDE_OTHER_TYPE &&obj) |
template<class... Args> | |
pair< iterator, bool > | emplace (Args &&...args) |
template<class... Args> | |
iterator | emplace_hint (const_iterator hint, Args &&...args) |
iterator | erase (const_iterator position) |
iterator | erase (iterator position) |
size_type | erase (const key_type &key) |
iterator | erase (const_iterator first, const_iterator last) |
template<class... Args> | |
pair< iterator, bool > | try_emplace (BloombergLP::bslmf::MovableRef< KEY > key, Args &&...args) |
template<class... Args> | |
iterator | try_emplace (const_iterator hint, const KEY &key, Args &&...args) |
template<class... Args> | |
iterator | try_emplace (const_iterator hint, BloombergLP::bslmf::MovableRef< KEY > key, Args &&...args) |
void | clear () BSLS_KEYWORD_NOEXCEPT |
iterator | find (const key_type &key) |
template<class LOOKUP_KEY > | |
bsl::enable_if < BloombergLP::bslmf::IsTransparentPredicate < COMPARATOR, LOOKUP_KEY > ::value, iterator >::type | find (const LOOKUP_KEY &key) |
iterator | lower_bound (const key_type &key) |
template<class LOOKUP_KEY > | |
bsl::enable_if < BloombergLP::bslmf::IsTransparentPredicate < COMPARATOR, LOOKUP_KEY > ::value, iterator >::type | lower_bound (const LOOKUP_KEY &key) |
iterator | upper_bound (const key_type &key) |
template<class LOOKUP_KEY > | |
bsl::enable_if < BloombergLP::bslmf::IsTransparentPredicate < COMPARATOR, LOOKUP_KEY > ::value, iterator >::type | upper_bound (const LOOKUP_KEY &key) |
pair< iterator, iterator > | equal_range (const key_type &key) |
template<class LOOKUP_KEY > | |
bsl::enable_if < BloombergLP::bslmf::IsTransparentPredicate < COMPARATOR, LOOKUP_KEY > ::value, pair< iterator, iterator > >::type | equal_range (const LOOKUP_KEY &key) |
allocator_type | get_allocator () const BSLS_KEYWORD_NOEXCEPT |
const_iterator | begin () const BSLS_KEYWORD_NOEXCEPT |
const_iterator | end () const BSLS_KEYWORD_NOEXCEPT |
const_reverse_iterator | rbegin () const BSLS_KEYWORD_NOEXCEPT |
const_reverse_iterator | rend () const BSLS_KEYWORD_NOEXCEPT |
const_iterator | cbegin () const BSLS_KEYWORD_NOEXCEPT |
const_iterator | cend () const BSLS_KEYWORD_NOEXCEPT |
const_reverse_iterator | crbegin () const BSLS_KEYWORD_NOEXCEPT |
const_reverse_iterator | crend () const BSLS_KEYWORD_NOEXCEPT |
bool | contains (const key_type &key) const |
template<class LOOKUP_KEY > | |
bsl::enable_if < BloombergLP::bslmf::IsTransparentPredicate < COMPARATOR, LOOKUP_KEY > ::value, bool >::type | contains (const LOOKUP_KEY &key) const |
bool | empty () const BSLS_KEYWORD_NOEXCEPT |
size_type | size () const BSLS_KEYWORD_NOEXCEPT |
size_type | max_size () const BSLS_KEYWORD_NOEXCEPT |
add_lvalue_reference< const VALUE >::type | at (const key_type &key) const |
key_compare | key_comp () const |
value_compare | value_comp () const |
const_iterator | find (const key_type &key) const |
template<class LOOKUP_KEY > | |
bsl::enable_if < BloombergLP::bslmf::IsTransparentPredicate < COMPARATOR, LOOKUP_KEY > ::value, const_iterator > ::type | find (const LOOKUP_KEY &key) const |
size_type | count (const key_type &key) const |
template<class LOOKUP_KEY > | |
bsl::enable_if < BloombergLP::bslmf::IsTransparentPredicate < COMPARATOR, LOOKUP_KEY > ::value, size_type >::type | count (const LOOKUP_KEY &key) const |
const_iterator | lower_bound (const key_type &key) const |
template<class LOOKUP_KEY > | |
bsl::enable_if < BloombergLP::bslmf::IsTransparentPredicate < COMPARATOR, LOOKUP_KEY > ::value, const_iterator > ::type | lower_bound (const LOOKUP_KEY &key) const |
const_iterator | upper_bound (const key_type &key) const |
template<class LOOKUP_KEY > | |
bsl::enable_if < BloombergLP::bslmf::IsTransparentPredicate < COMPARATOR, LOOKUP_KEY > ::value, const_iterator > ::type | upper_bound (const LOOKUP_KEY &key) const |
pair< const_iterator, const_iterator > | equal_range (const key_type &key) const |
template<class LOOKUP_KEY > | |
bsl::enable_if < BloombergLP::bslmf::IsTransparentPredicate < COMPARATOR, LOOKUP_KEY > ::value, pair< const_iterator, const_iterator > >::type | equal_range (const LOOKUP_KEY &key) const |
Public Attributes | |
void swap(map &other) BSLS_KEYWORD_NOEXCEPT_SPECIFICATION(AllocatorTraits pair< iterator, bool > | try_emplace (const KEY &key, Args &&...args) |
This class template implements a value-semantic container type holding an ordered sequence of key-value pairs having unique keys that provide a mapping from keys (of the template parameter type, KEY
) to their associated values (of another template parameter type, VALUE
).
This class:
supports a complete set of value-semantic operations
const
thread-safe For terminology see bsldoc_glossary
.