11 #ifndef _DYNAMIC_ARRAY_H_
12 #define _DYNAMIC_ARRAY_H_
28 template <
class T>
class CDynamicArray :
public CSGObject
42 "Memory for dynamic array.");
45 "Element with largest index.");
48 "shrink/grow step size.");
60 return m_array.set_granularity(g);
69 return m_array.get_array_size();
78 return m_array.get_num_elements();
90 return m_array.get_element(index);
102 return m_array.get_element_safe(index);
113 return m_array.set_element(element, index);
124 return m_array.insert_element(element, index);
134 return m_array.append_element(element);
143 {
m_array.push_back(element); }
171 return m_array.find_element(element);
182 return m_array.delete_element(idx);
192 return m_array.resize_array(n);
213 inline void set_array(T* p_array, int32_t p_num_elements,
216 m_array.set_array(p_array, p_num_elements, array_size);
256 return "DynamicArray";
T get_element(int32_t index) const
void set_array(T *p_array, int32_t p_num_elements, int32_t array_size)
bool set_element(T element, int32_t index)
int32_t get_num_elements() const
CDynamicArray(int32_t p_resize_granularity=128)
void push_back(T element)
bool append_element(T element)
T operator[](int32_t index) const
void add(bool *param, const char *name, const char *description="")
bool resize_array(int32_t n)
Class SGObject is the base class of all shogun objects.
CDynamicArray< T > & operator=(CDynamicArray< T > &orig)
Template Dynamic array class that creates an array that can be used like a list or an array...
int32_t set_granularity(int32_t g)
int32_t find_element(T element)
T get_element_safe(int32_t index) const
Template Dynamic array class that creates an array that can be used like a list or an array...
void add_vector(bool **param, index_t *length, const char *name, const char *description="")
bool delete_element(int32_t idx)
virtual const char * get_name() const
bool insert_element(T element, int32_t index)