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 ()
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.)
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 | ( |  | ) |

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 | ) |

## Friends And Related Function Documentation

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