roadrunner  2.6.0
Fast simulator for SBML models
setting_t.h
1 //
2 // Created by Ciaran on 05/05/2021.
3 //
4 
5 #ifndef ROADRUNNER_SETTING_T_H
6 #define ROADRUNNER_SETTING_T_H
7 
8 namespace rr{
18  using setting_t = std::variant<
19  std::monostate, /*void, see docs for std::variant*/
20  std::string, bool, std::int32_t,
21  std::uint32_t, std::int64_t, std::uint64_t,
22  float, double,
23  char, unsigned char,
24  std::vector<double>,
25  std::vector<std::string>
26  >;
27 
28 
37  template<typename T, typename ALL_T>
39 
40  template<typename T, typename... ALL_T>
41  struct isValidVariantType<T, std::variant<ALL_T...>>
42  : public std::disjunction<std::is_same<T, ALL_T>...> {
43  };
44 
45 }
46 
47 #endif //ROADRUNNER_SETTING_T_H
Generic type checking mechanism for membership of type T in variant ALL_T.
Definition: setting_t.h:38