16 #define AUTO_PACK 0x01 17 #define PACK_NEEDED 0x02 18 #define AUTO_TRIM 0x04 19 #define END_OF_LIST -1 20 #define INVALID_INDEX -1 23 #define MAKE_ARRAYTYPE_DEF(C, T) \ 24 typedef DynaArray<C> T##Array 32 T* _members =
nullptr;
37 void _insertArray(T *array,
int arrayOffset,
int toIndex,
int count);
38 void _swap(
int index1,
int index2);
40 void _deleteExcessCapacity();
41 void _deleteRange(
int frIndex,
int toIndex);
42 void _clearRange(
int frIndex,
int toIndex);
43 void _deleteOrClear(
int frIndex,
int toIndex);
44 bool _setAutoPack(
bool isPack);
45 bool _setAutoTrim(
bool isTrim);
48 inline void setFlags(uint8_t flags) { _flags |= flags; }
50 inline void clearFlags(uint8_t flags) { _flags &= ~flags; }
67 inline uint
count() {
return _count; }
68 inline bool isFull() {
return _count == _capacity; }
69 inline bool isEmpty() {
return _count == 0; }
70 inline void trim() { adjustSize(0); }
71 inline T
get(uint index)
const {
return _members[index]; }
78 T operator [](uint index)
const {
return _members[index]; }
79 T& operator [](uint index) {
return _members[index]; }
91 void setCapacity(uint newCapacity);
92 void determineTheCount(
int invalidValue);
93 void setCount(uint count);
94 void setAutoPackTrim(
bool pack,
bool trim);
95 void adjustSize(
int delta);
96 void adjustSizeLog(
int delta);
99 int indexOf(T value, uint start, uint step);
100 int indexOf(T* value, uint arraySize, uint start, uint step);
101 int indexOf(T value);
102 int indexOf(T* value, uint arraySize);
103 int revIndexOf(T value, uint start, uint step);
104 int revIndexOf(T* value, uint arraySize, uint start, uint step);
105 int revIndexOf(T value);
106 int revIndexOf(T* value, uint arraySize);
108 int insert(
int index, T value);
109 int insert(
int index, T* value);
110 int insert(
int index, T*
values, uint length);
111 int insert(
int index, uint8_t* values, uint offset, uint length);
114 int append(T* values, uint length);
115 int append(uint8_t* values, uint offset, uint length);
117 T setValue(
int index, T value);
118 void move(
int index,
int destIndex);
119 void slide(
int frIndex,
int toIndex);
122 void deleteItem(
int index);
123 void deleteItems(
int frIndex,
int toIndex);
138 : _curIndex(start), _array(array)
142 bool hasNext() {
return _curIndex < _array->_count; }
146 return _curIndex == other._curIndex;
150 return _curIndex != other._curIndex;
153 T operator* ()
const {
154 return _array->
get( _curIndex );
uint getCapacity()
Definition: DynaArray.h:65
GeneratorWrapper< T > values(std::initializer_list< T > values)
Definition: catch.hpp:4009
T * getInternalTypedArray()
Definition: DynaArray.h:72
uint count()
Definition: DynaArray.h:67
CONSTCD11 bool operator==(const day &x, const day &y) NOEXCEPT
Definition: date.h:1274
#define MAKE_ARRAYTYPE_DEF(C, T)
Definition: DynaArray.h:23
bool isEmpty()
Definition: DynaArray.h:69
#define INVALID_INDEX
Definition: DynaArray.h:20
GeneratorWrapper< T > value(T &&value)
Definition: catch.hpp:4005
void clearFlags(uint8_t flags)
Definition: DynaArray.h:50
bool isFull()
Definition: DynaArray.h:68
void trim()
Definition: DynaArray.h:70
#define AUTO_TRIM
Definition: DynaArray.h:18
#define AUTO_PACK
Definition: DynaArray.h:16
Definition: IntWrapper.h:13
std::string trim(std::string const &str)
Returns a new string without whitespace at the start/end.
void setFlags(uint8_t flags)
Definition: DynaArray.h:48
bool hasNext()
Definition: DynaArray.h:142
uint getCount()
Definition: DynaArray.h:66
Definition: DynaArray.h:28
CONSTCD11 bool operator!=(const day &x, const day &y) NOEXCEPT
Definition: date.h:1282
auto operator+=(std::string &lhs, StringRef const &sr) -> std::string &
T get(uint index) const
Definition: DynaArray.h:71
void clearAllFlags()
Definition: DynaArray.h:51
void * getInternalRawArray()
Definition: DynaArray.h:73
DynaArrayIter(const DynaArray< T > *array, int start)
Definition: DynaArray.h:137
std::ostream & operator<<(std::ostream &, Catch_global_namespace_dummy)
int getIndex()
Definition: DynaArray.h:141
Definition: ICopyable.h:8
void setAllFlags(uint8_t flags)
Definition: DynaArray.h:49
Definition: DynaArray.h:26
bool hasPrev()
Definition: DynaArray.h:143