glibmm: Glib::Variant< Variant< T > > Class Template Reference
Specialization of Variant containing a Variant<T>. More...
#include <glibmm/variant.h>
Inheritance diagram for Glib::Variant< Variant< T > >:

Public Types |
|
using | CType = GVariant* |
using | CppType = Variant < T > |
using | CppContainerType = Variant < CppType > |
![]() |
|
using | CType = GVariant* |
using | CppType = VariantContainerBase |
![]() |
|
using | BoolExpr = const void* |
This typedef is just to make it more obvious that our operator const void* should be used like operator bool().
More...
|
|
Public Member Functions |
|
Variant () | |
Default constructor.
More...
|
|
Variant (GVariant* castitem, bool take_a_reference=false) | |
GVariant constructor.
More...
|
|
Variant < T > | get () const |
Gets the contents of the
Variant
.
More...
|
|
![]() |
|
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, extract its value.
More...
|
|
![]() |
|
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 BoolExpr () 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 () |
Returns a pointer to the serialised form of a
Variant
instance.
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...
|
|
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) throw (std::bad_cast) |
Static Public Member Functions |
|
static const VariantType & | variant_type () |
Gets the
VariantType
.
More...
|
|
static Variant < Variant < T > > | create (const Variant < T >& data) |
Creates a new
Variant
< Variant<T> >.
More...
|
|
![]() |
|
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= VariantBase ()) |
Depending on if
child
is
nullptr
, either wraps
child
inside of a maybe container or creates a Nothing instance for the given
type
.
More...
|
|
![]() |
|
template<class V_CastTo > | |
static V_CastTo | cast_dynamic (const VariantBase & v) throw (std::bad_cast) |
Cast to a specific variant type.
More...
|
|
Additional Inherited Members |
|
![]() |
|
GVariant* | gobject_ |
![]() |
|
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 T>
class Glib::Variant< Variant< T > >
Specialization of Variant containing a Variant<T>.
Member Typedef Documentation
template <class T >
using Glib::Variant < Variant < T > >:: CppContainerType = Variant < CppType > |
template <class T >
using Glib::Variant < Variant < T > >:: CppType = Variant <T> |
template <class T >
using Glib::Variant < Variant < T > >:: CType = GVariant* |
Constructor & Destructor Documentation
template <class T >
Glib::Variant < Variant < T > >:: Variant | ( | ) |
Default constructor.
template <class T >
|
explicit |
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 T >
|
static |
template <class T >
Variant < T > Glib::Variant < Variant < T > >::get | ( | ) | const |
template <class T >
|
static |