Glib::ValueArray Class Reference

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

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 accoring to the semantics of CompareFunc.

Protected Attributes

GValueArray* gobject_

Related Functions

(Note that these are not member functions.)



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

Parameters:
value Value to copy into ValueArray.
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.
const GValueArray* Glib::ValueArray::gobj (  )  const [inline]

Provides access to the underlying C instance.

GValueArray* Glib::ValueArray::gobj (  )  [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.

Parameters:
index Insertion position, must be <= value_array->n_values.
value Value to copy into ValueArray.
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.

Parameters:
value Value to copy into ValueArray.
Returns:
The ValueArray passed in as value_array.
Glib::ValueArray& Glib::ValueArray::remove ( guint  index  ) 

Remove the value at position index from value_array.

Parameters:
index Position of value to remove, must be < 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 accoring to the semantics of CompareFunc.

The current implementation uses Quick-Sort as sorting algorithm.

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

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]

The documentation for this class was generated from the following file:

Generated on Fri Mar 26 11:48:25 2010 for glibmm by  doxygen 1.6.1