1#ifndef CPYRT_DIMENSIONS_H
2#define CPYRT_DIMENSIONS_H
12#include <initializer_list>
24 fDims =
new dim_t[ndim + 1];
27 std::copy(dims, dims + ndim, fDims + 1);
33 fDims =
new dim_t[
l.size() + 1];
35 std::copy(
l.begin(),
l.end(), fDims + 1);
39 fDims =
new dim_t[
d.fDims[0] + 1];
40 std::copy(
d.fDims,
d.fDims +
d.fDims[0] + 1, fDims);
50 if (!fDims || (fDims && fDims[0] !=
d.fDims[0])) {
52 fDims =
new dim_t[
d.fDims[0] + 1];
54 std::copy(
d.fDims,
d.fDims +
d.fDims[0] + 1, fDims);
62 operator bool()
const {
return (
bool)fDims; }
#define CPYRT_CLASS_EXPORT
Dimensions(std::initializer_list< dim_t > l)
Dimensions(const Dimensions &d)
Dimensions(Dimensions &&d)
Dimensions(dim_t ndim=0, dim_t *dims=nullptr)
dim_t & operator[](dim_t i)
Dimensions & operator=(const Dimensions &d)
dim_t operator[](dim_t i) const
static const dim_t UNKNOWN_SIZE