bitrl & cuberl Documentation
Simulation engine for reinforcement learning agents
Loading...
Searching...
No Matches
envs_concepts.h
Go to the documentation of this file.
1#ifndef ENVS_CONCEPTS_H
2#define ENVS_CONCEPTS_H
3
4#if __cplusplus >= 202002L
5
6#include <type_traits>
7
8namespace cuberl {
9namespace rl {
10namespace envs {
11
15template<typename EnvTp>
16concept discrete_world_concept = std::is_integral<typename EnvTp::action_type>::value && std::is_integral<typename EnvTp::state_type>::value;
17
21template<typename EnvTp>
22concept discrete_action_space_concept = std::is_integral<typename EnvTp::action_type>::value;
23
27template<typename EnvTp>
28concept discrete_state_space_concept = std::is_integral<typename EnvTp::state_type>::value;
29
33template<typename EnvTp>
34concept has_transition_dynamics_concept = EnvTp::has_dynamics;
35
36
37}
38
39}
40
41}
42#else
43
44static_assert (false, "The discrete_world_concept requires C++20 support");
45
46#endif
47
48#endif // DISCRETE_WORLD_CONCEPT_H
Various utilities used when working with RL problems.
Definition cuberl_types.h:16