now fixed

This commit is contained in:
Christian Zimmermann 2018-12-25 18:57:51 +01:00
parent 22b93b0612
commit 90816bc471

View file

@ -13,8 +13,10 @@ namespace MultiArrayTools
mInit(in.mInit), mInit(in.mInit),
mRange(in.mRange) mRange(in.mRange)
{ {
if(mRange){
mProtoI = std::make_shared<IndexType>( mRange, reinterpret_cast<std::intptr_t>(this) ); mProtoI = std::make_shared<IndexType>( mRange, reinterpret_cast<std::intptr_t>(this) );
} }
}
template <typename T, class... SRanges> template <typename T, class... SRanges>
@ -22,15 +24,19 @@ namespace MultiArrayTools
mInit(in.mInit), mInit(in.mInit),
mRange(in.mRange) mRange(in.mRange)
{ {
if(mRange){
mProtoI = std::make_shared<IndexType>( mRange, reinterpret_cast<std::intptr_t>(this) ); mProtoI = std::make_shared<IndexType>( mRange, reinterpret_cast<std::intptr_t>(this) );
} }
}
template <typename T, class... SRanges> template <typename T, class... SRanges>
MultiArrayBase<T,SRanges...>& MultiArrayBase<T,SRanges...>::operator=(const MultiArrayBase& in) MultiArrayBase<T,SRanges...>& MultiArrayBase<T,SRanges...>::operator=(const MultiArrayBase& in)
{ {
mInit = in.mInit; mInit = in.mInit;
mRange = in.mRange; mRange = in.mRange;
if(mRange){
mProtoI = std::make_shared<IndexType>( mRange, reinterpret_cast<std::intptr_t>(this) ); mProtoI = std::make_shared<IndexType>( mRange, reinterpret_cast<std::intptr_t>(this) );
}
return *this; return *this;
} }
@ -39,7 +45,9 @@ namespace MultiArrayTools
{ {
mInit = in.mInit; mInit = in.mInit;
mRange = in.mRange; mRange = in.mRange;
if(mRange){
mProtoI = std::make_shared<IndexType>( mRange, reinterpret_cast<std::intptr_t>(this) ); mProtoI = std::make_shared<IndexType>( mRange, reinterpret_cast<std::intptr_t>(this) );
}
return *this; return *this;
} }