AnyMap¶
-
class
cppmicroservices::
AnyMap
¶ A map data structure with support for compound keys.
This class adds convenience functions on top of the
any_map
class. Theany_map
is a recursive data structure, and its values can be retrieved via standard map functions or by using a dotted key notation specifying a compound key.- See
- any_map
Inherits from cppmicroservices::any_map
Public Functions
-
AnyMap
(map_type type)¶
-
AnyMap
(const ordered_any_map &m)¶
-
AnyMap
(const unordered_any_map &m)¶
-
AnyMap
(const unordered_any_cimap &m)¶
-
map_type
GetType
() const¶ Get the underlying STL container type.
- Return
- The STL container type holding the map data.
-
mapped_type &
AtCompoundKey
(const key_type &key)¶ Get a key’s value, using a compound key notation.
A compound key consists of one or more key names, concatenated with the ‘.’ (dot) character. Each key except the last requires the referenced Any object to be of type
AnyMap
orstd::vector<Any>
. Containers of typestd::vector<Any>
are indexed using 0-based numerical key names.For example, a
AnyMap
object holding data of the following layoutcan be queried using the following notation:{ one: 1, two: "two", three: { a: "anton", b: [ 3, 8 ] } }
map.AtCompoundKey("one"); // returns Any(1) map.AtCompoundKey("three.a"); // returns Any(std::string("anton")) map.AtCompoundKey("three.b.1"); // returns Any(8)
-
const mapped_type &
AtCompoundKey
(const key_type &key) const¶
-
class
cppmicroservices::
any_map
¶ A map data structure which wraps different STL map types.
This is a convenience class providing a STL associative container interface for different underlying container types. Supported underlying types are
any_map::ordered_any_map
(a STL map)any_map::unordered_any_map
(a STL unordered map)any_map::unordered_any_cimap
(a STL unordered map with case insensitive key comparison)
This class provides most of the STL functions for associated containers, including forward iterators. It is typically not instantiated by clients directly, but obtained via framework API calls, returning an
AnyMap
sub-class instance.- See
- AnyMap
Subclassed by cppmicroservices::AnyMap
Public Types
-
typedef std::string
key_type
¶
-
typedef std::pair<const key_type, mapped_type>
value_type
¶
-
typedef std::size_t
size_type
¶
-
typedef std::ptrdiff_t
difference_type
¶
-
typedef value_type &
reference
¶
-
typedef value_type const &
const_reference
¶
-
typedef value_type *
pointer
¶
-
typedef value_type const *
const_pointer
¶
-
typedef std::unordered_map<std::string, Any, detail::any_map_cihash, detail::any_map_ciequal>
unordered_any_cimap
¶
-
typedef const_iter
const_iterator
¶
Public Functions
-
any_map
(const ordered_any_map &m)¶
-
any_map
(const unordered_any_map &m)¶
-
any_map
(const unordered_any_cimap &m)¶
-
~any_map
()¶
-
const_iter
begin
() const¶
-
const_iter
cbegin
() const¶
-
const_iter
end
() const¶
-
const_iter
cend
() const¶
-
bool
empty
() const¶
-
void
clear
()¶
-
mapped_type &
at
(const key_type &key)¶
-
const mapped_type &
at
(const key_type &key) const¶
-
mapped_type &
operator[]
(const key_type &key)¶
-
mapped_type &
operator[]
(key_type &&key)¶
-
std::pair<iterator, bool>
insert
(const value_type &value)¶
-
const_iterator
find
(const key_type &key) const¶
-
class
const_iter
¶ Inherits from cppmicroservices::any_map::iterator_base
Public Types
-
typedef any_map::const_reference
reference
¶
-
typedef any_map::const_pointer
pointer
¶
-
typedef const_iter
iterator
¶
-
typedef any_map::const_reference
-
class
iter
¶ Inherits from cppmicroservices::any_map::iterator_base
Public Types