2#ifdef USE_INITIALIZER_LIST
82#ifdef USE_INITIALIZER_LIST
85 Vector(std::initializer_list<T> iniList) {
88 for (
auto &obj : iniList) {
111 for (
int j = 0; j <
size; j++) {
133 for (
int j = 0; j < copyFrom.
len; j++) {
140 template <
typename TT,
int N>
143 for (
int j = 0; j < N; j++) {
152 for (
int j = 0; j < copyFrom.
len; j++) {
162 this->
len = to - from;
164 for (
size_t j = 0; j < this->
len; j++) {
197 for (
int j =
len; j >= 0; j--) {
207 for (
int j =
len; j >= 0; j--) {
223 size_t newLen = v2 - v1;
227 for (
auto ptr = v1; ptr != v2; ptr++) {
235 for (
int j = 0; j < number; j++) {
268 for (
int j = 0; j < newSize; j++) {
281 int oldSize = this->
len;
284 return this->
len != oldSize &&
data() !=
nullptr;
299 int lenToEnd =
len - pos - 1;
303 memmove((
void *)&
p_data[pos], (
void *)(&
p_data[pos + 1]),
304 lenToEnd *
sizeof(T));
307#if defined(NO_INPLACE_INIT_SUPPORT)
318 operator bool()
const {
return p_data !=
nullptr; }
321 for (
int j = 0; j <
size(); j++) {
322 if (
p_data[j] == obj)
return j;
342 other.bufferLen = temp_blen;
343 other.len = temp_len;
344 other.p_data = temp_data;
361 if (newSize <= 0)
return;
362 if (newSize >
bufferLen || this->p_data ==
nullptr || shrink) {
367 this->bufferLen = newSize;
368 if (oldData !=
nullptr) {
369 if (copy && this->len > 0) {
371 memmove((
void*)
p_data, (
void*)oldData,
len *
sizeof(T));
373 memset((
void*)oldData, 0,
len *
sizeof(T));
376 cleanup(oldData, newSize, oldBufferLen);
388 data =
new T[newSize];
403 for (
int j = from; j < to; j++) {
#define assert(T)
Definition avr.h:10