6namespace ae2f {
namespace Ds {
namespace Arr {
119 return xrOwner::ReConfig(elcount, _f::ElSize);
125 ) : Alloc::
xrOwner(perr, imp) {}
142 public __def<Pack<T>>
181#pragma region non_trivial writing
200 template<
typename... Args>
207 typename _f::El_t el[1] = { Read(idx, code) };
217 new(el->c) T(args...);
247 typename _f::El_t el[1] = { Read(idx, code) };
268 size_t a[2] = {0, 0};
271 a[0] = (a[1] * a[0]) / this->ElSize;
273 for(
size_t i = 0; i < a[0]; i++) {
282 err |= xrOwner::Length(&a, &b);
287 a = (b * a) / _f::ElSize;
289 for(
size_t i = nCount; i < a; i++) {
290 typename _f::El_t read = Read(i, &err);
292 if(read._isvalid()) {
297 return xrOwner::ReConfig(nCount, _f::ElSize);
315 ) : Alloc::
xrOwner(perr, imp) {}
#define _ae2f_ds_Alloc_FndFun(This, Name)
Definition Alloc.h:53
#define ae2f_static_cast(t, v)
Definition Cast.h:49
#define ae2f_reinterpret_cast(t, v)
Definition Cast.h:57
ae2f_extern ae2f_errint_t ae2f_errGlob_LastErr
Definition errGlob.h:52
#define ae2f_errGlob_OK
The Operation you've wanted went successful.
Definition errGlob.h:14
#define ae2f_errGlob_DONE_HOWEV
The operation went done. Note that operation may not be valid.
Definition errGlob.h:46
uint8_t ae2f_errint_t
Informs that this number represents the error.
Definition errGlob.h:10
#define ae2f_errGlob_IMP_NOT_FOUND
Failed to find the function on preprocessor which is callable for some reason No operation has beed d...
Definition errGlob.h:19
ae2f_ds_Alloc_cRef rRefer
Definition Defs.hpp:19
constexpr ae2f_errint_t EL_NON_VALID
The element has not been yet constructed.
Definition Defs.hpp:47
ae2f_errint_t Write(size_t i, const void *src, size_t srclen) noexcept
Sets data to a class.
Definition Own.hpp:50
ae2f_errint_t Read(size_t i, void *dest, size_t destlen) const noexcept
Gets data from a class.
Definition Own.hpp:31
~__Owner()
Definition Own.hpp:267
constexpr ae2f_errint_t ReConfig(size_t elcount, size_t elsize)
Definition Own.hpp:300
constexpr ae2f_errint_t Copy(const Alloc::rRefer &src) noexcept
Definition Own.hpp:304
ae2f_errint_t Resize(size_t nCount) noexcept
Definition Own.hpp:280
__Owner(ae2f_errint_t *perr, const ae2f_ds_vAlloc *imp)
Definition Own.hpp:312
constexpr ae2f_errint_t Copy(const Alloc::rRefer &&src) noexcept
Definition Own.hpp:308
ae2f_errint_t Write(size_t idx, Args &&...args) noexcept
Sets data to a class.
Definition Own.hpp:201
const _f::El_t Read(size_t index, ae2f_errint_t *perr=0) const noexcept
Gets data from a class.
Definition Own.hpp:164
ae2f_errint_t Write(size_t idx) noexcept
Sets data to a class.
Definition Own.hpp:241
ae2f_errint_t Write(size_t idx, const typename _f::El_t &&el) noexcept
Sets data to a class.
Definition Own.hpp:95
constexpr ae2f_errint_t Copy(const Alloc::rRefer &src) noexcept
Definition Own.hpp:109
constexpr ae2f_errint_t ReConfig(size_t elcount, size_t elsize)
Definition Own.hpp:104
ae2f_errint_t Write(size_t idx, const typename _f::El_t &el) noexcept
Sets data to a class.
Definition Own.hpp:72
ae2f_errint_t Resize(size_t elcount)
Definition Own.hpp:118
const _f::El_t Read(size_t index, ae2f_errint_t *perr=0) const noexcept
Gets data from a class.
Definition Own.hpp:43
__Owner(ae2f_errint_t *perr, const ae2f_ds_vAlloc *imp)
Definition Own.hpp:122
constexpr ae2f_errint_t Copy(const Alloc::rRefer &&src) noexcept
Definition Own.hpp:114
A helper class for getting element type and element size.
Definition Pack.hpp:13
T El_t
Definition Pack.hpp:19
Structure for virtual function pointer.
Definition Alloc.h:20
A value package for non-trivial classes. Which will not call the destructor of [T].
Definition Pack.hpp:32
T Obj
Definition Pack.hpp:63
constexpr bool isvalid() const noexcept
Check if ae2f::Ds::Arr::Pack<T>::Obj is valid.
Definition Pack.hpp:67