#ifndef __cxz_darray_h__ #define __cxz_darray_h__ #include "darray_base.h" namespace CNORXZ { template <typename T> class DArray : public MDArrayBase<T> { public: typedef DArrayBase<T> AB; typedef typename AB::const_iterator const_iterator; using DArrayBase<T>::operator[]; using MDArrayBase<T>::operator[]; private: Vector<T> mCont; public: DEFAULT_MEMBERS(DArray); DArray(const RangePtr& range); DArray(const RangePtr& range, const Vector<T>& vec); DArray(const RangePtr& range, Vector<T>&& 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; }; } #endif