| Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials |
#include <irrArray.h>
Public Member Functions | |
| u32 | allocated_size () const |
| Get amount of memory allocated. | |
| array (const array< T > &other) | |
| Copy constructor. | |
| array (u32 start_count) | |
| Constructs an array and allocates an initial chunk of memory. | |
| array () | |
| Default constructor for empty array. | |
| s32 | binary_search (const T &element, s32 left, s32 right) const |
| Performs a binary search for an element, returns -1 if not found. | |
| s32 | binary_search (const T &element) |
| Performs a binary search for an element, returns -1 if not found. | |
| s32 | binary_search_const (const T &element) const |
| Performs a binary search for an element, returns -1 if not found. | |
| void | clear () |
| Clears the array and deletes all allocated memory. | |
| const T * | const_pointer () const |
| Gets a const pointer to the array. | |
| bool | empty () const |
| Check if array is empty. | |
| void | erase (u32 index, s32 count) |
| Erases some elements from the array. | |
| void | erase (u32 index) |
| Erases an element from the array. | |
| const T & | getLast () const |
| Gets last element. | |
| T & | getLast () |
| Gets last element. | |
| void | insert (const T &element, u32 index=0) |
| Insert item into array at specified position. | |
| s32 | linear_reverse_search (const T &element) const |
| Finds an element in linear time, which is very slow. | |
| s32 | linear_search (const T &element) const |
| Finds an element in linear time, which is very slow. | |
| bool | operator!= (const array< T > &other) const |
| Inequality operator. | |
| void | operator= (const array< T > &other) |
| Assignment operator. | |
| bool | operator== (const array< T > &other) const |
| Equality operator. | |
| const T & | operator[] (u32 index) const |
| Direct const access operator. | |
| T & | operator[] (u32 index) |
| Direct access operator. | |
| T * | pointer () |
| Gets a pointer to the array. | |
| void | push_back (const T &element) |
| Adds an element at back of array. | |
| void | push_front (const T &element) |
| Adds an element at the front of the array. | |
| void | reallocate (u32 new_size) |
| Reallocates the array, make it bigger or smaller. | |
| void | set_free_when_destroyed (bool f) |
| Sets if the array should delete the memory it uses upon destruction. | |
| void | set_pointer (T *newPointer, u32 size) |
| Sets pointer to new array, using this as new workspace. | |
| void | set_sorted (bool _is_sorted) |
| Sets if the array is sorted. | |
| void | set_used (u32 usedNow) |
| Sets the size of the array and allocates new elements if necessary. | |
| u32 | size () const |
| Get size of array. | |
| void | sort () |
| Sorts the array using heapsort. | |
| ~array () | |
| Destructor. | |
Some features are: Heap sorting, binary search methods, easier debugging.
Definition at line 21 of file irrArray.h.
| irr::core::array< T, TAlloc >::array | ( | ) | [inline] |
| irr::core::array< T, TAlloc >::array | ( | u32 | start_count | ) | [inline] |
Constructs an array and allocates an initial chunk of memory.
| start_count | Amount of elements to pre-allocate. |
Definition at line 35 of file irrArray.h.
| irr::core::array< T, TAlloc >::array | ( | const array< T > & | other | ) | [inline] |
| irr::core::array< T, TAlloc >::~array | ( | ) | [inline] |
Destructor.
Frees allocated memory, if set_free_when_destroyed was not set to false by the user before.
Definition at line 55 of file irrArray.h.
| u32 irr::core::array< T, TAlloc >::allocated_size | ( | ) | const [inline] |
Get amount of memory allocated.
Definition at line 324 of file irrArray.h.
| s32 irr::core::array< T, TAlloc >::binary_search | ( | const T & | element, | |
| s32 | left, | |||
| s32 | right | |||
| ) | const [inline] |
Performs a binary search for an element, returns -1 if not found.
| element,: | Element to search for. | |
| left | First left index | |
| right | Last right index. |
Definition at line 381 of file irrArray.h.
| s32 irr::core::array< T, TAlloc >::binary_search | ( | const T & | element | ) | [inline] |
Performs a binary search for an element, returns -1 if not found.
The array will be sorted before the binary search if it is not already sorted.
| element | Element to search for. |
Definition at line 357 of file irrArray.h.
Referenced by irr::core::array< irr::scene::IMeshBuffer * >::binary_search(), and irr::core::array< irr::scene::IMeshBuffer * >::binary_search_const().
| s32 irr::core::array< T, TAlloc >::binary_search_const | ( | const T & | element | ) | const [inline] |
Performs a binary search for an element, returns -1 if not found.
The array must be sorted prior
| element | Element to search for. |
Definition at line 369 of file irrArray.h.
| void irr::core::array< T, TAlloc >::clear | ( | ) | [inline] |
Clears the array and deletes all allocated memory.
Definition at line 164 of file irrArray.h.
Referenced by irr::scene::quake3::getAsStringList(), and irr::scene::quake3::getTextures().
| const T* irr::core::array< T, TAlloc >::const_pointer | ( | ) | const [inline] |
Gets a const pointer to the array.
Definition at line 307 of file irrArray.h.
Referenced by irr::scene::CMeshBuffer< T >::getVertices().
| bool irr::core::array< T, TAlloc >::empty | ( | ) | const [inline] |
Check if array is empty.
Definition at line 332 of file irrArray.h.
Referenced by irr::scene::CMeshBuffer< T >::recalculateBoundingBox().
| void irr::core::array< T, TAlloc >::erase | ( | u32 | index, | |
| s32 | count | |||
| ) | [inline] |
Erases some elements from the array.
May be slow, because all elements following after the erased element have to be copied.
| index,: | Index of the first element to be erased. | |
| count,: | Amount of elements to be erased. |
Definition at line 468 of file irrArray.h.
| void irr::core::array< T, TAlloc >::erase | ( | u32 | index | ) | [inline] |
Erases an element from the array.
May be slow, because all elements following after the erased element have to be copied.
| index,: | Index of element to be erased. |
Definition at line 447 of file irrArray.h.
| const T& irr::core::array< T, TAlloc >::getLast | ( | ) | const [inline] |
| T& irr::core::array< T, TAlloc >::getLast | ( | ) | [inline] |
| void irr::core::array< T, TAlloc >::insert | ( | const T & | element, | |
| u32 | index = 0 | |||
| ) | [inline] |
Insert item into array at specified position.
Please use this only if you know what you are doing (possible performance loss). The preferred method of adding elements should be push_back().
| element,: | Element to be inserted | |
| index,: | Where position to insert the new element. |
Definition at line 141 of file irrArray.h.
Referenced by irr::core::array< irr::scene::IMeshBuffer * >::push_front().
| s32 irr::core::array< T, TAlloc >::linear_reverse_search | ( | const T & | element | ) | const [inline] |
Finds an element in linear time, which is very slow.
Use binary_search for faster finding. Only works if ==operator is implemented.
| element,: | Element to search for. |
Definition at line 433 of file irrArray.h.
| s32 irr::core::array< T, TAlloc >::linear_search | ( | const T & | element | ) | const [inline] |
Finds an element in linear time, which is very slow.
Use binary_search for faster finding. Only works if ==operator is implemented.
| element | Element to search for. |
Definition at line 417 of file irrArray.h.
| bool irr::core::array< T, TAlloc >::operator!= | ( | const array< T > & | other | ) | const [inline] |
| void irr::core::array< T, TAlloc >::operator= | ( | const array< T > & | other | ) | [inline] |
| bool irr::core::array< T, TAlloc >::operator== | ( | const array< T > & | other | ) | const [inline] |
| const T& irr::core::array< T, TAlloc >::operator[] | ( | u32 | index | ) | const [inline] |
| T& irr::core::array< T, TAlloc >::operator[] | ( | u32 | index | ) | [inline] |
| T* irr::core::array< T, TAlloc >::pointer | ( | ) | [inline] |
Gets a pointer to the array.
Definition at line 299 of file irrArray.h.
Referenced by irr::scene::CMeshBuffer< T >::getVertices().
| void irr::core::array< T, TAlloc >::push_back | ( | const T & | element | ) | [inline] |
Adds an element at back of array.
If the array is too small to add this new element it is made bigger.
| element,: | Element to add at the back of the array. |
Definition at line 99 of file irrArray.h.
Referenced by irr::scene::CMeshBuffer< T >::append(), irr::scene::quake3::getAsStringList(), and irr::scene::quake3::getTextures().
| void irr::core::array< T, TAlloc >::push_front | ( | const T & | element | ) | [inline] |
Adds an element at the front of the array.
If the array is to small to add this new element, the array is made bigger. Please note that this is slow, because the whole array needs to be copied for this.
| element | Element to add at the back of the array. |
Definition at line 129 of file irrArray.h.
| void irr::core::array< T, TAlloc >::reallocate | ( | u32 | new_size | ) | [inline] |
Reallocates the array, make it bigger or smaller.
| new_size | New size of array. |
Definition at line 69 of file irrArray.h.
Referenced by irr::scene::CMeshBuffer< T >::append(), irr::core::array< irr::scene::IMeshBuffer * >::array(), irr::core::array< irr::scene::IMeshBuffer * >::insert(), irr::core::array< irr::scene::IMeshBuffer * >::push_back(), and irr::core::array< irr::scene::IMeshBuffer * >::set_used().
| void irr::core::array< T, TAlloc >::set_free_when_destroyed | ( | bool | f | ) | [inline] |
Sets if the array should delete the memory it uses upon destruction.
| f | If true, the array frees the allocated memory in its destructor, otherwise not. The default is true. |
Definition at line 196 of file irrArray.h.
| void irr::core::array< T, TAlloc >::set_pointer | ( | T * | newPointer, | |
| u32 | size | |||
| ) | [inline] |
| void irr::core::array< T, TAlloc >::set_sorted | ( | bool | _is_sorted | ) | [inline] |
| void irr::core::array< T, TAlloc >::set_used | ( | u32 | usedNow | ) | [inline] |
Sets the size of the array and allocates new elements if necessary.
Please note: This is only secure when using it with simple types, because no default constructor will be called for the added elements.
| usedNow | Amount of elements now used. |
Definition at line 206 of file irrArray.h.
| u32 irr::core::array< T, TAlloc >::size | ( | ) | const [inline] |
Get size of array.
Definition at line 315 of file irrArray.h.
Referenced by irr::scene::quake3::getAsStringList(), irr::scene::quake3::getTextures(), irr::scene::CMeshBuffer< T >::getVertexCount(), and irr::scene::CMeshBuffer< T >::recalculateBoundingBox().
| void irr::core::array< T, TAlloc >::sort | ( | ) | [inline] |
Sorts the array using heapsort.
There is no additional memory waste and the algorithm performs O(n*log n) in worst case.
Definition at line 341 of file irrArray.h.
Referenced by irr::core::array< irr::scene::IMeshBuffer * >::binary_search().
| The Irrlicht
Engine Documentation © 2003-2008 by Nikolaus Gebhardt. Generated
on Sun Dec 14 08:04:49 2008 by Doxygen
(1.5.6) |