|
Blender V5.0
|
Very simple array container with fast access and simd memory. More...
#include <gim_array.h>
Public Member Functions | |
| void | destroyData () |
| bool | resizeData (GUINT newsize) |
| bool | growingCheck () |
| bool | reserve (GUINT size) |
| void | clear_range (GUINT start_range) |
| void | clear () |
| void | clear_memory () |
| gim_array () | |
| gim_array (GUINT reservesize) | |
| ~gim_array () | |
| GUINT | size () const |
| GUINT | max_size () const |
| T & | operator[] (size_t i) |
| const T & | operator[] (size_t i) const |
| T * | pointer () |
| const T * | pointer () const |
| T * | get_pointer_at (GUINT i) |
| const T * | get_pointer_at (GUINT i) const |
| T & | at (GUINT i) |
| const T & | at (GUINT i) const |
| T & | front () |
| const T & | front () const |
| T & | back () |
| const T & | back () const |
| void | swap (GUINT i, GUINT j) |
| void | push_back (const T &obj) |
| void | push_back_mem () |
| Simply increase the m_size, doesn't call the new element constructor. | |
| void | push_back_memcpy (const T &obj) |
| void | pop_back () |
| void | pop_back_mem () |
| Simply decrease the m_size, doesn't call the deleted element destructor. | |
| void | erase (GUINT index) |
| fast erase | |
| void | erase_sorted_mem (GUINT index) |
| void | erase_sorted (GUINT index) |
| void | insert_mem (GUINT index) |
| void | insert (const T &obj, GUINT index) |
| void | resize (GUINT size, bool call_constructor=true, const T &fillData=T()) |
| void | refit () |
Public Attributes | |
| T * | m_data |
| GUINT | m_size |
| GUINT | m_allocated_size |
Very simple array container with fast access and simd memory.
Definition at line 42 of file gim_array.h.
Definition at line 122 of file gim_array.h.
References m_allocated_size, m_data, and m_size.
Definition at line 129 of file gim_array.h.
References GUINT, m_allocated_size, m_data, m_size, and reserve().
Definition at line 138 of file gim_array.h.
References clear_memory().
Definition at line 198 of file gim_array.h.
References m_data, m_size, and T.
Referenced by GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::find_collision_pairs(), gim_contact_array::merge_contacts(), and gim_contact_array::merge_contacts_unique().
Definition at line 203 of file gim_array.h.
Definition at line 110 of file gim_array.h.
References clear_range(), and m_size.
Referenced by clear_memory().
Definition at line 116 of file gim_array.h.
References clear(), and destroyData().
Referenced by ~gim_array().
protected operations
Definition at line 54 of file gim_array.h.
References gim_free(), m_allocated_size, and m_data.
Referenced by clear_memory(), and resizeData().
fast erase
Definition at line 247 of file gim_array.h.
References GUINT, m_size, pop_back(), and swap.
Definition at line 265 of file gim_array.h.
References erase_sorted_mem(), GUINT, and m_data.
Definition at line 256 of file gim_array.h.
References gim_simd_memcpy(), GUINT, i, m_data, m_size, and T.
Referenced by erase_sorted().
Definition at line 188 of file gim_array.h.
Definition at line 193 of file gim_array.h.
Definition at line 82 of file gim_array.h.
References GIM_ARRAY_GROW_FACTOR, GIM_ARRAY_GROW_INCREMENT, GUINT, m_allocated_size, m_size, and resizeData().
Referenced by insert_mem(), push_back(), push_back_mem(), and push_back_memcpy().
Definition at line 281 of file gim_array.h.
References GUINT, insert_mem(), m_data, and T.
Definition at line 271 of file gim_array.h.
References gim_simd_memcpy(), growingCheck(), GUINT, i, m_data, m_size, and T.
Referenced by insert().
Definition at line 148 of file gim_array.h.
References GUINT, and m_allocated_size.
Definition at line 153 of file gim_array.h.
Definition at line 157 of file gim_array.h.
Definition at line 162 of file gim_array.h.
Referenced by gim_contact_array::merge_contacts().
Definition at line 163 of file gim_array.h.
Definition at line 234 of file gim_array.h.
References m_data, and m_size.
Referenced by erase(), and GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::find_collision_pairs().
Simply decrease the m_size, doesn't call the deleted element destructor.
Definition at line 241 of file gim_array.h.
References m_size.
Definition at line 213 of file gim_array.h.
References growingCheck(), m_size, and T.
Referenced by GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::boxQuery(), and GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::rayQuery().
Simply increase the m_size, doesn't call the new element constructor.
Definition at line 221 of file gim_array.h.
References growingCheck().
Definition at line 227 of file gim_array.h.
References gim_simd_memcpy(), growingCheck(), m_size, and T.
Definition at line 312 of file gim_array.h.
References m_size, and resizeData().
public operations
Definition at line 96 of file gim_array.h.
References GUINT, m_allocated_size, resizeData(), and size().
Referenced by GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::find_collision_pairs(), gim_array(), and resize().
|
inline |
Definition at line 287 of file gim_array.h.
References clear_range(), GUINT, m_data, m_size, reserve(), size(), and T.
Referenced by GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::buildSet(), and gim_contact_array::merge_contacts().
Definition at line 62 of file gim_array.h.
References destroyData(), gim_alloc(), gim_realloc(), GUINT, m_allocated_size, m_data, m_size, and T.
Referenced by growingCheck(), refit(), and reserve().
Definition at line 143 of file gim_array.h.
Referenced by GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::boxQuery(), GIM_BOX_TREE::build_tree(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::buildSet(), GIM_TREE_TREE_COLLIDER< BOX_SET_CLASS0, BOX_SET_CLASS1 >::find_collision_pairs(), gim_contact_array::merge_contacts(), gim_contact_array::merge_contacts_unique(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::rayQuery(), reserve(), and resize().
Definition at line 208 of file gim_array.h.
References gim_swap_elements(), GUINT, i, and m_data.
Referenced by GIM_BOX_TREE::_sort_and_calc_splitting_index().
Definition at line 49 of file gim_array.h.
Referenced by destroyData(), gim_array(), gim_array(), growingCheck(), max_size(), reserve(), and resizeData().
properties
Definition at line 47 of file gim_array.h.
Referenced by GIM_BOX_TREE::_build_sub_tree(), at(), at(), back(), back(), GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::buildSet(), clear_range(), destroyData(), erase_sorted(), erase_sorted_mem(), front(), front(), get_pointer_at(), get_pointer_at(), gim_array(), gim_array(), insert(), insert_mem(), operator[](), operator[](), pointer(), pointer(), pop_back(), resize(), resizeData(), and swap().
Definition at line 48 of file gim_array.h.
Referenced by back(), back(), clear(), clear_range(), erase(), erase_sorted_mem(), gim_array(), gim_array(), growingCheck(), insert_mem(), pop_back(), pop_back_mem(), push_back(), push_back_memcpy(), refit(), resize(), resizeData(), and size().