1#ifndef CPYCPPYY_DIMENSIONS_H
2#define CPYCPPYY_DIMENSIONS_H
9#include <initializer_list>
22 fDims =
new dim_t[ndim+1];
29 fDims =
new dim_t[
l.size()+1];
31 std::copy(
l.begin(),
l.end(), fDims+1);
35 fDims =
new dim_t[
d.fDims[0]+1];
36 std::copy(
d.fDims,
d.fDims+
d.fDims[0]+1, fDims);
48 if (!fDims || (fDims && fDims[0] !=
d.fDims[0])) {
50 fDims =
new dim_t[
d.fDims[0]+1];
52 std::copy(
d.fDims,
d.fDims+
d.fDims[0]+1, fDims);
62 operator bool()
const {
return (
bool)fDims; }
67 if (fDims[0] ==
d)
return;
#define CPYCPPYY_CLASS_EXPORT
Dimensions(std::initializer_list< dim_t > l)
Dimensions(dim_t ndim=0, dim_t *dims=nullptr)
Dimensions(const Dimensions &d)
Dimensions & operator=(const Dimensions &d)
dim_t & operator[](dim_t i)
dim_t operator[](dim_t i) const
Dimensions(Dimensions &&d)
static const dim_t UNKNOWN_SIZE