diff --git a/include/armadillo_bits/Cube_bones.hpp b/include/armadillo_bits/Cube_bones.hpp index d42fbb0c..dbd1be3f 100644 --- a/include/armadillo_bits/Cube_bones.hpp +++ b/include/armadillo_bits/Cube_bones.hpp @@ -208,6 +208,7 @@ class Cube : public BaseCube< eT, Cube > template inline void insert_rows(const uword row_num, const BaseCube& X); template inline void insert_cols(const uword col_num, const BaseCube& X); template inline void insert_slices(const uword slice_num, const BaseCube& X); + template inline void insert_slices(const uword slice_num, const Base& X); template inline Cube(const GenCube& X); diff --git a/include/armadillo_bits/Cube_meat.hpp b/include/armadillo_bits/Cube_meat.hpp index 3bbf1a50..1a5f34ff 100644 --- a/include/armadillo_bits/Cube_meat.hpp +++ b/include/armadillo_bits/Cube_meat.hpp @@ -2534,6 +2534,23 @@ Cube::insert_slices(const uword slice_num, const BaseCube& X) +template +template +inline +void +Cube::insert_slices(const uword slice_num, const Base& X) + { + arma_extra_debug_sigprint(); + + const quasi_unwrap U(X.get_ref()); + + const Cube C(const_cast(U.M.memptr()), U.M.n_rows, U.M.n_cols, uword(1), false, true); + + (*this).insert_slices(slice_num, C); + } + + + //! create a cube from GenCube, ie. run the previously delayed element generation operations template template