Hi,
This week I finished working on converting _d_newarray{mTX,miTX,OpT} to a single template and got the PR merged. They allocate and initialise multi-dimensional arrays. Similarly to _d_newarray{U,T,iT}, _d_newaraym* are now implemented by a single hook: _d_newarraymTX. Previously the two hooks were used to differentiate between default-initialised and zero-initialised types. _d_newarrayOpT was the common implementation called by both _d_newarraym{i,}TX hooks. _d_newarrayOpT received an alias template argument: either _d_newarrayiT or _d_newarrayT which it used to allocate the innermost 1-D array.
Now _d_newarraymTX can be made much simpler: it simply calls _d_newarrayT, which in turn uses DBI to figure out how to initialise the array. In the following weeks I'll start working on _d_arrayliteralTX and _d_assocarrayliteralTX.
Thanks,
Teo
Permalink
Reply