Glib::ValueArray Class Reference

A container structure to maintain an array of generic values. More...

`#include <glibmm/valuearray.h>`

## Public Types

typedef sigc::slot< int, const Glib::ValueBase&, const Glib::ValueBase& > | SlotCompare
| For example, int on_compare(const Glib::ValueBase& v1, const Glib::ValueBase& v2);. More...

## Public Member Functions

| ValueArray (GValueArray* gobject, bool make_a_copy=true)
| ValueArray (const ValueArray& other)
ValueArray& | operator= (const ValueArray& other)
| ~ValueArray ()
void | swap (ValueArray& other)
GValueArray* | gobj ()
| Provides access to the underlying C instance. More...
const GValueArray* | gobj () const
| Provides access to the underlying C instance. More...
GValueArray* | 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...
| ValueArray ()
| Default constructor. More...
| ValueArray (guint n_preallocated)
| Constructs a new array with pre-allocation. More...
bool | get_nth (guint index, Glib::ValueBase& value)
| Return the value at index contained in the value array. More...
Glib::ValueArray& | append (const Glib::ValueBase& value)
| Insert a copy of value as last element of value_array. More...
Glib::ValueArray& | prepend (const Glib::ValueBase& value)
| Insert a copy of value as first element of value_array. More...
Glib::ValueArray& | insert (guint index, const Glib::ValueBase& value)
| Insert a copy of value at specified position into value_array. More...
Glib::ValueArray& | remove (guint index)
| Remove the value at position index from value_array. More...
Glib::ValueArray& | sort (const SlotCompare& compare_func)
| Sort value_array using compare_func to compare the elements according to the semantics of CompareFunc. More...

## Static Public Member Functions

static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...

## Protected Attributes

GValueArray* | gobject_

## Related Functions

(Note that these are not member functions.)
void | swap (ValueArray& lhs, ValueArray& rhs)
Glib::ValueArray | wrap (GValueArray* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Detailed Description

A container structure to maintain an array of generic values.

The prime purpose of a ValueArray is for it to be used as an object property that holds an array of values. A ValueArray wraps an array of ValueBase elements.

Since glibmm 2.22:

## Member Typedef Documentation

typedef sigc::slot<int, const Glib::ValueBase&, const Glib::ValueBase&> Glib::ValueArray::SlotCompare

For example, int on_compare(const Glib::ValueBase& v1, const Glib::ValueBase& v2);.

The compare function should return -1 if v1 < v2, 0 if v1 == v2, and 1 if v1 > v2.

## Constructor & Destructor Documentation

Glib::ValueArray::ValueArray | ( | GValueArray * | gobject,
|  | bool | make_a_copy = `true`
| ) |  |

explicit

Glib::ValueArray::ValueArray | ( | const ValueArray& | other | ) |

Glib::ValueArray::~ValueArray | ( |  | ) |

Glib::ValueArray::ValueArray | ( |  | ) |

Default constructor.

Constructs a new array with no pre-allocation.

Glib::ValueArray::ValueArray | ( | guint | n_preallocated | ) |

Constructs a new array with pre-allocation.

## Member Function Documentation

Glib::ValueArray& Glib::ValueArray::append | ( | const Glib::ValueBase& | value | ) |

Insert a copy of value as last element of value_array.

If value is `0`, an uninitialized value is appended.

Deprecated: 2.32: Use Array and Glib::array_append_val() instead.

Parameters

  value | Value to copy into ValueArray, or `0`.

Returns
  The ValueArray passed in as value_array.

bool Glib::ValueArray::get_nth | ( | guint | index,
|  | Glib::ValueBase& | value
| ) |  |

Return the value at index contained in the value array.

Parameters

  index | Index of the value of interest.
  value | An uninitialized ValueBase in which to store the result. If the get is successful, value will be valid, otherwise it will remain uninitialized.

Returns
  whether the get was successful or not.

static GType Glib::ValueArray::get_type | ( |  | ) |

static

Get the GType for this class, for use with the underlying GObject type system.

GValueArray* Glib::ValueArray::gobj | ( |  | ) |

inline

Provides access to the underlying C instance.

const GValueArray* Glib::ValueArray::gobj | ( |  | ) | const

inline

Provides access to the underlying C instance.

GValueArray* Glib::ValueArray::gobj_copy | ( |  | ) | const

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

Glib::ValueArray& Glib::ValueArray::insert | ( | guint | index,
|  | const Glib::ValueBase& | value
| ) |  |

Insert a copy of value at specified position into value_array.

If value is `0`, an uninitialized value is inserted.

Deprecated: 2.32: Use Array and Glib::array_insert_val() instead.

Parameters

  index | Insertion position, must be <= value_array->n_values.
  value | Value to copy into ValueArray, or `0`.

Returns
  The ValueArray passed in as value_array.

ValueArray& Glib::ValueArray::operator= | ( | const ValueArray& | other | ) |

Glib::ValueArray& Glib::ValueArray::prepend | ( | const Glib::ValueBase& | value | ) |

Insert a copy of value as first element of value_array.

If value is `0`, an uninitialized value is prepended.

Deprecated: 2.32: Use Array and Glib::array_prepend_val() instead.

Parameters

  value | Value to copy into ValueArray, or `0`.

Returns
  The ValueArray passed in as value_array.

Glib::ValueArray& Glib::ValueArray::remove | ( | guint | index | ) |

Remove the value at position index from value_array.

Deprecated: 2.32: Use Array and g_array_remove_index() instead.

Parameters

  index | Position of value to remove, which must be less than `value_array->n_values`.

Returns
  The ValueArray passed in as value_array.

Glib::ValueArray& Glib::ValueArray::sort | ( | const SlotCompare& | compare_func | ) |

Sort value_array using compare_func to compare the elements according to the semantics of CompareFunc.

The current implementation uses Quick-Sort as sorting algorithm.

Deprecated: 2.32: Use Array and g_array_sort().

Parameters

  compare_func | Function to compare elements.

Returns
  The ValueArray passed in as value_array.

void Glib::ValueArray::swap | ( | ValueArray& | other | ) |

## Friends And Related Function Documentation

void swap | ( | ValueArray& | lhs,
|  | ValueArray& | rhs
| ) |  |

related

Parameters

  lhs | The left-hand side
  rhs | The right-hand side

Glib::ValueArray wrap | ( | GValueArray * | 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

GValueArray* Glib::ValueArray::gobject_

protected