File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed
include/chaiscript/utility Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change 88#define CHAISCRIPT_UTILITY_UTILITY_HPP_
99
1010#include < string>
11+ #include < type_traits>
1112#include < utility>
1213#include < vector>
1314
@@ -62,6 +63,21 @@ namespace chaiscript
6263 t_module.add (fun.first , fun.second );
6364 }
6465 }
66+
67+ template <typename Enum, typename ModuleType>
68+ typename std::enable_if<std::is_enum<Enum>::value, void >::type
69+ add_class (ModuleType &t_module,
70+ const std::string &t_class_name,
71+ const std::vector<chaiscript::Proxy_Function> &t_constructors,
72+ const std::vector<std::pair<chaiscript::Boxed_Value, std::string>> &t_constants)
73+ {
74+ t_module.add (chaiscript::user_type<Enum>(), t_class_name);
75+
76+ for (const auto &constant : t_constants)
77+ {
78+ t_module.add_global_const (constant.first , constant.second );
79+ }
80+ }
6581 }
6682}
6783
You can’t perform that action at this time.
0 commit comments