cnorxz/src/include/array/darray.h

42 lines
772 B
C
Raw Normal View History

#ifndef __cxz_darray_h__
#define __cxz_darray_h__
2022-09-15 16:45:45 +02:00
#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:
2022-09-15 16:45:45 +02:00
Vector<T> mCont;
public:
DEFAULT_MEMBERS(DArray);
DArray(const RangePtr& range);
2022-09-15 16:45:45 +02:00
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