// -*- C++ -*- #ifndef __multi_array_h__ #define __multi_array_h__ #include #include "base_def.h" #include "multi_array_operation.h" namespace MultiArrayTools { template class MultiArray { public: DEFAULT_MEMBERS(MultiArray); MultiArray(const Range& range); // !!!! template MultiArrayOperation& operator()(const NameTypes&... str) const; T& operator()(const typename Range::indexType& i); const T& operator()(const typename Range::indexType& i) const; private: bool mInit = false; std::vector mCont; std::shared_ptr mRange; }; } #include "multi_array.cc" #endif