VIPRA Documentation
Loading...
Searching...
No Matches
model.hpp
1#pragma once
2
3#include "vipra/macros/model.hpp"
4#include "vipra/modules/goals.hpp"
5#include "vipra/modules/pedestrians.hpp"
6#include "vipra/random/random.hpp"
7
8#include "vipra/types/state.hpp"
9#include "vipra/types/time.hpp"
10
11namespace VIPRA::Modules {
16class Model {
17 public:
18 virtual VIPRA_MODEL_TIMESTEP = 0;
19 virtual VIPRA_MODEL_INIT_STEP = 0;
20 virtual VIPRA_MODEL_RESET = 0;
21
22 Model() = default;
23 Model(const Model&) = default;
24 Model(Model&&) = default;
25 auto operator=(const Model&) -> Model& = default;
26 auto operator=(Model&&) -> Model& = default;
27 virtual ~Model() = default;
28};
29
30} // namespace VIPRA::Modules