Public Member Functions | Protected Attributes

CArray< T > Class Template Reference


Detailed Description

template<class T>
class shogun::CArray< T >

Template class Array implements a dense one dimensional array.

Note that depending on compile options everything will be inlined, such that this is as high performance array implementation without error checking.

Definition at line 80 of file Array.h.

Inheritance diagram for CArray< T >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CArray (int32_t initial_size=1)
 CArray (T *p_array, int32_t p_array_size, bool p_free_array=true, bool p_copy_array=false)
 CArray (const T *p_array, int32_t p_array_size)
virtual ~CArray ()
virtual const char * get_name () const
void set_name (const char *p_name)
int32_t get_array_size () const
int32_t get_dim1 ()
void zero ()
void set_const (T const_elem)
const T & get_element (int32_t index) const
bool set_element (const T &p_element, int32_t index)
const T & element (int32_t idx1) const
T & element (int32_t index)
T & element (T *p_array, int32_t index)
bool resize_array (int32_t n)
T * get_array ()
void set_array (T *p_array, int32_t p_array_size, bool p_free_array=true, bool copy_array=false)
void set_array (const T *p_array, int32_t p_array_size)
void clear_array ()
const T & operator[] (int32_t index) const
T & operator[] (int32_t index)
CArray< T > & operator= (const CArray< T > &orig)
void display_size () const
void display_array () const

Protected Attributes

T * array
int32_t array_size
bool free_array
const char * name
 DECLARE_ARRAY_STATISTICS

Constructor & Destructor Documentation

CArray ( int32_t  initial_size = 1  ) 

constructor

Parameters:
initial_size initial size of array

Definition at line 87 of file Array.h.

CArray ( T *  p_array,
int32_t  p_array_size,
bool  p_free_array = true,
bool  p_copy_array = false 
)

constructor

Parameters:
p_array another array
p_array_size size of another array
p_free_array if array must be freed
p_copy_array if array must be copied

Definition at line 103 of file Array.h.

CArray ( const T *  p_array,
int32_t  p_array_size 
)

constructor

Parameters:
p_array another array
p_array_size size of another array

Definition at line 116 of file Array.h.

virtual ~CArray (  )  [virtual]

Definition at line 123 of file Array.h.


Member Function Documentation

void clear_array ( void   ) 

clear the array (with zeros)

Definition at line 315 of file Array.h.

void display_array (  )  const
void display_size (  )  const
T& element ( int32_t  index  ) 

get element at given index

Parameters:
index index
Returns:
element at given index

Definition at line 220 of file Array.h.

T& element ( T *  p_array,
int32_t  index 
)

get element of given array at given index

Parameters:
p_array another array
index index
Returns:
element of given array at given index

Definition at line 235 of file Array.h.

const T& element ( int32_t  idx1  )  const

get element at given index

Parameters:
idx1 index
Returns:
element at given index

Definition at line 209 of file Array.h.

T* get_array ( void   ) 

call get_array just before messing with it DO NOT call any [],resize/delete functions after get_array(), the pointer may become invalid!

Returns:
the array

Reimplemented in CArray2< T >, CArray3< T >, CArray2< CPlifBase * >, CArray2< float64_t >, CArray2< float32_t >, CArray2< int32_t >, and CArray3< float64_t >.

Definition at line 269 of file Array.h.

int32_t get_array_size ( void   )  const

get array size (including granularity buffer)

Returns:
total array size

Definition at line 150 of file Array.h.

int32_t get_dim1 (  ) 

get array size (including granularity buffer)

Returns:
total array size

Reimplemented in CArray2< T >, CArray3< T >, CArray2< CPlifBase * >, CArray2< float64_t >, CArray2< float32_t >, CArray2< int32_t >, and CArray3< float64_t >.

Definition at line 159 of file Array.h.

const T& get_element ( int32_t  index  )  const

get array element at index

Parameters:
index index
Returns:
array element at index

Definition at line 183 of file Array.h.

virtual const char* get_name ( void   )  const [virtual]

get name

Returns:
name

Implements CSGObject.

Definition at line 135 of file Array.h.

CArray<T>& operator= ( const CArray< T > &  orig  ) 

operator overload for array assignment

Parameters:
orig original array
Returns:
new array

Definition at line 353 of file Array.h.

const T& operator[] ( int32_t  index  )  const

operator overload for array read only access use set_element() for write access (will also make the array dynamically grow)

DOES NOT DO ANY BOUNDS CHECKING

Parameters:
index 
Returns:
element at index

Definition at line 329 of file Array.h.

T& operator[] ( int32_t  index  ) 

operator overload for array read only access

DOES NOT DO ANY BOUNDS CHECKING

Parameters:
index 
Returns:
element at index

Definition at line 342 of file Array.h.

bool resize_array ( int32_t  n  ) 

resize array

Parameters:
n new size
Returns:
if resizing was successful

Definition at line 248 of file Array.h.

void set_array ( const T *  p_array,
int32_t  p_array_size 
)

set the array pointer and free previously allocated memory

Parameters:
p_array another array
p_array_size size of another array

Definition at line 304 of file Array.h.

void set_array ( T *  p_array,
int32_t  p_array_size,
bool  p_free_array = true,
bool  copy_array = false 
)

set the array pointer and free previously allocated memory

Parameters:
p_array another array
p_array_size size of another array
p_free_array if array must be freed
copy_array if array must be copied

Definition at line 282 of file Array.h.

void set_const ( const_elem  ) 

set array with a constant

Reimplemented in CArray2< T >, CArray3< T >, CArray2< CPlifBase * >, CArray2< float64_t >, CArray2< float32_t >, CArray2< int32_t >, and CArray3< float64_t >.

Definition at line 172 of file Array.h.

bool set_element ( const T &  p_element,
int32_t  index 
)

set array element at index 'index' return false in case of trouble

Parameters:
p_element array element to set
index index
Returns:
if setting was successful

Definition at line 196 of file Array.h.

void set_name ( const char *  p_name  ) 

set name

Parameters:
p_name new name

Reimplemented in CArray2< T >, CArray3< T >, CArray2< CPlifBase * >, CArray2< float64_t >, CArray2< float32_t >, CArray2< int32_t >, and CArray3< float64_t >.

Definition at line 141 of file Array.h.

void zero (  ) 

Member Data Documentation

T* array [protected]

memory for dynamic array

Definition at line 379 of file Array.h.

int32_t array_size [protected]

the number of potentially used elements in array

Definition at line 381 of file Array.h.

array statistics

Definition at line 387 of file Array.h.

bool free_array [protected]

if array must be freed

Definition at line 383 of file Array.h.

const char* name [protected]

array's name

Definition at line 385 of file Array.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation