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