glibmm 2.84.0
Glib::Variant< std::vector< Glib::ustring > > Class Reference

Specialization of Variant containing an array of UTF-8 capable strings. More...

#include <glibmm/variant.h>

Inheritance diagram for Glib::Variant< std::vector< Glib::ustring > >:

Public Types

using CppType = Glib::ustring
using CppContainerType = std::vector<Glib::ustring>
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.
Glib::ustring get_child (gsize index) const
 Gets a specific element of the string array.
std::vector< Glib::ustringget () const
 Gets the string vector of the Variant.
VariantIter get_iter () const
 Gets a VariantIter of the Variant.
Public Member Functions inherited from Glib::VariantBase
 VariantBase ()
 Constructs an invalid object.
 VariantBase (GVariant * castitem, bool make_a_copy=false)
 VariantBase (const VariantBase & src)
VariantBaseoperator= (const VariantBase & src)
 VariantBase (VariantBase && other) noexcept
VariantBaseoperator= (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::Bytesget_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.
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.

Static Public Member Functions

static const VariantTypevariant_type ()
 Gets the VariantType.
static Variant< std::vector< Glib::ustring > > create (const std::vector< Glib::ustring > & data)
 Creates a new Variant from an array of strings.
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)
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.

Additional Inherited Members

Protected Attributes inherited from Glib::VariantBase
GVariant * gobject_

Detailed Description

Specialization of Variant containing an array of UTF-8 capable strings.

Since glibmm 2.28

Member Typedef Documentation

◆ CppContainerType

◆ CppType

Constructor & Destructor Documentation

◆ Variant() [1/2]

Default constructor.

◆ Variant() [2/2]

Glib::Variant< std::vector< Glib::ustring > >::Variant ( GVariant< std::vector< Glib::ustring > > * castitem,
bool take_a_reference = false )
explicit

GVariant constructor.

Parameters
castitemThe GVariant to wrap.
take_a_referenceWhether to take an extra reference of the GVariant or not (not taking one could destroy the GVariant with the wrapper).

Member Function Documentation

◆ create()

Creates a new Variant from an array of strings.

Parameters
dataThe array to use for creation.
Returns
The new Variant.
Since glibmm 2.28

◆ get()

Gets the string vector of the Variant.

Returns
The vector.
Since glibmm 2.28

◆ get_child()

Glib::ustring Glib::Variant< std::vector< Glib::ustring > >::get_child ( gsize index) const

Gets a specific element of 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
indexThe index of the element.
Returns
The element at index index.
Exceptions
std::out_of_range
Since glibmm 2.28

◆ get_iter()

◆ variant_type()

const VariantType & Glib::Variant< std::vector< Glib::ustring > >::variant_type ( )
static

Gets the VariantType.

Returns
The VariantType.
Since glibmm 2.28