160 const Json &name =
nullptr)
override;
172 const Json &name =
nullptr)
override;
175 const Str &classname)
override;
250 template <
typename T>
269 template <
typename T>
351 const py::args &args);
363 const py::args &args);
ArrayXd get_1d_float_py(const Str &key)
Get float values stored in Element::data of this object as a one-dimensional Numpy-Array.
This file has a definition of Generator class, which is one of the cores of this program.
Set< Str > get_keys_py()
Get keys of the data of this object.
This file includes Eigen and defines some aliases for the Eigen-Vector, Matrix and Array...
ShPtr< Element > ElPtr
An alias for a shared pointer of Element class.
Json make_reduced_data(const Json &key_)
Get reduced data of this object.
Set< Str > get_keys()
Get keys of the data of this object.
const Json & get_data()
Get a reference to data of this object.
Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > ArrayXXd
ArrayXXd is an alias for a two-dimensional array of float numbers.
void make_2darray_from_data(T &array, const Vec< Str > &keys)
Extract values of properties in data as a two-dimensional Eigen-Array.
void check_required_keys(const Json &key_)
Check if this object has required key(s).
const Json & get_data_py()
Get a reference to data of this object.
ArrayXXd get_2d_float_py(const py::args &args)
Get float values stored in Element::data of this object as a two-dimensional Numpy-Array.
Vec< std::pair< Str, int > > get_distances_between_keys(const Json &key_)
To speed up accessing values in Json.
std::string Str
Str is an alias for string.
Element()
Constructor of Element class.
virtual ShPtr< Element > get_element(const Json &name=nullptr) override
Get this object as a shared pointer of Element class.
nlohmann::json Json
Json is an alias for nlohmann::json.
Eigen::Array< int, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > ArrayXXi
ArrayXXi is an alias for a two-dimensional integer array.
std::unordered_set< T > Set
Set is an alias for unordered set (same as set in Python).
void update_keys()
Update datakeys. This method must be called after setting new properties to data. ...
virtual ShPtr< Generator > get_generator(const Json &name=nullptr) override
Get this object as a shared pointer of Generator class.
std::vector< T > Vec
Vec is an alias for vector (same as list in Python).
void decrement_bookings()
Element inherits Generator class and contains data element (or entity) as a Json object.
ShPtr< Element > append_updater(const ShPtr< Updater > &upd)
Append an Updater object to this Element object: the only way to extend an updating process associate...
Eigen::Array< int, Eigen::Dynamic, 1 > ArrayXi
ArrayXi is an alias for a column array of integers.
static int n_element_instances
void update_data(const ShPtr< Updater > &upd)
bool check_optional_keys(const Json &key_)
Check if this object has optional key(s).
ArrayXXi get_2d_int_py(const py::args &args)
Get integer values stored in Element::data of this object as a two-dimensional Numpy-Array.
Generator is an abstract class to generate data.
Eigen::Array< double, Eigen::Dynamic, 1 > ArrayXd
ArrayXd is an alias for a column array of float numbers.
virtual void accessed_by_instance_of(const Str &classname) override
Set class name of an instance calling Element::check_required_keys.
std::shared_ptr< T > ShPtr
ShPtr is an alias for shared pointer.
void make_1darray_from_data(T &array, const Str &key)
Extract values of a property in data as a one-dimensional Eigen-Array.
void increment_bookings()
ArrayXi get_1d_int_py(const Str &key)
Get integer values stored in Element::data of this object as a one-dimensional Numpy-Array.
This file includes pybind11 and defines an alias for the namespace pybind11.