# Glib::VariantIter Class Reference

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

`#include <glibmm/variantiter.h>`

List of all members.

## Public Member Functions

| VariantIter ()
| 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.
| VariantIter (const VariantBase& variant)
gsize | get_n_children () const
| Queries the number of child items in the container that we are iterating over.
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.

## Detailed Description

VariantIter - An opaque data structure used to iterate through Glib::VariantBase containers such as arrays.

Since glibmm 2.28:

## Constructor & Destructor Documentation

Glib::VariantIter::VariantIter | ( | ) |

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.

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]`