From 5ad00ece0ac79b1db816c7858bf4fe4fc6fed253 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Wed, 16 May 2018 10:00:11 +0200 Subject: [PATCH] static registration of xml parse wrapper --- alib2abstraction/src/registration/AlgoRegistration.hpp | 2 ++ alib2xml/src/registration/XmlRegistration.cpp | 8 ++++++++ alib2xml/src/registration/XmlRegistration.hpp | 1 - 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 alib2xml/src/registration/XmlRegistration.cpp diff --git a/alib2abstraction/src/registration/AlgoRegistration.hpp b/alib2abstraction/src/registration/AlgoRegistration.hpp index 8ce6015722..a61d70425e 100644 --- a/alib2abstraction/src/registration/AlgoRegistration.hpp +++ b/alib2abstraction/src/registration/AlgoRegistration.hpp @@ -53,6 +53,8 @@ class MethodRegister : public AlgoRegister { public: template < class ... ParamNames > MethodRegister ( ReturnType ( ObjectType::* callback ) ( ParameterTypes ... ), std::string methodName, ParamNames ... paramNames ) { + registration::NormalizationRegister < ReturnType > ( ); + std::array < std::string, sizeof ... ( ParameterTypes ) > parameterNames = generateNames < sizeof ... ( ParameterTypes ) > ( paramNames ... ); abstraction::AlgorithmRegistry::registerMethod < Algorithm > ( callback, methodName, std::move ( parameterNames ) ); diff --git a/alib2xml/src/registration/XmlRegistration.cpp b/alib2xml/src/registration/XmlRegistration.cpp new file mode 100644 index 0000000000..25d49053f0 --- /dev/null +++ b/alib2xml/src/registration/XmlRegistration.cpp @@ -0,0 +1,8 @@ +#include "XmlRegistration.hpp" +#include <registration/AlgoRegistration.hpp> + +namespace { + +auto xmlParse = registration::WrapperRegister < xml::Parse, ext::deque < sax::Token > && > ( xml::Parse::abstractionFromTokens, "arg0" ); + +} diff --git a/alib2xml/src/registration/XmlRegistration.hpp b/alib2xml/src/registration/XmlRegistration.hpp index 7c3ab5db4e..2b43550f93 100644 --- a/alib2xml/src/registration/XmlRegistration.hpp +++ b/alib2xml/src/registration/XmlRegistration.hpp @@ -37,7 +37,6 @@ class XmlReaderRegister { public: XmlReaderRegister ( ) { abstraction::XmlParserRegistry::registerXmlParser < Type > ( ); - abstraction::AlgorithmRegistry::registerWrapper < xml::Parse, ext::deque < sax::Token > && > ( xml::Parse::abstractionFromTokens, std::array < std::string, 1 > { { "arg0" } } ); } }; -- GitLab