14 typedef typename super::iter
iter;
15 typedef typename super::iteration
iteration;
28 static_assert(areBaseOfT<T,
Es...>::value,
"some of type of args are not base of type 'T'");
29 add({(T*) &
elems...});
35 me& operator=(
const me& rhs) =
default;
39 T& operator[](nidx
n)
override {
return *get(
n); }
43 ncnt len()
const override;
47 nbool in(nidx n)
const override;
51 using tarrayable<T>::get;
52 T* get(nidx n)
override;
56 using tarrayable<T>::set;
57 nbool set(
const iter& at,
const T& new1)
override;
58 nbool set(nidx n,
const T& new1)
override;
62 using tarrayable<T>::add;
63 nbool add(
const iter& e,
const T& new1)
override;
64 nbool
add(nidx
n,
const T& new1)
override;
71 nbool
del(
const iter& it)
override;
72 nbool
del(nidx
n)
override;
77 clonable* clone()
const override {
return new me(*
this); }
79 void onCloneDeep(
const clonable& from)
override;
81 std::string asStr()
const;
84 iteration* _onMakeIteration(ncnt
step, nbool isReversed)
const override;
90 std::vector<wrap> _vec;
94 typedef tnarr<node> narr;
Scripted array container for byeol language
Definition arr.hpp:15
Interface for objects that can be cloned
Definition clonable.hpp:13
Deferred execution utility similar to defer keyword in other languages
Definition end.hpp:36
Definition tarrayable.hpp:11
tnarr(const Es &... elems)
Definition tnarr.hpp:27
nbool del(nidx n) override
nbool add(nidx n, const T &new1) override
Definition tnucontainer.hpp:9
Weak reference smart pointer with type-safe access
Definition tweak.hpp:16
Bidirectional iterator for key-value containers
Definition biter.hpp:10
Definition biteration.hpp:5
Definition narrIteration.hpp:8
Array iteration implementation