glibmm: Glib::Variant< std::string > Class Template Reference

Specialization of Variant containing a std::string , for variants of type bytestring, string, object path, or signature. More...

#include <glibmm/variant.h>

Inheritance diagram for Glib::Variant< std::string >:

Public Types

using CType = char*
using CppType = std::string
- Public Types inherited from Glib::VariantStringBase
using CType = GVariant*
using CppType = VariantStringBase
- Public Types inherited from Glib::VariantBase
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...

std::string get () const
- Public Member Functions inherited from Glib::VariantStringBase
VariantStringBase ()
Default constructor. More...

VariantStringBase (GVariant* castitem, bool take_a_reference=false)
GVariant constructor. 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 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 < std::string > create (const std::string & data)
Creates a new Variant<std::string> . More...

- Static Public Member Functions inherited from Glib::VariantStringBase
static void create_object_path ( VariantStringBase & output, const std::string & object_path)
Creates a D-Bus object path variant with the contents of string . More...

static bool is_object_path (const std::string & string )
Determines if a given string is a valid D-Bus object path. More...

static void create_signature ( VariantStringBase & output, const std::string & signature)
Creates a D-Bus type signature variant with the contents of string . More...

static bool is_signature (const std::string & string )
Determines if a given string is a valid D-Bus type signature. More...

- 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. More...

Additional Inherited Members

- Protected Attributes inherited from Glib::VariantBase
GVariant* gobject_

Detailed Description

template<>

class Glib::Variant< std::string >

Specialization of Variant containing a std::string , for variants of type bytestring, string, object path, or signature.

See also Variant<Glib::ustring> for UTF-8 strings.

Since glibmm 2.28:

Member Typedef Documentation

Constructor & Destructor Documentation

Default constructor.

Glib::Variant < std::string >:: Variant ( GVariant< std::string > * 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 < std::string > Glib::Variant < std::string >::create ( const std::string & data )
static

Creates a new Variant<std::string> .

Parameters
data The value of the new Variant .
Returns
The new Variant .
Since glibmm 2.28:
static const VariantType & Glib::Variant < std::string >::variant_type ( )
static