Template Dynamic array class that creates an array that can be used like a list or an array.
It grows and shrinks dynamically, while elements can be accessed via index. It is performance tuned for simple types like float etc. and for hi-level objects only stores pointers, which are not automagically SG_REF'd/deleted.
在文件DynamicArray.h第27行定义。
公有成员 | |
CDynamicArray (int32_t p_resize_granularity=128) | |
virtual | ~CDynamicArray () |
int32_t | set_granularity (int32_t g) |
int32_t | get_array_size () |
int32_t | get_num_elements () const |
T | get_element (int32_t index) const |
T | get_element_safe (int32_t index) const |
bool | set_element (T element, int32_t index) |
bool | insert_element (T element, int32_t index) |
bool | append_element (T element) |
int32_t | find_element (T element) |
bool | delete_element (int32_t idx) |
bool | resize_array (int32_t n) |
T * | get_array () |
void | set_array (T *p_array, int32_t p_num_elements, int32_t array_size) |
void | clear_array () |
T | operator[] (int32_t index) const |
CDynamicArray< T > & | operator= (CDynamicArray< T > &orig) |
virtual const char * | get_name () const |
保护属性 | |
int32_t | resize_granularity |
T * | array |
int32_t | num_elements |
int32_t | last_element_idx |
CDynamicArray | ( | int32_t | p_resize_granularity = 128 ) |
virtual ~CDynamicArray | ( | ) | [virtual] |
在文件DynamicArray.h第46行定义。
bool append_element | ( | T | element ) |
append array element to the end of array
element | element to append |
在文件DynamicArray.h第166行定义。
void clear_array | ( | ) |
clear the array (with zeros)
在文件DynamicArray.h第275行定义。
bool delete_element | ( | int32_t | idx ) |
delete array element at idx (does not call delete[] or the like)
idx | index |
在文件DynamicArray.h第200行定义。
int32_t find_element | ( | T | element ) |
find first occurence of array element and return its index or -1 if not available
element | element to search for |
在文件DynamicArray.h第177行定义。
T* get_array | ( | ) |
get the array call get_array just before messing with it DO NOT call any [],resize/delete functions after get_array(), the pointer may become invalid !
在文件DynamicArray.h第255行定义。
int32_t get_array_size | ( | ) |
get array size (including granularity buffer)
在文件DynamicArray.h第64行定义。
T get_element | ( | int32_t | index ) | const |
get array element at index
(does NOT do bounds checking)
index | index |
在文件DynamicArray.h第85行定义。
T get_element_safe | ( | int32_t | index ) | const |
get array element at index
(does bounds checking)
index | index |
在文件DynamicArray.h第97行定义。
virtual const char* get_name | ( | ) | const [virtual] |
int32_t get_num_elements | ( | ) | const |
bool insert_element | ( | T | element, |
int32_t | index | ||
) |
insert array element at index
element | element to insert |
index | index |
在文件DynamicArray.h第145行定义。
CDynamicArray<T>& operator= | ( | CDynamicArray< T > & | orig ) |
operator overload for array assignment
orig | original array |
在文件DynamicArray.h第300行定义。
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
index | index |
在文件DynamicArray.h第290行定义。
bool resize_array | ( | int32_t | n ) |
void set_array | ( | T * | p_array, |
int32_t | p_num_elements, | ||
int32_t | array_size | ||
) |
set the array pointer and free previously allocated memory
p_array | new array |
p_num_elements | last element index + 1 |
array_size | number of elements in array |
在文件DynamicArray.h第266行定义。
bool set_element | ( | T | element, |
int32_t | index | ||
) |
set array element at index
element | element to set |
index | index |
在文件DynamicArray.h第113行定义。
int32_t set_granularity | ( | int32_t | g ) |
set the resize granularity
g | new granularity |
在文件DynamicArray.h第53行定义。
T* array [protected] |
memory for dynamic array
在文件DynamicArray.h第318行定义。
int32_t last_element_idx [protected] |
the element in the array that has largest index
在文件DynamicArray.h第324行定义。
int32_t num_elements [protected] |
the number of potentially used elements in array
在文件DynamicArray.h第321行定义。
int32_t resize_granularity [protected] |
shrink/grow step size
在文件DynamicArray.h第315行定义。