|
iterator | begin () |
|
const_iterator | begin () const |
|
iterator | end () |
|
const_iterator | end () const |
|
std::reverse_iterator< iterator > | rbegin () |
|
std::reverse_iterator< const_iterator > | rbegin () const |
|
std::reverse_iterator< iterator > | rend () |
|
std::reverse_iterator< const_iterator > | rend () const |
|
void | insert (iterator before, const_iterator first, const_iterator afterLast) |
|
void | insertMove (iterator before, iterator first, iterator afterLast) |
|
void | resize (size_type logicalLength, const T &value) |
|
void | resize (size_type logicalLength) |
|
size_type | size () const |
|
bool | empty () const |
|
size_type | capacity () const |
|
void | reserve (size_type reserveLength) |
|
void | assign (const_iterator first, const_iterator afterLast) |
|
void | assignMove (iterator first, iterator afterLast) |
|
iterator | erase (iterator first, iterator afterLast) |
|
iterator | erase (iterator where) |
|
void | clear () |
|
void | push_back (const T &value) |
|
void | push_back (T &&value) |
|
iterator | insert (iterator before, size_type numElements, const T &value) |
|
iterator | insert (iterator before, const T &value=T()) |
|
iterator | insert (iterator before, T &&value) |
|
bool | contains (const ConstForPtrT &value, size_type start=0) const |
|
size_type | length () const |
|
bool | isEmpty () const |
|
size_type | logicalLength () const |
|
size_type | physicalLength () const |
|
int | growLength () const |
|
const T * | asArrayPtr () const |
|
const T * | getPtr () const |
|
T * | asArrayPtr () |
|
const T & | operator[] (size_type index) const |
|
T & | operator[] (size_type index) |
|
T & | at (size_type arrayIndex) |
|
const T & | at (size_type arrayIndex) const |
|
OdArray & | setAt (size_type arrayIndex, const T &value) |
|
const T & | getAt (size_type arrayIndex) const |
|
T & | first () |
|
const T & | first () const |
|
T & | last () |
|
const T & | last () const |
|
size_type | append (const T &value) |
|
size_type | append (T &&value) |
|
OdArray & | insertAtMove (size_type index, T &value) |
|
size_type | appendMove (T &value) |
|
OdArray & | appendMove (OdArray &otherArray) |
|
OdArray & | appendRep (const T &value, size_type nCount) |
|
template<typename... Args> |
OdArray & | appendList (const Args &... args) |
|
iterator | append () |
|
OdArray & | removeFirst () |
|
OdArray & | removeLast () |
|
OdArray & | setGrowLength (int growLength) |
|
| OdArray (size_type physicalLength, int growLength=8) |
|
| OdArray () |
|
| OdArray (const OdArray &source) |
|
| OdArray (OdArray &&source) |
|
| ~OdArray () |
|
OdArray & | operator= (const OdArray &source) |
|
OdArray & | operator= (OdArray &&source) |
|
bool | operator== (const OdArray &array) const |
|
bool | operator!= (const OdArray &array) const |
|
OdArray & | setAll (const T &value) |
|
OdArray & | append (const OdArray &otherArray) |
|
OdArray & | append (OdArray &&otherArray) |
|
OdArray & | insertAt (size_type arrayIndex, const T &value) |
|
OdArray & | insertAt (size_type index, T &&val) |
|
OdArray & | removeAt (size_type arrayIndex) |
|
OdArray & | removeSubArray (size_type startIndex, size_type endIndex) |
|
bool | find (const ConstForPtrT &value, size_type &findIndex, size_type start=0) const |
|
OdArray & | setLogicalLength (size_type logLength) |
|
OdArray & | setPhysicalLength (size_type physLength) |
|
OdArray & | reverse () |
|
OdArray & | swap (size_type firstIndex, size_type secondIndex) |
|
void | swap (OdArray &other) |
|
bool | remove (const T &value, size_type start=0) |
|
template<class T, class A>
class OdArray< T, A >
This template class implements dynamic array objects within the ODA Platform.
The OdArray class uses copy-on-write (implicit sharing) to duplicate or copy data.
This prevents accidental corruption of unrelated data when changing the contents of an OdArray object. OdArray objects share data when possible, which reduces memory consumption and unnecessary data copying.
Use the OdArray class to avoid unnecessary array copies in cases where, according to the rules of C++, OdVector is copied, although this is not necessary. However, OdArray does not support C++11 move semantics, which OdVector supports. The OdArray class works similarly to QList.
Methods are provided to access array elements via both array indices and array pointers (iterators).
Definitions:
- Logical length or size – The number of entries in the array. Initially zero.
- Physical length – The maximum logical length of the array before it automatically grows.
- Grow length – The number of entries by which the physical length will grow as required.
- See also
- TD_Db
<group Other_Classes>
Definition at line 828 of file OdArray.h.
template<class T , class A >
Inserts the specified value into this Array object at the specified index using move semantics.
- Parameters
-
arrayIndex | [in] Array index. |
value | [in] Value to insert. |
Elements starting at arrayIndex will have their indices incremented.
0 <= arrayIndex <= length()
Returns a reference to this Array object.
Definition at line 1761 of file OdArray.h.