109 void push(
const T &new_elem);
117 void push_many(
const T* new_elem,
size_t num);
161 size_t old_length = end_array - begin;
162 size_t new_length = 2 * old_length + 3;
165 end = begin + old_length;
166 end_array = begin + new_length;
174 if(end+num >= end_array)
176 size_t length = end - begin;
177 size_t new_length =
CMath::max(2 * (
size_t)(end_array - begin) + 3,
180 end = begin + length;
181 end_array = begin + new_length;
183 memcpy(end, new_elem, num *
sizeof(T));
190 size_t old_length = end_array-begin;
192 if (old_length < length)
193 bzero(begin + old_length, (length - old_length)*
sizeof(T));
196 end_array = begin + length;
204 end_array = begin + length;
210 if (stack.end != stack.begin)
211 return *(--stack.end);