glibmm: Glib::Variant< VariantBase > Class Template Reference

glibmm 2.32.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Static Public Member Functions
Glib::Variant< VariantBase > Class Template Reference
Variant Data Types

Specialization of Variant containing a VariantBase. More...

`#include <glibmm/variant.h>`

Inheritance diagram for Glib::Variant< VariantBase >:
[legend]

List of all members.

## Public Types
typedef GVariant* | CType
typedef VariantBase | CppType
typedef Variant< VariantBase > | CppContainerType
Public Types inherited from Glib::VariantContainerBase

## Public Member Functions
| Variant ()
| Default constructor.
| Variant (GVariant* castitem, bool take_a_reference=false)
| GVariant constructor.
void | get (VariantBase& variant) const
VariantBase | get () const
| Unboxes value.
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.
bool | get_maybe (VariantBase& maybe) const
| If this is a maybe-typed instance, extract its value.
Public Member Functions inherited from Glib::VariantBase
| VariantBase ()
| VariantBase (GVariant* castitem, bool make_a_copy=false)
| VariantBase (const VariantBase& src)
VariantBase& | operator= (const VariantBase& src)
| ~VariantBase ()
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.
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 ()
| Returns a pointer to the serialised form of a Variant instance.
void | store (gpointer data) const
| Stores the serialised 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 one and two have the same type and value.
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.

## Static Public Member Functions
static const VariantType& | variant_type ()
| Gets the VariantType.
static Variant< VariantBase > | create (const VariantBase& data)
| Creates a new Variant<VariantBase>.
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=VariantBase())
| Depending on if child is `0`, 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) throw (std::bad_cast)
| Cast to a specific variant type.

## Detailed Description

### template<>
class Glib::Variant< VariantBase >

Specialization of Variant containing a VariantBase.

Since glibmm 2.28:

## Member Typedef Documentation

typedef Variant<VariantBase> Glib::Variant< VariantBase >::CppContainerType

typedef VariantBase Glib::Variant< VariantBase >::CppType

Reimplemented from Glib::VariantContainerBase.

typedef GVariant* Glib::Variant< VariantBase >::CType

Reimplemented from Glib::VariantContainerBase.

## Constructor & Destructor Documentation

Glib::Variant< VariantBase >::Variant | ( |  | ) |

Default constructor.

Glib::Variant< VariantBase >::Variant | ( | GVariant< VariantBase >* | castitem,
|  | bool | take_a_reference = `false`
| ) |  |
| 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

static Variant<VariantBase> Glib::Variant< VariantBase >::create | ( | const VariantBase& | data | ) |
| static

Creates a new Variant<VariantBase>.

Parameters:

  data | The value of the new Variant.

Returns:
  The new Variant.

Since glibmm 2.28:

void Glib::Variant< VariantBase >::get | ( | VariantBase& | variant | ) | const

VariantBase Glib::Variant< VariantBase >::get | ( |  | ) | const

Unboxes value.

The result is the Variant instance that was contained in value.

Since glibmm 2.24:

Returns:
  The item contained in the variant.

static const VariantType& Glib::Variant< VariantBase >::variant_type | ( |  | ) |
| static

Gets the VariantType.

Returns:
  The VariantType.

Since glibmm 2.28: