CAF  0.17.2
Public Types | Public Member Functions | List of all members
caf::dictionary< V > Class Template Reference

Maps strings to values of type V, but unlike std::map<std::string, V> accepts string_view for looking up keys efficiently. More...

#include <dictionary.hpp>

Public Types

using map_type = std::map< std::string, V >
 
using key_type = typename map_type::key_type
 
using mapped_type = typename map_type::mapped_type
 
using value_type = typename map_type::value_type
 
using allocator_type = typename map_type::allocator_type
 
using size_type = typename map_type::size_type
 
using difference_type = typename map_type::difference_type
 
using reference = typename map_type::reference
 
using const_reference = typename map_type::const_reference
 
using pointer = typename map_type::pointer
 
using const_pointer = typename map_type::const_pointer
 
using iterator = typename map_type::iterator
 
using const_iterator = typename map_type::const_iterator
 
using reverse_iterator = typename map_type::reverse_iterator
 
using const_reverse_iterator = typename map_type::const_reverse_iterator
 
using iterator_bool_pair = std::pair< iterator, bool >
 

Public Member Functions

 dictionary (dictionary &&)=default
 
 dictionary (const dictionary &)=default
 
 dictionary (std::initializer_list< value_type > xs)
 
template<class InputIterator >
 dictionary (InputIterator first, InputIterator last)
 
dictionaryoperator= (dictionary &&)=default
 
dictionaryoperator= (const dictionary &)=default
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
const_iterator cbegin () const noexcept
 
reverse_iterator rbegin () noexcept
 
const_reverse_iterator rbegin () const noexcept
 
const_reverse_iterator crbegin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
const_iterator cend () const noexcept
 
reverse_iterator rend () noexcept
 
const_reverse_iterator rend () const noexcept
 
const_reverse_iterator crend () const noexcept
 
bool empty () const noexcept
 
size_type size () const noexcept
 
map_type & container () noexcept
 Gives raw access to the underlying container.
 
const map_type & container () const noexcept
 Gives raw access to the underlying container.
 
void clear () noexcept
 
void swap (dictionary &other)
 
template<class K , class T >
iterator_bool_pair emplace (K &&key, T &&value)
 
iterator_bool_pair insert (value_type kvp)
 
iterator insert (iterator hint, value_type kvp)
 
template<class T >
iterator_bool_pair insert (string_view key, T &&value)
 
template<class K , class T >
iterator emplace_hint (iterator hint, K &&key, T &&value)
 
template<class T >
iterator insert (iterator hint, string_view key, T &&value)
 
void insert (const_iterator first, const_iterator last)
 
template<class T >
iterator_bool_pair insert_or_assign (string_view key, T &&value)
 
template<class T >
iterator insert_or_assign (iterator hint, string_view key, T &&value)
 
bool contains (string_view key) const noexcept
 
size_t count (string_view key) const noexcept
 
iterator find (string_view key) noexcept
 
const_iterator find (string_view key) const noexcept
 
iterator lower_bound (string_view key)
 
const_iterator lower_bound (string_view key) const
 
iterator upper_bound (string_view key)
 
const_iterator upper_bound (string_view key) const
 
mapped_type & operator[] (string_view key)
 

Detailed Description

template<class V>
class caf::dictionary< V >

Maps strings to values of type V, but unlike std::map<std::string, V> accepts string_view for looking up keys efficiently.


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