a minimal map-like container that preserves insertion order More...
#include <json.hpp>
Public Types | |
using | const_iterator = typename Container::const_iterator |
using | Container = std::vector< std::pair< const Key, T >, Allocator > |
using | iterator = typename Container::iterator |
using | key_compare = std::equal_to< Key > |
using | key_type = Key |
using | mapped_type = T |
template<typename InputIt > | |
using | require_input_iter = typename std::enable_if< std::is_convertible< typename std::iterator_traits< InputIt >::iterator_category, std::input_iterator_tag >::value >::type |
using | size_type = typename Container::size_type |
using | value_type = typename Container::value_type |
Public Member Functions | |
T & | at (const key_type &key) |
const T & | at (const key_type &key) const |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_key_type< key_compare, key_type, KeyType >::value, int > = 0> | |
T & | at (KeyType &&key) |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_key_type< key_compare, key_type, KeyType >::value, int > = 0> | |
const T & | at (KeyType &&key) const |
size_type | count (const key_type &key) const |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_key_type< key_compare, key_type, KeyType >::value, int > = 0> | |
size_type | count (KeyType &&key) const |
std::pair< iterator, bool > | emplace (const key_type &key, T &&t) |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_key_type< key_compare, key_type, KeyType >::value, int > = 0> | |
std::pair< iterator, bool > | emplace (KeyType &&key, T &&t) |
size_type | erase (const key_type &key) |
iterator | erase (iterator first, iterator last) |
iterator | erase (iterator pos) |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_key_type< key_compare, key_type, KeyType >::value, int > = 0> | |
size_type | erase (KeyType &&key) |
iterator | find (const key_type &key) |
const_iterator | find (const key_type &key) const |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_key_type< key_compare, key_type, KeyType >::value, int > = 0> | |
iterator | find (KeyType &&key) |
std::pair< iterator, bool > | insert (const value_type &value) |
template<typename InputIt , typename = require_input_iter<InputIt>> | |
void | insert (InputIt first, InputIt last) |
std::pair< iterator, bool > | insert (value_type &&value) |
T & | operator[] (const key_type &key) |
const T & | operator[] (const key_type &key) const |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_key_type< key_compare, key_type, KeyType >::value, int > = 0> | |
T & | operator[] (KeyType &&key) |
template<class KeyType , detail::enable_if_t< detail::is_usable_as_key_type< key_compare, key_type, KeyType >::value, int > = 0> | |
const T & | operator[] (KeyType &&key) const |
ordered_map () noexcept(noexcept(Container())) | |
ordered_map (const Allocator &alloc) noexcept(noexcept(Container(alloc))) | |
template<class It > | |
ordered_map (It first, It last, const Allocator &alloc=Allocator()) | |
ordered_map (std::initializer_list< value_type > init, const Allocator &alloc=Allocator()) | |
Private Attributes | |
JSON_NO_UNIQUE_ADDRESS key_compare | m_compare = key_compare() |
a minimal map-like container that preserves insertion order
ordered_map: a minimal map-like container that preserves insertion order for use within nlohmann::basic_json<ordered_map>
using ordered_map< Key, T, IgnoredLess, Allocator >::const_iterator = typename Container::const_iterator |
using ordered_map< Key, T, IgnoredLess, Allocator >::Container = std::vector<std::pair<const Key, T>, Allocator> |
using ordered_map< Key, T, IgnoredLess, Allocator >::iterator = typename Container::iterator |
using ordered_map< Key, T, IgnoredLess, Allocator >::key_compare = std::equal_to<Key> |
using ordered_map< Key, T, IgnoredLess, Allocator >::key_type = Key |
using ordered_map< Key, T, IgnoredLess, Allocator >::mapped_type = T |
using ordered_map< Key, T, IgnoredLess, Allocator >::require_input_iter = typename std::enable_if<std::is_convertible<typename std::iterator_traits<InputIt>::iterator_category, std::input_iterator_tag>::value>::type |
using ordered_map< Key, T, IgnoredLess, Allocator >::size_type = typename Container::size_type |
using ordered_map< Key, T, IgnoredLess, Allocator >::value_type = typename Container::value_type |
|
inlinenoexcept |
|
inlineexplicitnoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |