glibmm 2.80.0
|
Specialization of Variant containing an array of items. More...
#include <glibmm/variant.h>
Public Types | |
using | CppType = T |
using | CppContainerType = std::vector< T > |
Public Types inherited from Glib::VariantContainerBase | |
using | CType = GVariant * |
using | CppType = VariantContainerBase |
Public Member Functions | |
Variant () | |
Default constructor. | |
Variant (GVariant *castitem, bool take_a_reference=false) | |
GVariant constructor. | |
T | get_child (gsize index) const |
Gets a specific element of the array. | |
std::vector< T > | get () const |
Gets the vector of the Variant. | |
VariantIter | get_iter () const |
Gets a VariantIter of the Variant. | |
Public Member Functions inherited from Glib::VariantContainerBase | |
VariantContainerBase () | |
Default constructor. | |
VariantContainerBase (GVariant *castitem, bool take_a_reference=false) | |
GVariant constructor. | |
gsize | get_n_children () const |
Determines the number of children in a container Variant instance. | |
void | get_child (VariantBase &child, gsize index=0) const |
Reads a child item out of this instance. | |
VariantBase | get_child (gsize index=0) |
Reads a child item out of a container Variant instance. | |
VariantBase | get_child (gsize index=0) const |
Reads a child item out of a container Variant instance. | |
bool | get_maybe (VariantBase &maybe) const |
If this is a maybe-typed instance, try to extract its value. | |
Public Member Functions inherited from Glib::VariantBase | |
VariantBase () | |
Constructs an invalid object. | |
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. | |
operator bool () const | |
Test whether the Variant has an underlying instance. | |
void | init (const GVariant *cobject, bool take_a_reference=false) |
Replace the underlying GVariant. | |
VariantType | get_type () const |
Determines the type of value. | |
std::string | get_type_string () const |
Returns the type string of value. | |
bool | is_floating () const |
Checks whether value has a floating reference count. | |
bool | is_of_type (const VariantType & type) const |
Checks if a value has a type matching the provided type. | |
bool | is_container () const |
Checks if value is a container. | |
GVariantClass | classify () const |
Classifies value according to its top-level type. | |
gsize | get_size () const |
Determines the number of bytes that would be required to store value with g_variant_store(). | |
gconstpointer | get_data () const |
Returns a pointer to the serialized form of a Variant instance. | |
Glib::RefPtr< const Glib::Bytes > | get_data_as_bytes () const |
Returns a pointer to the serialized form of a Variant instance. | |
void | store (gpointer data) const |
Stores the serialized form of value at data. | |
Glib::ustring | print (bool type_annotate=false) const |
Pretty-prints value in the format understood by g_variant_parse(). | |
guint | hash () const |
Generates a hash value for a Variant instance. | |
bool | equal (const VariantBase &other) const |
Checks if *this and other have the same type and value. | |
bool | operator== (const VariantBase &other) const |
Checks if *this and other have the same type and value. | |
bool | operator!= (const VariantBase &other) const |
Checks if *this and other have the same type and value. | |
bool | operator< (const VariantBase &other) const =delete |
Ordering relational operators. | |
bool | operator<= (const VariantBase &other) const =delete |
See operator<(). | |
bool | operator> (const VariantBase &other) const =delete |
See operator<(). | |
bool | operator>= (const VariantBase &other) const =delete |
See operator<(). | |
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. | |
bool | is_normal_form () const |
Checks if value is in normal form. | |
void | byteswap (VariantBase &result) const |
Performs a byteswapping operation on the contents of this variant. | |
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. | |
template<typename ValueType > | |
ValueType | get_dynamic () const |
Cast to a specific variant type and get the value. | |
Static Public Member Functions | |
static const VariantType & | variant_type () |
Gets the VariantType. | |
static Variant< std::vector< T > > | create (const std::vector< T > &data) |
Creates a new Variant from an array of numeric types. | |
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. | |
static VariantContainerBase | create_tuple (const VariantBase &child) |
Create a tuple variant with a single variant child. | |
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. | |
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. | |
template<> | |
VariantContainerBase | cast_dynamic (const VariantBase &v) |
Additional Inherited Members | |
Protected Attributes inherited from Glib::VariantBase | |
GVariant * | gobject_ |
Related Symbols inherited from Glib::VariantBase | |
template<typename T > | |
Variant< T > | create_variant (const T &data) |
Creates a Glib::Variant instance. | |
void | swap (VariantBase &lhs, VariantBase &rhs) noexcept |
Glib::VariantBase | wrap (GVariant *object, bool take_copy=false) |
A Glib::wrap() method for this object. | |
Specialization of Variant containing an array of items.
using Glib::Variant< std::vector< T > >::CppContainerType = std::vector<T> |
using Glib::Variant< std::vector< T > >::CppType = T |
|
inline |
Default constructor.
|
inlineexplicit |
GVariant constructor.
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). |
|
static |
std::vector< T > Glib::Variant< std::vector< T > >::get | ( | ) | const |
T Glib::Variant< std::vector< T > >::get_child | ( | gsize | index | ) | const |
Gets a specific element of the 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).
index | The index of the element. |
std::out_of_range |
VariantIter Glib::Variant< std::vector< T > >::get_iter | ( | ) | const |
|
static |