12 #ifndef _DYNAMIC_REFOBJECT_ARRAY_H_
13 #define _DYNAMIC_REFOBJECT_ARRAY_H_
17 #include <shogun/base/RefObject.h>
52 :
CSGObject(), m_array(dim1*dim2*dim3), name(
"Array")
67 :
CSGObject(), m_array(p_array, p_dim1_size, p_free_array, p_copy_array), name(
"Array")
69 dim1_size=p_dim1_size;
83 bool p_free_array=
true,
bool p_copy_array=
false)
84 :
CSGObject(), m_array(p_array, p_dim1_size*p_dim2_size, p_free_array, p_copy_array), name(
"Array")
86 dim1_size=p_dim1_size;
87 dim2_size=p_dim2_size;
101 int32_t p_dim3_size,
bool p_free_array=
true,
bool p_copy_array=
false)
102 :
CSGObject(), m_array(p_array, p_dim1_size*p_dim2_size*p_dim3_size, p_free_array, p_copy_array), name(
"Array")
104 dim1_size=p_dim1_size;
105 dim2_size=p_dim2_size;
106 dim3_size=p_dim3_size;
200 inline CRefObject*
element(int32_t idx1, int32_t idx2=0, int32_t idx3=0)
202 return get_element(idx1+dim1_size*(idx2+dim2_size*idx3));
238 inline bool set_element(CRefObject* e, int32_t idx1, int32_t idx2=0, int32_t idx3=0)
240 int32_t idx = idx1+dim1_size*(idx2+dim2_size*idx3);
241 CRefObject* old=NULL;
302 CRefObject* e=m_array.
back();
313 inline CRefObject*
back()
const
315 CRefObject* e=m_array.
back();
375 m_array=orig.m_array;
405 {
return "DynamicRefObjectArray"; }
409 inline void unref_all()
420 DynArray<CRefObject*> m_array;
int32_t set_granularity(int32_t g)
T get_element(int32_t index) const
Dynamic array class for CRefObject pointers that creates an array that can be used like a list or an ...
Class SGRefObject is a reference count based memory management class.
void shuffle(CRandom *rand)
bool insert_element(T element, int32_t index)
bool append_element(T element)
bool set_element(CRefObject *e, int32_t idx1, int32_t idx2=0, int32_t idx3=0)
SGDynamicRefObjectArray(int32_t dim1, int32_t dim2=1, int32_t dim3=1)
int32_t get_array_size() const
int32_t get_num_elements() const
bool delete_element(int32_t idx)
int32_t set_granularity(int32_t g)
CRefObject * element(int32_t idx1, int32_t idx2=0, int32_t idx3=0)
bool append_element(CRefObject *e)
SGDynamicRefObjectArray(CRefObject **p_array, int32_t p_dim1_size, int32_t p_dim2_size, bool p_free_array=true, bool p_copy_array=false)
virtual const char * get_name() const
int32_t find_element(T element) const
void get_array_size(int32_t &dim1, int32_t &dim2)
Class SGObject is the base class of all shogun objects.
void push_back(T element)
SGDynamicRefObjectArray & operator=(SGDynamicRefObjectArray &orig)
void set_array_name(const char *p_name)
void clear_array(T value)
virtual ~SGDynamicRefObjectArray()
bool set_element(T element, int32_t index)
void push_back(CRefObject *e)
T get_last_element() const
int32_t find_element(CRefObject *elem) const
const char * get_array_name() const
: Pseudo random number geneartor
CRefObject * get_element(int32_t index) const
bool insert_element(CRefObject *e, int32_t index)
int32_t get_num_elements() const
CRefObject * back() const
SGDynamicRefObjectArray()
SGDynamicRefObjectArray(CRefObject **p_array, int32_t p_dim1_size, int32_t p_dim2_size, int32_t p_dim3_size, bool p_free_array=true, bool p_copy_array=false)
CRefObject * get_last_element() const
void get_array_size(int32_t &dim1, int32_t &dim2, int32_t &dim3)
T * get_element_ptr(int32_t index)
CRefObject * get_element_safe(int32_t index) const
T get_element_safe(int32_t index) const
SGDynamicRefObjectArray(CRefObject **p_array, int32_t p_dim1_size, bool p_free_array=true, bool p_copy_array=false)
bool delete_element(int32_t idx)
CRefObject ** get_array() const