commore  1.0.6-SNAPSHOT
All Classes Namespaces Functions Variables Typedefs Enumerations Pages
commore::BaseArray Class Reference

#include <BaseArray.h>

+ Inheritance diagram for commore::BaseArray:

Classes

class  const_iterator
 
class  iterator
 

Public Member Functions

void splice (BaseArray &array)
 
size_t size () const
 
size_t reserved () const
 

Static Public Member Functions

static bool next_ (iterator &i, size_t item_size)
 
static bool next_ (const_iterator &i, size_t item_size)
 

Protected Member Functions

Byteadd_ (size_t nb, size_t item_size, Byte *data, FunctionConstructor c, FunctionDestructor d)
 
void clear_ (size_t item_size, FunctionDestructor d, bool all)
 
void resize_ (int new_size, size_t item_size, FunctionConstructor c, FunctionDestructor d)
 
Byteat_ (size_t i, size_t item_size)
 
const Byteat_ (size_t i, size_t item_size) const
 
size_t reserve_ (size_t nb, size_t item_size, FunctionConstructor c, FunctionDestructor d)
 
Bytedata ()
 
const Bytedata () const
 
void begin_ (iterator &)
 
void begin_ (const_iterator &) const
 

Protected Attributes

Bytedata_
 
size_t size_
 
size_t reserved_
 

Detailed Description

Base class for Array implementation.

Remarks
Commore Arrays are designed for scalar type. other type are available but not used in commore internal. Do not use the Array template in place of stl vector.

Member Function Documentation

Byte* commore::BaseArray::add_ ( size_t  nb,
size_t  item_size,
Byte data,
FunctionConstructor  c,
FunctionDestructor  d 
)
protected

Add value to the array

Parameters
nbnumber of item
item_sizesize of item in byte
datapointer item values
cconstructor function
ddestructor function
Returns
pointer on first added value
Byte* commore::BaseArray::at_ ( size_t  i,
size_t  item_size 
)
protected

Return reference on i value of array.

Parameters
i
item_sizesize of item
Returns
0 if i is out of bound
void commore::BaseArray::begin_ ( iterator )
protected

Set iterator to begin of array

void commore::BaseArray::clear_ ( size_t  item_size,
FunctionDestructor  d,
bool  all 
)
protected

Delete content of Array

Parameters
item_sizesize of item
ddestructor function
alltrue = delete reserved data
Byte* commore::BaseArray::data ( )
inlineprotected

Raw data access

size_t commore::BaseArray::reserve_ ( size_t  nb,
size_t  item_size,
FunctionConstructor  c,
FunctionDestructor  d 
)
protected

Reserve memory in the array

Parameters
nb
item_sizesize of item
cconstructor function
ddestructor function
Remarks
the effective reserded size will be a multiple of ARRAY_INITIAL_SIZE
size_t commore::BaseArray::reserved ( ) const

Return number of object memory reserved in array

void commore::BaseArray::resize_ ( int  new_size,
size_t  item_size,
FunctionConstructor  c,
FunctionDestructor  d 
)
protected

Resize array

Parameters
new_sizenew size
item_sizesize of item
cconstructor function
ddestructor function
Remarks
capacity is not modified. size will be updated.
when new size is less than current size: for non-scalar types, destructor are called on each removed object
size_t commore::BaseArray::size ( ) const

Return number of object in the array

Examples:
/examples/coding/Array.cpp.
void commore::BaseArray::splice ( BaseArray array)

Transfert array content to curent array


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