43 DynArray(int32_t p_resize_granularity=128,
bool tracable=
true)
51 array=(T*) calloc(p_resize_granularity,
sizeof(T));
117 return &
array[index];
131 SG_SERROR(
"array index out of bounds (%d >= %d)\n",
151 array[index]=element;
156 array[index]=element;
183 array[index]=element;
243 for (int32_t i=0; i<num; i++)
245 if (
array[i] == element)
268 memset(&
array[last_element_idx], 0,
sizeof(T));
296 p = (T*) realloc(
array, new_num_elements*
sizeof(T));
303 (new_num_elements-num_elements)*
sizeof(T));
305 else if (n+1<new_num_elements)
307 memset(&
array[n+1], 0,
308 (new_num_elements-n-1)*
sizeof(T));
340 inline void set_array(T* p_array, int32_t p_num_elements,
406 inline virtual const char*
get_name()
const {
return "DynArray"; }
T get_element(int32_t index) const
T operator[](int32_t index) const
bool insert_element(T element, int32_t index)
bool append_element(T element)
The CommUlongString kernel may be used to compute the spectrum kernel from strings that have been map...
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)
bool resize_array(int32_t n)
int32_t find_element(T element) const
void push_back(T element)
Template Dynamic array class that creates an array that can be used like a list or an array...
virtual const char * get_name() const
static T max(T a, T b)
return the maximum of two integers
Template Dynamic array class that creates an array that can be used like a list or an array...
bool set_element(T element, int32_t index)
void set_array(T *p_array, int32_t p_num_elements, int32_t array_size)
#define SG_REALLOC(type, ptr, len)
Template Dynamic array class that creates an array that can be used like a list or an array...
DynArray< T > & operator=(DynArray< T > &orig)
static void swap(T &a, T &b)
swap e.g. floats a and b
T * get_element_ptr(int32_t index)
int32_t resize_granularity
T get_element_safe(int32_t index) const
#define SG_MALLOC(type, len)
#define SG_CALLOC(type, len)
DynArray(int32_t p_resize_granularity=128, bool tracable=true)