glibmm  2.32.0
Public Types | Public Member Functions | Protected Attributes | Related Functions
Glib::ValueArray Class Reference

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

#include <glibmm/valuearray.h>

List of all members.

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

Public Member Functions

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

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.

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

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]

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

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:
valueValue 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:
indexIndex of the value of interest.
valueAn 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.
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:
indexInsertion position, must be <= value_array->n_values.
valueValue to copy into ValueArray, or 0.
Returns:
The ValueArray passed in as value_array.
ValueArray& Glib::ValueArray::operator= ( const ValueArray other)

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:
valueValue to copy into ValueArray, or 0.
Returns:
The ValueArray passed in as value_array.

Remove the value at position index from value_array.

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

Parameters:
indexPosition of value to remove, which must be less than value_array->n_values.
Returns:
The ValueArray passed in as value_array.

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_funcFunction to compare elements.
Returns:
The ValueArray passed in as value_array.

Friends And Related Function Documentation

void swap ( ValueArray lhs,
ValueArray rhs 
) [related]
Parameters:
lhsThe left-hand side
rhsThe right-hand side
Glib::ValueArray wrap ( GValueArray *  object,
bool  take_copy = false 
) [related]

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

Parameters:
objectThe C instance.
take_copyFalse 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]