Drastic settings refactoring

This commit is contained in:
Thomas Krijnen
2023-11-15 10:32:20 +01:00
parent d2a2e0d7a0
commit 65e874c67f
80 changed files with 1057 additions and 723 deletions
+16
View File
@@ -185,4 +185,20 @@
}
return pyobj;
}
struct pythonizing_visitor {
typedef PyObject* result_type;
template <typename T>
PyObject* operator()(const T& t) {
return pythonize(t);
}
template <>
PyObject* operator()(const std::set<int>& t) {
std::vector<int> vs(t.begin(), t.end());
return pythonize_vector(vs);
}
};
%}
+5
View File
@@ -147,3 +147,8 @@ CREATE_VECTOR_TYPEMAP_OUT(IfcParse::inverse_attribute const *)
CREATE_VECTOR_TYPEMAP_OUT(IfcParse::entity const *)
CREATE_VECTOR_TYPEMAP_OUT(IfcParse::declaration const *)
CREATE_VECTOR_TYPEMAP_OUT(IfcGeom::ConversionResultShape *)
%typemap(out) boost::variant<bool, int, double, std::string, std::set<int>> {
pythonizing_visitor vis;
$result = $1.apply_visitor(vis);
}