#ifndef __cxz_marray_h__ #define __cxz_marray_h__ #include "array_base.h" namespace CNORXZ { template class MArray : public ArrayBase { public: typedef CArrayBase AB; typedef typename AB::const_iterator const_iterator; using CArrayBase::operator[]; using ArrayBase::operator[]; DEFAULT_MEMBERS(MArray); MArray(const RangePtr& range); MArray(const RangePtr& range, const Vector& vec); MArray(const RangePtr& range, Vector&& vec); virtual const T* data() const override; virtual T* data() override; virtual const_iterator cbegin() const override; virtual const_iterator cend() const override; virtual bool isView() const override; private: Vector mCont; }; } #endif