Schema dependent serializers

This commit is contained in:
Thomas Krijnen
2018-03-04 10:43:40 +01:00
parent 0a809ba127
commit 6685ea6d7a
15 changed files with 545 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
#define SCHEMA_METHOD
#include "../ifcparse/IfcFile.h"
#include <boost/function.hpp>
#include <map>
template <typename T>
class schema_delegate {
};
class XmlSerializer : public schema_delegate<> {
};
struct XmlSerializerFactory {
typedef boost::function1<XmlSerializer*, IfcParse::IfcFile*> fn;
class Factory : public std::map<std::string, fn> {
public:
Factory();
void bind(const std::string& schema_name, fn);
XmlSerializer* construct(const std::string& schema_name, IfcParse::IfcFile*);
};
Factory& implementations();
};