#pragma once #include "comdefs.h" using michlib::real; class BaseData { protected: static constexpr real fillval = 1.0e10; std::vector data; BaseData() = default; BaseData(size_t n): data(n) {} public: const real& V(size_t i) const { return data[i]; } real& V(size_t i) { return data[i]; } const real& operator()(size_t i) const { return data[i]; } real& operator()(size_t i) { return data[i]; } size_t N() const { return data.size(); } static real Fillval() { return fillval; } explicit operator bool() const { return data.size() != 0; } };