glibmm: Glib::VariantIter Class Reference

VariantIter - An opaque data structure used to iterate through VariantBase 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)
VariantIter & operator= (const VariantIter & src)
VariantIter ( VariantIter && other) noexcept
VariantIter & operator= ( 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 VariantBase & 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 VariantBase 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 VariantBase & 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
value A 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
lhs The left-hand side
rhs The right-hand side
Glib::VariantIter wrap ( GVariantIter * object ,
bool take_copy = false
)
related

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

Parameters
object The C instance.
take_copy False 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