void C_vector_any::_PushBack(const void *val){ if(used_size == res_size){ res_size = Max(1ul, res_size+grow_size); byte *new_a = new(true) byte[res_size*elem_size]; MemCpy(new_a, array, used_size*elem_size); delete[] array; array = new_a; } void *ptr = _End(); _Construct(ptr); _Copy(ptr, val); ++used_size; }
void C_vector_any::_CopyVector(const C_vector_any &v){ if(this==&v) return; _Clear(); int i = v.used_size; _Reserve(i); used_size = i; while(i--){ int offs = i*elem_size; _Construct(array+offs); _Copy(array+offs, v.array + offs); } }
void C_vector_any::_Insert(dword dst_i, const void *src, dword num){ if(!num) return; assert(dst_i <= (dword)used_size); _Reserve(used_size+num); used_size += num; for(int i=used_size-num-dst_i; i--; ) MemCpy(_At(dst_i+num+i), _At(dst_i+i), elem_size); byte *dst = (byte*)_At(dst_i); for(dword i=0; i<num; i++, dst += elem_size, src = (byte*)src+elem_size){ _Construct(dst); _Copy(dst, src); } }
vectorfix(_Iter _First, _Iter _Last, const _Alloc& _Al) : _Mybase(_Al) { // construct from [_First, _Last), with allocator _Construct(_First, _Last, _Iter_cat(_First)); }
vectorfix(_Iter _First, _Iter _Last) : _Mybase() { // construct from [_First, _Last) _Construct(_First, _Last, _Iter_cat(_First)); }
FadeInFadeOutEffect::FadeInFadeOutEffect(Timer* timer) : Modifier(false, true){ this->timer = timer; _Construct(); }
static _ForwardIterator __uninit_default_n(_ForwardIterator p1, _Size) { _Construct(p1); }
KPlayerServer::KPlayerServer(void) { _Construct(); InitProcotolProcess(); }