diff --git a/src/include/multi_array_base.cc.h b/src/include/multi_array_base.cc.h index d38c601..ff7a2cb 100644 --- a/src/include/multi_array_base.cc.h +++ b/src/include/multi_array_base.cc.h @@ -13,7 +13,9 @@ namespace MultiArrayTools mInit(in.mInit), mRange(in.mRange) { - mProtoI = std::make_shared( mRange, reinterpret_cast(this) ); + if(mRange){ + mProtoI = std::make_shared( mRange, reinterpret_cast(this) ); + } } @@ -22,7 +24,9 @@ namespace MultiArrayTools mInit(in.mInit), mRange(in.mRange) { - mProtoI = std::make_shared( mRange, reinterpret_cast(this) ); + if(mRange){ + mProtoI = std::make_shared( mRange, reinterpret_cast(this) ); + } } template @@ -30,7 +34,9 @@ namespace MultiArrayTools { mInit = in.mInit; mRange = in.mRange; - mProtoI = std::make_shared( mRange, reinterpret_cast(this) ); + if(mRange){ + mProtoI = std::make_shared( mRange, reinterpret_cast(this) ); + } return *this; } @@ -39,7 +45,9 @@ namespace MultiArrayTools { mInit = in.mInit; mRange = in.mRange; - mProtoI = std::make_shared( mRange, reinterpret_cast(this) ); + if(mRange){ + mProtoI = std::make_shared( mRange, reinterpret_cast(this) ); + } return *this; }