You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
628 B
33 lines
628 B
2 years ago
|
#include "comdefs.h"
|
||
|
|
||
|
#if !defined(M__BASEDATA)
|
||
|
#define M__BASEDATA
|
||
|
|
||
|
using michlib::real;
|
||
|
|
||
|
class BaseData
|
||
|
{
|
||
|
protected:
|
||
|
static constexpr real fillval = 1.0e10;
|
||
|
std::vector<real> 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; }
|
||
|
};
|
||
|
|
||
|
#endif
|