34 # include <tpl_dynDlist.H> 36 # include <ah-args-ctor.H> 37 # include <tpl_memArray.H> 41 using namespace Aleph;
58 public StlAlephIterator<Array<T>>
67 Array(
size_t dim = 32) : array(dim) { }
75 Special_Ctors(
Array, T);
111 return array.
put(data);
122 return array.
put(std::forward<T>(data));
146 return array.
push(data);
158 return array.
push(std::forward<T>(data));
189 size_t size() const noexcept {
return array.
size(); }
208 T & operator [] (
size_t i)
const 214 T & operator () (
const size_t i)
const noexcept
229 const size_t & n = array.
size();
231 for (
size_t i = 0; i < n; ++i)
232 ret.
append(array(n - i - 1));
236 Array & rev() {
return reverse(); }
238 const Array rev()
const {
return reverse(); }
247 template <
class Operation>
248 bool traverse(Operation & operation) noexcept(noexcept(operation))
254 template <
class Operation>
255 bool traverse(Operation & operation)
const noexcept(noexcept(operation))
261 template <
class Operation>
262 bool traverse(Operation && operation = Operation()) const
263 noexcept(noexcept(operation))
269 template <
class Operation>
270 bool traverse(Operation && operation = Operation())
271 noexcept(noexcept(operation))
276 bool is_valid()
const noexcept {
return array.is_valid(); }
293 template <
typename T,
typename ... Args>
296 return build_container<Array<T>>(args...);
Definition: tpl_memArray.H:73
void swap(Array &s) noexcept
Swap this with s
Definition: tpl_array.H:91
T & append(T &&data)
Definition: tpl_array.H:120
Definition: htlist.H:1290
Array(const Array &s)
Copy constructor.
Definition: tpl_array.H:70
bool traverse(Operation &&operation=Operation()) noexcept(noexcept(operation))
Definition: tpl_array.H:270
bool traverse(Operation &&operation=Operation()) const noexcept(noexcept(operation))
Definition: tpl_array.H:262
T & push(const T &item)
Definition: tpl_memArray.H:350
void putn(const size_t n)
Definition: tpl_array.H:170
size_t capacity() const noexcept
The type of element of array.
Definition: tpl_memArray.H:200
T & first() const
Return a modifiable reference to the first element.
Definition: tpl_memArray.H:542
void reserve(const size_t cap)
Definition: tpl_memArray.H:481
void swap(MemArray &a) noexcept
Swap in constant time this with a
Definition: tpl_memArray.H:238
Array reverse() const
Return a copy of this with its items reversed.
Definition: tpl_array.H:227
T & last() const
Return a modifiable reference to the last element.
Definition: tpl_memArray.H:534
T * get_ptr() const noexcept
Return the current base of array.
Definition: tpl_memArray.H:92
bool traverse(Operation &operation)
Definition: tpl_memArray.H:598
size_t size() const noexcept
Return the number of elements.
Definition: tpl_memArray.H:203
T & base() const noexcept
Return a modifiable reference to first element of array.
Definition: tpl_array.H:180
size_t size() const noexcept
Return the number of elements stored in the stack.
Definition: tpl_array.H:189
Array(Array &&s)
Move constructor.
Definition: tpl_array.H:73
T & insert(const T &data)
Definition: tpl_array.H:144
T & insert(T &&data)
Definition: tpl_array.H:156
T remove_last()
Definition: tpl_memArray.H:531
Definition: tpl_memArray.H:635
void putn(const size_t more)
Definition: tpl_memArray.H:431
Definition: tpl_array.H:282
Array & reverse()
Reverse the order of items in array.
Definition: tpl_array.H:220
void empty() noexcept
Empty the stack.
Definition: tpl_array.H:183
bool is_empty() const noexcept
Return true if stack is empty.
Definition: tpl_array.H:186
Iterator(const Array< T > &s) noexcept
Initialize an iterator on array s
Definition: tpl_array.H:289
T & append(const T &data)
Definition: tpl_array.H:109
bool traverse(Operation &operation) const noexcept(noexcept(operation))
Definition: tpl_array.H:255
Array(size_t dim=32)
The type of element.
Definition: tpl_array.H:67
Definition: tpl_array.H:54
T remove_first()
Remove first item. Gap is closed.
Definition: tpl_memArray.H:381
T & append(T &item)
Definition: tpl_memArray.H:395
void empty()
Empty the container. The array is not contracted.
Definition: tpl_memArray.H:292
bool traverse(Operation &operation) noexcept(noexcept(operation))
Definition: tpl_array.H:248
T & get_first() const
Definition: tpl_array.H:196
void reserve(size_t cap)
Definition: tpl_array.H:177
T & put(const T &item)
Definition: tpl_memArray.H:310
size_t capacity() const noexcept
Return the internal capacity.
Definition: tpl_array.H:192
MemArray & reverse()
Reverse the order of items in array.
Definition: tpl_memArray.H:556
T & get_last() const
Definition: tpl_array.H:200
Definition: htlist.H:1323