44 DynArray(int32_t p_resize_granularity=128,
bool tracable=
true)
51 array=SG_MALLOC(T, p_resize_granularity);
53 array=(T*) malloc(
size_t(p_resize_granularity)*
sizeof(T));
67 DynArray(T* p_array, int32_t p_array_size,
bool p_free_array,
bool p_copy_array,
bool tracable=
true)
74 set_array(p_array, p_array_size, p_array_size, p_free_array, p_copy_array);
83 DynArray(
const T* p_array, int32_t p_array_size,
bool tracable=
true)
90 set_array(p_array, p_array_size, p_array_size);
165 return &
array[index];
179 SG_SERROR(
"array index out of bounds (%d >= %d)\n",
199 array[index]=element;
204 array[index]=element;
231 array[index]=element;
297 for (int32_t i=0; i<num; i++)
299 if (
array[i] == element)
322 current_num_elements--;
342 int32_t new_num_elements=n;
353 array = (T*) realloc(
array, new_num_elements*
sizeof(T));
362 return array || new_num_elements==0;
385 inline void set_array(T* p_array, int32_t p_num_elements,
386 int32_t p_array_size,
bool p_free_array,
bool p_copy_array)
394 array=SG_MALLOC(T, p_array_size);
396 array=(T*) malloc(p_array_size*
sizeof(T));
397 memcpy(
array, p_array, p_array_size*
sizeof(T));
413 inline void set_array(
const T* p_array, int32_t p_num_elements,
414 int32_t p_array_size)
420 array=SG_MALLOC(T, p_array_size);
422 array=(T*) malloc(p_array_size*
sizeof(T));
423 memcpy(
array, p_array, p_array_size*
sizeof(T));
465 array[i]=const_element;
511 virtual const char*
get_name()
const {
return "DynArray"; }
int32_t current_num_elements
T get_element(int32_t index) const
T operator[](int32_t index) const
void shuffle(CRandom *rand)
uint64_t random(uint64_t min_value, uint64_t max_value)
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
void set_array(const T *p_array, int32_t p_num_elements, int32_t p_array_size)
int32_t get_num_elements() const
bool delete_element(int32_t idx)
int32_t set_granularity(int32_t g)
Template Dynamic array class that creates an array that can be used like a list or an array...
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...
void clear_array(T value)
DynArray(const T *p_array, int32_t p_array_size, bool tracable=true)
virtual const char * get_name() const
Dynamic array class for CSGObject pointers that creates an array that can be used like a list or an a...
bool set_element(T element, int32_t index)
T get_last_element() const
bool resize_array(int32_t n, bool exact_resize=false)
DynArray(T *p_array, int32_t p_array_size, bool p_free_array, bool p_copy_array, bool tracable=true)
: Pseudo random number geneartor
all of classes and functions are contained in the shogun namespace
void set_array(T *p_array, int32_t p_num_elements, int32_t p_array_size, bool p_free_array, bool p_copy_array)
DynArray< T > & operator=(DynArray< T > &orig)
static void swap(T &a, T &b)
T * get_element_ptr(int32_t index)
int32_t resize_granularity
T get_element_safe(int32_t index) const
void set_const(const T &const_element)
DynArray(int32_t p_resize_granularity=128, bool tracable=true)