50 <<
"bad size " << this->size_
56 this->v_ =
new T[this->size_];
69 FatalErrorIn(
"List<T>::List(const label size, const T&)")
70 <<
"bad size " << this->size_
76 this->v_ =
new T[this->size_];
94 this->v_ =
new T[this->size_];
99 memcpy(this->v_, a.v_, this->
byteSize());
134 else if (this->size_)
136 this->v_ =
new T[this->size_];
141 memcpy(this->v_, a.v_, this->
byteSize());
160 UList<
T>(NULL, map.size())
166 this->v_ =
new T[this->size_];
170 this->v_[i] = a[map[i]];
178 template<
class InputIterator>
184 InputIterator iter = first;
198 InputIterator iter = first;
203 this->operator[](s++) = iter();
210 template<
unsigned Size>
217 this->v_ =
new T[this->size_];
231 UList<
T>(NULL, lst.size())
235 this->v_ =
new T[this->size_];
249 UList<
T>(NULL, lst.size())
253 this->v_ =
new T[this->size_];
273 UList<
T>(NULL, lst.size())
277 this->v_ =
new T[this->size_];
291 UList<
T>(NULL, lst.size())
295 this->v_ =
new T[this->size_];
309 UList<
T>(NULL, lst.size())
313 this->v_ =
new T[this->size_];
329 if (this->v_)
delete[] this->v_;
341 <<
"bad set size " << newSize
345 if (newSize != this->size_)
349 T* nv =
new T[label(newSize)];
353 register label i =
min(this->size_, newSize);
358 memcpy(nv, this->v_, i*
sizeof(
T));
363 register T* vv = &this->v_[i];
364 register T* av = &nv[i];
365 while (i--) *--av = *--vv;
368 if (this->v_)
delete[] this->v_;
370 this->size_ = newSize;
384 label oldSize = this->size_;
387 if (newSize > oldSize)
389 register label i = newSize - oldSize;
390 register T* vv = &this->v_[newSize];
391 while (i--) *--vv = a;
399 if (this->v_)
delete[] this->v_;
410 if (this->v_)
delete[] this->v_;
411 this->size_ = a.size_;
422 template<
unsigned SizeInc,
unsigned SizeMult,
unsigned SizeDiv>
427 transfer(
static_cast<List<T>&
>(a));
439 transfer(
static_cast<List<T>&
>(a));
449 if (a.size_ != this->size_)
451 if (this->v_)
delete[] this->v_;
453 this->size_ = a.size_;
454 if (this->size_) this->v_ =
new T[this->size_];
462 memcpy(this->v_, a.v_, this->byteSize());
484 <<
"attempted assignment to self"
488 operator=(
static_cast<const UList<T>&
>(a));
496 if (lst.
size() != this->size_)
498 if (this->v_)
delete[] this->v_;
500 this->size_ = lst.
size();
501 if (this->size_) this->v_ =
new T[this->size_];
514 this->operator[](i++) = iter();
524 if (lst.
size() != this->size_)
526 if (this->v_)
delete[] this->v_;
528 this->size_ = lst.
size();
529 if (this->size_) this->v_ =
new T[this->size_];
534 this->operator[](i) = lst[i];
543 if (lst.
size() != this->size_)
545 if (this->v_)
delete[] this->v_;
547 this->size_ = lst.
size();
548 if (this->size_) this->v_ =
new T[this->size_];
553 this->operator[](i) = lst[i];
562 if (lst.
size() != this->size_)
564 if (this->v_)
delete[] this->v_;
566 this->size_ = lst.
size();
567 if (this->size_) this->v_ =
new T[this->size_];
572 this->operator[](i) = lst[i];