glibmm: Glib::Variant< std::map< K, V > > Class Template Reference
Specialization of Variant containing a dictionary (a map of (key, value) elements). More...
#include <glibmm/variant.h>
Inheritance diagram for Glib::Variant< std::map< K, V > >:
Public Types | |
using | CppType = std::pair< K, V > |
using | CppContainerType = std::map< K, V > |
Public Types inherited from Glib::VariantContainerBase | |
using | CType = GVariant* |
using | CppType = VariantContainerBase |
Public Member Functions | |
Variant () | |
Default constructor. More... | |
Variant (GVariant* castitem, bool take_a_reference=false) | |
GVariant constructor. More... | |
std::pair< K, V > | get_child (gsize index) const |
Gets a specific dictionary entry from the string array. More... | |
bool | lookup (const K& key, V& value) const |
Looks up a value in a dictionary Variant. More... | |
std::map< K, V > | get () const |
Gets the map (the dictionary) of the Variant. More... | |
VariantIter | get_iter () const |
Gets a VariantIter of the Variant. More... | |
Public Member Functions inherited from Glib::VariantContainerBase | |
VariantContainerBase () | |
Default constructor. More... | |
VariantContainerBase (GVariant* castitem, bool take_a_reference=false) | |
GVariant constructor. More... | |
gsize | get_n_children () const |
Determines the number of children in a container Variant instance. More... | |
void | get_child (VariantBase& child, gsize index=0) const |
Reads a child item out of this instance. More... | |
VariantBase | get_child (gsize index=0) |
Reads a child item out of a container Variant instance. More... | |
bool | get_maybe (VariantBase& maybe) const |
If this is a maybe-typed instance, try to extract its value. More... | |
Public Member Functions inherited from Glib::VariantBase | |
VariantBase () | |
Constructs an invalid object. More... | |
VariantBase (GVariant* castitem, bool make_a_copy=false) | |
VariantBase (const VariantBase& src) | |
VariantBase& | operator= (const VariantBase& src) |
VariantBase (VariantBase&& other) noexcept | |
VariantBase& | operator= (VariantBase&& other) noexcept |
~VariantBase () noexcept | |
void | swap (VariantBase& other) noexcept |
GVariant* | gobj () |
const GVariant* | gobj () const |
GVariant* | gobj_copy () const |
Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs. More... | |
operator bool () const | |
Test whether the Variant has an underlying instance. More... | |
void | init (const GVariant* cobject, bool take_a_reference=false) |
Replace the underlying GVariant. More... | |
VariantType | get_type () const |
Determines the type of value. More... | |
std::string | get_type_string () const |
Returns the type string of value. More... | |
bool | is_floating () const |
Checks whether value has a floating reference count. More... | |
bool | is_of_type (const VariantType& type) const |
Checks if a value has a type matching the provided type. More... | |
bool | is_container () const |
Checks if value is a container. More... | |
GVariantClass | classify () const |
Classifies value according to its top-level type. More... | |
gsize | get_size () const |
Determines the number of bytes that would be required to store value with g_variant_store(). More... | |
gconstpointer | get_data () const |
Returns a pointer to the serialised form of a Variant instance. More... | |
Glib::RefPtr< const Glib::Bytes > | get_data_as_bytes () const |
Returns a pointer to the serialised form of a Variant instance. More... | |
void | store (gpointer data) const |
Stores the serialised form of value at data. More... | |
Glib::ustring | print (bool type_annotate=false) const |
Pretty-prints value in the format understood by g_variant_parse(). More... | |
guint | hash () const |
Generates a hash value for a Variant instance. More... | |
bool | equal (const VariantBase& other) const |
Checks if *this and other have the same type and value. More... | |
bool | operator== (const VariantBase& other) const |
Checks if *this and other have the same type and value. More... | |
bool | operator!= (const VariantBase& other) const |
Checks if *this and other have the same type and value. More... | |
bool | operator< (const VariantBase& other) const =delete |
Ordering relational operators. More... | |
bool | operator<= (const VariantBase& other) const =delete |
See operator<(). More... | |
bool | operator> (const VariantBase& other) const =delete |
See operator<(). More... | |
bool | operator>= (const VariantBase& other) const =delete |
See operator<(). More... | |
void | get_normal_form (VariantBase& result) const |
Gets a VariantBase instance that has the same value as this variant and is trusted to be in normal form. More... | |
bool | is_normal_form () const |
Checks if value is in normal form. More... | |
void | byteswap (VariantBase& result) const |
Performs a byteswapping operation on the contents of this variant. More... | |
bool | check_format_string (const std::string& format_string, bool copy_only=false) const |
Checks if calling g_variant_get() with format_string on value would be valid from a type-compatibility standpoint. More... | |
template<> | |
VariantContainerBase | cast_dynamic (const VariantBase& v) |
Static Public Member Functions | |
static const VariantType& | variant_type () |
Gets the VariantType. More... | |
static Variant< std::map< K, V > > | create (const std::map< K, V >& data) |
Creates a new Variant containing a dictionary from a map. More... | |
Static Public Member Functions inherited from Glib::VariantContainerBase | |
static VariantContainerBase | create_tuple (const std::vector< VariantBase >& children) |
Create a tuple variant from a vector of its variant children. More... | |
static VariantContainerBase | create_tuple (const VariantBase& child) |
Create a tuple variant with a single variant child. More... | |
static VariantContainerBase | create_maybe (const VariantType& child_type, const VariantBase& child={}) |
Depending on if child is nullptr , either wraps child inside of a maybe container or creates a Nothing instance for the given type. More... | |
Static Public Member Functions inherited from Glib::VariantBase | |
template<class V_CastTo > | |
static V_CastTo | cast_dynamic (const VariantBase& v) |
Cast to a specific variant type. More... | |
Additional Inherited Members | |
Protected Attributes inherited from Glib::VariantBase | |
GVariant* | gobject_ |
Related Functions inherited from Glib::VariantBase | |
void | swap (VariantBase& lhs, VariantBase& rhs) noexcept |
Glib::VariantBase | wrap (GVariant* object, bool take_copy=false) |
A Glib::wrap() method for this object. More... | |
Detailed Description
template<class K, class V>
class Glib::Variant< std::map< K, V > >
Specialization of Variant containing a dictionary (a map of (key, value) elements).
Member Typedef Documentation
template <class K , class V >
using Glib::Variant< std::map< K, V > >::CppContainerType = std::map<K, V> |
template <class K , class V >
using Glib::Variant< std::map< K, V > >::CppType = std::pair<K, V> |
Constructor & Destructor Documentation
template <class K , class V >
|
inline |
Default constructor.
template <class K , class V >
|
inlineexplicit |
GVariant constructor.
- Parameters
-
castitem The GVariant to wrap. take_a_reference Whether to take an extra reference of the GVariant or not (not taking one could destroy the GVariant with the wrapper).
Member Function Documentation
template <class K , class V >
|
static |
template <class K , class V >
std::map< K, V > Glib::Variant< std::map< K, V > >::get | ( | ) | const |
template <class K , class V >
std::pair< K, V > Glib::Variant< std::map< K, V > >::get_child | ( | gsize | index | ) | const |
Gets a specific dictionary entry from the string array.
It is an error if index is greater than the number of child items in the container. See VariantContainerBase::get_n_children().
This function is O(1).
- Parameters
-
index The index of the element.
- Returns
- The dictionary entry at index index.
- Exceptions
-
std::out_of_range
template <class K , class V >
VariantIter Glib::Variant< std::map< K, V > >::get_iter | ( | ) | const |
template <class K , class V >
bool Glib::Variant< std::map< K, V > >::lookup | ( | const K & | key, |
V & | value | ||
) | const |
Looks up a value in a dictionary Variant.
- Parameters
-
key The key to look up. value A location in which to store the value if found.
- Returns
true
if the key is found,false
otherwise.
template <class K , class V >
|
static |