glibmm: Glib::VariantIter Class Reference

VariantIter - An opaque data structure used to iterate through VariantContainerBase containers such as arrays. More...

#include <glibmm/variantiter.h>

Public Member Functions

 VariantIter ()
 Constructs an invalid object. More...

 
 VariantIter (GVariantIter* castitem, bool make_a_copy=false)
 
 VariantIter (const VariantIter& src)
 
VariantIteroperator= (const VariantIter& src)
 
 VariantIter (VariantIter&& other) noexcept
 
VariantIteroperator= (VariantIter&& other) noexcept
 
 ~VariantIter () noexcept
 
void swap (VariantIter& other) noexcept
 
GVariantIter* gobj ()
 
const GVariantIter* gobj () const
 
GVariantIter* 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...

 
 VariantIter (const VariantContainerBase& variant)
 
gsize init (const VariantContainerBase& value)
 Initialises (without allocating) a VariantIter. More...

 
gsize get_n_children () const
 Queries the number of child items in the container that we are iterating over. More...

 
bool next_value (VariantBase& value)
 

Protected Attributes

GVariantIter* gobject_
 

Related Functions

(Note that these are not member functions.)

void swap (VariantIter& lhs, VariantIter& rhs) noexcept
 
Glib::VariantIter wrap (GVariantIter* object, bool take_copy=false)
 A Glib::wrap() method for this object. More...

 

Detailed Description

VariantIter - An opaque data structure used to iterate through VariantContainerBase containers such as arrays.

Since glibmm 2.28:

Constructor & Destructor Documentation

Glib::VariantIter::VariantIter ( )

Constructs an invalid object.

E.g. for output arguments to methods. There is not much you can do with the object before it has been assigned a valid value.

Glib::VariantIter::VariantIter ( GVariantIter *  castitem,
bool  make_a_copy = false 
)
explicit
Glib::VariantIter::VariantIter ( const VariantIter src)
Glib::VariantIter::VariantIter ( VariantIter&&  other)
noexcept
Glib::VariantIter::~VariantIter ( )
noexcept
Glib::VariantIter::VariantIter ( const VariantContainerBase variant)
explicit

Member Function Documentation

gsize Glib::VariantIter::get_n_children ( ) const

Queries the number of child items in the container that we are iterating over.

This is the total number of items – not the number of items remaining.

This function might be useful for preallocation of arrays.

Since glibmm 2.24:
Returns
The number of children in the container.
GVariantIter* Glib::VariantIter::gobj ( )
inline
const GVariantIter* Glib::VariantIter::gobj ( ) const
inline
GVariantIter* Glib::VariantIter::gobj_copy ( ) const

Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.

gsize Glib::VariantIter::init ( const VariantContainerBase value)

Initialises (without allocating) a VariantIter.

iter may be completely uninitialised prior to this call; its old value is ignored.

The iterator remains valid for as long as value exists, and need not be freed in any way.

Since glibmm 2.24:
Parameters
valueA container Variant.
Returns
The number of items in value.
bool Glib::VariantIter::next_value ( VariantBase value)
VariantIter& Glib::VariantIter::operator= ( const VariantIter src)
VariantIter& Glib::VariantIter::operator= ( VariantIter&&  other)
noexcept
void Glib::VariantIter::swap ( VariantIter other)
noexcept

Friends And Related Function Documentation

void swap ( VariantIter lhs,
VariantIter rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side
Glib::VariantIter wrap ( GVariantIter *  object,
bool  take_copy = false 
)
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns
A C++ instance that wraps this C instance.

Member Data Documentation

GVariantIter* Glib::VariantIter::gobject_
protected