diff --git a/alib2data/src/XmlApi.cpp b/alib2data/src/XmlApi.cpp deleted file mode 100644 index f4100981fe693d6b79ae44bd0db4a57a7b9ea03e..0000000000000000000000000000000000000000 --- a/alib2data/src/XmlApi.cpp +++ /dev/null @@ -1,358 +0,0 @@ -/* - * XmlApi.cpp - * - * Created on: Apr 1, 2013 - * Author: Jan Travnicek - */ - -#include "XmlApi.hpp" - -#include "alphabet/Symbol.h" -#include "alphabet/SymbolClasses.h" -#include "label/Label.h" -#include "label/LabelClasses.h" -#include "primitive/Primitive.h" -#include "primitive/PrimitiveClasses.h" -#include "object/ObjectClasses.h" -#include "exception/ExceptionClasses.h" -#include "string/String.h" -#include "string/StringClasses.h" -#include "automaton/Automaton.h" -#include "automaton/AutomatonClasses.h" -#include "container/Container.h" -#include "container/ContainerClasses.h" -#include "grammar/Grammar.h" -#include "grammar/GrammarClasses.h" -#include "regexp/RegExp.h" -#include "regexp/RegExpClasses.h" -#include "tree/Tree.h" -#include "tree/TreeClasses.h" -#include "graph/Graph.h" -#include "graph/GraphClasses.h" - -namespace alib { - -const alib::ObjectFromXMLParser FromXMLParsers::objectParser; - -const alib::ObjectToXMLComposer ToXMLComposers::objectComposer; - -const ToXMLComposers ToXMLComposers::toXMLComposers; - -alib::Object xmlApi<alib::Object>::parse(std::deque<sax::Token>::iterator& input) { - return FromXMLParsers::objectParser.parseObject(input); -} - -bool xmlApi<alib::Object>::first(const std::deque<sax::Token>::const_iterator& input) { - return FromXMLParsers::objectParser.first(input); -} - -void xmlApi<alib::Object>::compose(std::deque<sax::Token>& output, const alib::Object& data) { - ToXMLComposers::objectComposer.compose(output, data); -} - - -void ToXMLComposers::Visit(void* data, const Void& voidObject) const { - xmlApi<Void>::compose(*((std::deque<sax::Token>*) data), voidObject); -} - -void ToXMLComposers::Visit(void* data, const container::ObjectsSet& container) const { - xmlApi<container::ObjectsSet>::compose(*((std::deque<sax::Token>*) data), container); -} - -void ToXMLComposers::Visit(void* data, const container::ObjectsVector& container) const { - xmlApi<container::ObjectsVector>::compose(*((std::deque<sax::Token>*) data), container); -} - -void ToXMLComposers::Visit(void* data, const container::ObjectsPair& container) const { - xmlApi<container::ObjectsPair>::compose(*((std::deque<sax::Token>*) data), container); -} - -void ToXMLComposers::Visit(void* data, const container::ObjectsMap& container) const { - xmlApi<container::ObjectsMap>::compose(*((std::deque<sax::Token>*) data), container); -} - -void ToXMLComposers::Visit(void* data, const exception::AlibException& symbol) const { - xmlApi<exception::AlibException>::compose(*((std::deque<sax::Token>*) data), symbol); -} - -void ToXMLComposers::Visit(void* data, const alphabet::BlankSymbol& symbol) const { - xmlApi<alphabet::BlankSymbol>::compose(*((std::deque<sax::Token>*) data), symbol); -} - -void ToXMLComposers::Visit(void* data, const alphabet::BottomOfTheStackSymbol& symbol) const { - xmlApi<alphabet::BottomOfTheStackSymbol>::compose(*((std::deque<sax::Token>*) data), symbol); -} - -void ToXMLComposers::Visit(void* data, const alphabet::EndSymbol& symbol) const { - xmlApi<alphabet::EndSymbol>::compose(*((std::deque<sax::Token>*) data), symbol); -} - -void ToXMLComposers::Visit(void* data, const alphabet::StartSymbol& symbol) const { - xmlApi<alphabet::StartSymbol>::compose(*((std::deque<sax::Token>*) data), symbol); -} - -void ToXMLComposers::Visit(void* data, const alphabet::RankedSymbol& symbol) const { - xmlApi<alphabet::RankedSymbol>::compose(*((std::deque<sax::Token>*) data), symbol); -} - -void ToXMLComposers::Visit(void* data, const alphabet::BarSymbol& symbol) const { - xmlApi<alphabet::BarSymbol>::compose(*((std::deque<sax::Token>*) data), symbol); -} - -void ToXMLComposers::Visit(void* data, const alphabet::VariablesBarSymbol& symbol) const { - xmlApi<alphabet::VariablesBarSymbol>::compose(*((std::deque<sax::Token>*) data), symbol); -} - -void ToXMLComposers::Visit(void* data, const alphabet::SubtreeWildcardSymbol& symbol) const { - xmlApi<alphabet::SubtreeWildcardSymbol>::compose(*((std::deque<sax::Token>*) data), symbol); -} - -void ToXMLComposers::Visit(void* data, const alphabet::LabeledSymbol& symbol) const { - xmlApi<alphabet::LabeledSymbol>::compose(*((std::deque<sax::Token>*) data), symbol); -} - -void ToXMLComposers::Visit(void* data, const alphabet::SymbolSetSymbol& symbol) const { - xmlApi<alphabet::SymbolSetSymbol>::compose(*((std::deque<sax::Token>*) data), symbol); -} - -void ToXMLComposers::Visit(void* data, const alphabet::SymbolPairSymbol& symbol) const { - xmlApi<alphabet::SymbolPairSymbol>::compose(*((std::deque<sax::Token>*) data), symbol); -} - -void ToXMLComposers::Visit(void* data, const alphabet::UniqueSymbol& symbol) const { - xmlApi<alphabet::UniqueSymbol>::compose(*((std::deque<sax::Token>*) data), symbol); -} - -void ToXMLComposers::Visit(void* data, const automaton::EpsilonNFA& automaton) const { - xmlApi<automaton::EpsilonNFA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::MultiInitialStateNFA& automaton) const { - xmlApi<automaton::MultiInitialStateNFA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::NFA& automaton) const { - xmlApi<automaton::NFA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::DFA& automaton) const { - xmlApi<automaton::DFA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::ExtendedNFA& automaton) const { - xmlApi<automaton::ExtendedNFA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::CompactNFA& automaton) const { - xmlApi<automaton::CompactNFA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::DFTA& automaton) const { - xmlApi<automaton::DFTA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::NFTA& automaton) const { - xmlApi<automaton::NFTA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::DPDA& automaton) const { - xmlApi<automaton::DPDA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::SinglePopDPDA& automaton) const { - xmlApi<automaton::SinglePopDPDA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::InputDrivenDPDA& automaton) const { - xmlApi<automaton::InputDrivenDPDA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::InputDrivenNPDA& automaton) const { - xmlApi<automaton::InputDrivenNPDA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::VisiblyPushdownDPDA& automaton) const { - xmlApi<automaton::VisiblyPushdownDPDA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::VisiblyPushdownNPDA& automaton) const { - xmlApi<automaton::VisiblyPushdownNPDA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::RealTimeHeightDeterministicDPDA& automaton) const { - xmlApi<automaton::RealTimeHeightDeterministicDPDA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::RealTimeHeightDeterministicNPDA& automaton) const { - xmlApi<automaton::RealTimeHeightDeterministicNPDA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::NPDA& automaton) const { - xmlApi<automaton::NPDA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::SinglePopNPDA& automaton) const { - xmlApi<automaton::SinglePopNPDA>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const automaton::OneTapeDTM& automaton) const { - xmlApi<automaton::OneTapeDTM>::compose(*((std::deque<sax::Token>*) data), automaton); -} - -void ToXMLComposers::Visit(void* data, const grammar::LeftLG& grammar) const { - xmlApi<grammar::LeftLG>::compose(*((std::deque<sax::Token>*) data), grammar); -} - -void ToXMLComposers::Visit(void* data, const grammar::LeftRG& grammar) const { - xmlApi<grammar::LeftRG>::compose(*((std::deque<sax::Token>*) data), grammar); -} - -void ToXMLComposers::Visit(void* data, const grammar::RightLG& grammar) const { - xmlApi<grammar::RightLG>::compose(*((std::deque<sax::Token>*) data), grammar); -} - -void ToXMLComposers::Visit(void* data, const grammar::RightRG& grammar) const { - xmlApi<grammar::RightRG>::compose(*((std::deque<sax::Token>*) data), grammar); -} - -void ToXMLComposers::Visit(void* data, const grammar::LG& grammar) const { - xmlApi<grammar::LG>::compose(*((std::deque<sax::Token>*) data), grammar); -} - -void ToXMLComposers::Visit(void* data, const grammar::CFG& grammar) const { - xmlApi<grammar::CFG>::compose(*((std::deque<sax::Token>*) data), grammar); -} - -void ToXMLComposers::Visit(void* data, const grammar::EpsilonFreeCFG& grammar) const { - xmlApi<grammar::EpsilonFreeCFG>::compose(*((std::deque<sax::Token>*) data), grammar); -} - -void ToXMLComposers::Visit(void* data, const grammar::CNF& grammar) const { - xmlApi<grammar::CNF>::compose(*((std::deque<sax::Token>*) data), grammar); -} - -void ToXMLComposers::Visit(void* data, const grammar::GNF& grammar) const { - xmlApi<grammar::GNF>::compose(*((std::deque<sax::Token>*) data), grammar); -} - -void ToXMLComposers::Visit(void* data, const grammar::CSG& grammar) const { - xmlApi<grammar::CSG>::compose(*((std::deque<sax::Token>*) data), grammar); -} - -void ToXMLComposers::Visit(void* data, const grammar::NonContractingGrammar& grammar) const { - xmlApi<grammar::NonContractingGrammar>::compose(*((std::deque<sax::Token>*) data), grammar); -} - -void ToXMLComposers::Visit(void* data, const grammar::ContextPreservingUnrestrictedGrammar& grammar) const { - xmlApi<grammar::ContextPreservingUnrestrictedGrammar>::compose(*((std::deque<sax::Token>*) data), grammar); -} - -void ToXMLComposers::Visit(void* data, const grammar::UnrestrictedGrammar& grammar) const { - xmlApi<grammar::UnrestrictedGrammar>::compose(*((std::deque<sax::Token>*) data), grammar); -} - -void ToXMLComposers::Visit(void* data, const graph::DirectedGraph& graph) const { - xmlApi<graph::DirectedGraph>::compose(*((std::deque<sax::Token>*) data), graph); -} - -void ToXMLComposers::Visit(void* data, const graph::UndirectedGraph& graph) const { - xmlApi<graph::UndirectedGraph>::compose(*((std::deque<sax::Token>*) data), graph); -} - -void ToXMLComposers::Visit(void* data, const label::PrimitiveLabel& label) const { - xmlApi<label::PrimitiveLabel>::compose(*((std::deque<sax::Token>*) data), label); -} - -void ToXMLComposers::Visit(void* data, const label::HexavigesimalLabel& label) const { - xmlApi<label::HexavigesimalLabel>::compose(*((std::deque<sax::Token>*) data), label); -} - -void ToXMLComposers::Visit(void* data, const label::ObjectLabel& label) const { - xmlApi<label::ObjectLabel>::compose(*((std::deque<sax::Token>*) data), label); -} - -void ToXMLComposers::Visit(void* data, const label::LabelSetLabel& label) const { - xmlApi<label::LabelSetLabel>::compose(*((std::deque<sax::Token>*) data), label); -} - -void ToXMLComposers::Visit(void* data, const label::LabelPairLabel& label) const { - xmlApi<label::LabelPairLabel>::compose(*((std::deque<sax::Token>*) data), label); -} - -void ToXMLComposers::Visit(void* data, const label::UniqueLabel& label) const { - xmlApi<label::UniqueLabel>::compose(*((std::deque<sax::Token>*) data), label); -} - -void ToXMLComposers::Visit(void* data, const regexp::UnboundedRegExp& regexp) const { - xmlApi<regexp::UnboundedRegExp>::compose(*((std::deque<sax::Token>*) data), regexp); -} - -void ToXMLComposers::Visit(void* data, const regexp::FormalRegExp& regexp) const { - xmlApi<regexp::FormalRegExp>::compose(*((std::deque<sax::Token>*) data), regexp); -} - -void ToXMLComposers::Visit(void* data, const string::Epsilon& string) const { - xmlApi<string::Epsilon>::compose(*((std::deque<sax::Token>*) data), string); -} - -void ToXMLComposers::Visit(void* data, const string::CyclicString& string) const { - xmlApi<string::CyclicString>::compose(*((std::deque<sax::Token>*) data), string); -} - -void ToXMLComposers::Visit(void* data, const string::LinearString& string) const { - xmlApi<string::LinearString>::compose(*((std::deque<sax::Token>*) data), string); -} - -void ToXMLComposers::Visit(void* data, const primitive::String& primitive) const { - xmlApi<primitive::String>::compose(*((std::deque<sax::Token>*) data), primitive); -} - -void ToXMLComposers::Visit(void* data, const primitive::Integer& primitive) const { - xmlApi<primitive::Integer>::compose(*((std::deque<sax::Token>*) data), primitive); -} - -void ToXMLComposers::Visit(void* data, const primitive::Character& primitive) const { - xmlApi<primitive::Character>::compose(*((std::deque<sax::Token>*) data), primitive); -} - -void ToXMLComposers::Visit(void* data, const primitive::Unsigned& primitive) const { - xmlApi<primitive::Unsigned>::compose(*((std::deque<sax::Token>*) data), primitive); -} - -void ToXMLComposers::Visit(void* data, const primitive::Bool& primitive) const { - xmlApi<primitive::Bool>::compose(*((std::deque<sax::Token>*) data), primitive); -} - -void ToXMLComposers::Visit(void* data, const tree::RankedTree& tree) const { - xmlApi<tree::RankedTree>::compose(*((std::deque<sax::Token>*) data), tree); -} - -void ToXMLComposers::Visit(void* data, const tree::RankedPattern& tree) const { - xmlApi<tree::RankedPattern>::compose(*((std::deque<sax::Token>*) data), tree); -} - -void ToXMLComposers::Visit(void* data, const tree::PrefixRankedTree& tree) const { - xmlApi<tree::PrefixRankedTree>::compose(*((std::deque<sax::Token>*) data), tree); -} - -void ToXMLComposers::Visit(void* data, const tree::PrefixRankedBarTree& tree) const { - xmlApi<tree::PrefixRankedBarTree>::compose(*((std::deque<sax::Token>*) data), tree); -} - -void ToXMLComposers::Visit(void* data, const tree::PrefixRankedPattern& tree) const { - xmlApi<tree::PrefixRankedPattern>::compose(*((std::deque<sax::Token>*) data), tree); -} - -void ToXMLComposers::Visit(void* data, const tree::PrefixRankedBarPattern& tree) const { - xmlApi<tree::PrefixRankedBarPattern>::compose(*((std::deque<sax::Token>*) data), tree); -} - -void ToXMLComposers::Visit(void* data, const tree::UnrankedTree& tree) const { - xmlApi<tree::UnrankedTree>::compose(*((std::deque<sax::Token>*) data), tree); -} - -void ToXMLComposers::Visit(void* data, const tree::UnrankedPattern& tree) const { - xmlApi<tree::UnrankedPattern>::compose(*((std::deque<sax::Token>*) data), tree); -} - -} /* namespace alib */ diff --git a/alib2data/src/XmlApi.hpp b/alib2data/src/XmlApi.hpp index e7110f8e82f10d39e8a7fc5acc7fe993ac7314d8..6a0800bb94e914a0290225dde502433e47b9ead9 100644 --- a/alib2data/src/XmlApi.hpp +++ b/alib2data/src/XmlApi.hpp @@ -8,8 +8,6 @@ #ifndef XML_API_HPP_ #define XML_API_HPP_ -#include "XmlApiBase.h" - #include <functional> #include <deque> #include <map> @@ -17,15 +15,14 @@ #include "sax/Token.h" #include "sax/FromXMLParserHelper.h" -#include "object/ObjectFromXMLParser.h" - -#include "object/ObjectToXMLComposer.h" - #include "object/ObjectBase.h" #include "object/WrapperBase.h" namespace alib { +template<typename T, typename Enable = void> +struct xmlApi {}; + template<typename Group> struct xmlApi<Group, typename std::enable_if< std::is_base_of<WrapperBase, Group>::value >::type> { class ParserRegisterBase { @@ -92,149 +89,6 @@ struct xmlApi<Type, typename std::enable_if< std::is_base_of<ObjectBase, Type>:: }; -/* TODO for gcc-4.9 uncomment -template<typename ... Ts> -struct xmlApi<std::variant<Ts...>> { - static std::variant<Ts...> parse(std::deque<sax::Token>::iterator& input); - static bool first(const std::deque<sax::Token>::const_iterator& input); - static void compose(std::deque<sax::Token>& output, const std::variant<Ts...>& data); -}; - -TODO tuple - -*/ - - -template<> -struct xmlApi<Object> { - static Object parse(std::deque<sax::Token>::iterator& input); - static bool first(const std::deque<sax::Token>::const_iterator& input); - static void compose(std::deque<sax::Token>& output, const Object& data); -}; - - -class FromXMLParsers { -public: - static const ObjectFromXMLParser objectParser; - -}; - -class ToXMLComposers : public VisitableObjectBase::const_visitor_type { -public: - ToXMLComposers() {} - -private: - void Visit(void*, const Void& voidObject) const; - - void Visit(void*, const exception::AlibException& symbol) const; - - void Visit(void*, const alphabet::LabeledSymbol& symbol) const; - void Visit(void*, const alphabet::BlankSymbol& symbol) const; - void Visit(void*, const alphabet::BottomOfTheStackSymbol& symbol) const; - void Visit(void*, const alphabet::EndSymbol& symbol) const; - void Visit(void*, const alphabet::RankedSymbol& symbol) const; - void Visit(void*, const alphabet::BarSymbol& symbol) const; - void Visit(void*, const alphabet::VariablesBarSymbol& symbol) const; - void Visit(void*, const alphabet::SubtreeWildcardSymbol& symbol) const; - void Visit(void*, const alphabet::SymbolSetSymbol& label) const; - void Visit(void*, const alphabet::SymbolPairSymbol& label) const; - void Visit(void*, const alphabet::UniqueSymbol& label) const; - void Visit(void*, const alphabet::StartSymbol& symbol) const; - - void Visit(void*, const automaton::EpsilonNFA& automaton) const; - void Visit(void*, const automaton::MultiInitialStateNFA& automaton) const; - void Visit(void*, const automaton::NFA& automaton) const; - void Visit(void*, const automaton::DFA& automaton) const; - void Visit(void*, const automaton::ExtendedNFA& automaton) const; - void Visit(void*, const automaton::CompactNFA& automaton) const; - void Visit(void*, const automaton::DFTA& automaton) const; - void Visit(void*, const automaton::NFTA& automaton) const; - void Visit(void*, const automaton::DPDA& automaton) const; - void Visit(void*, const automaton::SinglePopDPDA& automaton) const; - void Visit(void*, const automaton::InputDrivenDPDA& automaton) const; - void Visit(void*, const automaton::InputDrivenNPDA& automaton) const; - void Visit(void*, const automaton::VisiblyPushdownDPDA& automaton) const; - void Visit(void*, const automaton::VisiblyPushdownNPDA& automaton) const; - void Visit(void*, const automaton::RealTimeHeightDeterministicDPDA& automaton) const; - void Visit(void*, const automaton::RealTimeHeightDeterministicNPDA& automaton) const; - void Visit(void*, const automaton::NPDA& automaton) const; - void Visit(void*, const automaton::SinglePopNPDA& automaton) const; - void Visit(void*, const automaton::OneTapeDTM& automaton) const; - - void Visit(void*, const grammar::LeftLG& grammar) const; - void Visit(void*, const grammar::LeftRG& grammar) const; - void Visit(void*, const grammar::RightLG& grammar) const; - void Visit(void*, const grammar::RightRG& grammar) const; - void Visit(void*, const grammar::LG& grammar) const; - void Visit(void*, const grammar::CFG& grammar) const; - void Visit(void*, const grammar::EpsilonFreeCFG& grammar) const; - void Visit(void*, const grammar::CNF& grammar) const; - void Visit(void*, const grammar::GNF& grammar) const; - void Visit(void*, const grammar::CSG& grammar) const; - void Visit(void*, const grammar::NonContractingGrammar& grammar) const; - void Visit(void*, const grammar::ContextPreservingUnrestrictedGrammar& grammar) const; - void Visit(void*, const grammar::UnrestrictedGrammar& grammar) const; - - void Visit(void*, const graph::DirectedGraph& graph) const; - void Visit(void*, const graph::UndirectedGraph& graph) const; - - void Visit(void*, const label::PrimitiveLabel& label) const; - void Visit(void*, const label::HexavigesimalLabel& label) const; - void Visit(void*, const label::ObjectLabel& label) const; - void Visit(void*, const label::LabelSetLabel& label) const; - void Visit(void*, const label::LabelPairLabel& label) const; - void Visit(void*, const label::UniqueLabel& label) const; - - void Visit(void*, const regexp::UnboundedRegExp& regexp) const; - void Visit(void*, const regexp::FormalRegExp& regexp) const; - - void Visit(void*, const string::LinearString& string) const; - void Visit(void*, const string::CyclicString& string) const; - void Visit(void*, const string::Epsilon& string) const; - - void Visit(void*, const container::ObjectsSet& set) const; - void Visit(void*, const container::ObjectsVector& set) const; - void Visit(void*, const container::ObjectsPair& set) const; - void Visit(void*, const container::ObjectsMap& set) const; - - void Visit(void*, const primitive::String& primitive) const; - void Visit(void*, const primitive::Integer& primitive) const; - void Visit(void*, const primitive::Character& primitive) const; - void Visit(void*, const primitive::Unsigned& primitive) const; - void Visit(void*, const primitive::Bool& primitive) const; - - void Visit(void*, const tree::RankedTree& tree) const; - void Visit(void*, const tree::RankedPattern& tree) const; - void Visit(void*, const tree::PrefixRankedTree& tree) const; - void Visit(void*, const tree::PrefixRankedBarTree& tree) const; - void Visit(void*, const tree::PrefixRankedPattern& tree) const; - void Visit(void*, const tree::PrefixRankedBarPattern& tree) const; - void Visit(void*, const tree::UnrankedTree& tree) const; - void Visit(void*, const tree::UnrankedPattern& tree) const; - -public: - static const ObjectToXMLComposer objectComposer; - - static const ToXMLComposers toXMLComposers; -}; - -/* TODO For gcc-4.9 uncomment -template<typename ... Ts> -std::variant<Ts...> xmlApi<std::variant<Ts...>>::parse(std::deque<sax::Token>::iterator& input) { - return FromXMLParsers::containerParser.parseVariant<Ts...>(input); -} - -template<typename ... Ts> -bool xmlApi<std::variant<Ts...>>::first(const std::deque<sax::Token>::const_iterator& input) { - return sax::FromXMLParserHelper::isToken(input, sax::Token::TokenType::START_ELEMENT, Names::CONTAINER_OBJECTS_VARIANT); -} - -template<typename ... Ts> -std::deque<sax::Token> xmlApi<std::variant<Ts...>>::compose(std::deque<sax::Token>& output, const std::variant<Ts...>& input) { - return ToXMLComposers::containerComposer.compose<Ts...>(input); -} -*/ - } /* namespace alib */ #endif /* XML_API_HPP_ */ diff --git a/alib2data/src/XmlApiBase.h b/alib2data/src/XmlApiBase.h index 33f478491ebc9ec1f63b77c7adad9af025b6c10b..3448c6a5ab1c51dea69d7408ac4d0f05f6f8b687 100644 --- a/alib2data/src/XmlApiBase.h +++ b/alib2data/src/XmlApiBase.h @@ -10,8 +10,6 @@ namespace alib { -template<typename T, typename Enable = void> -struct xmlApi {}; } /* namespace alib */ diff --git a/alib2data/src/alphabet/BarSymbol.cpp b/alib2data/src/alphabet/BarSymbol.cpp index 6ab40486016c1db4eeb9ffdf9d1ae13b8827ad0d..bf5aab78a903e436962c401ee4c4db26278ed31a 100644 --- a/alib2data/src/alphabet/BarSymbol.cpp +++ b/alib2data/src/alphabet/BarSymbol.cpp @@ -8,6 +8,7 @@ #include "BarSymbol.h" #include "../sax/FromXMLParserHelper.h" #include "Symbol.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace alphabet { @@ -56,5 +57,6 @@ void BarSymbol::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<alphabet::Symbol>::ParserRegister<alphabet::BarSymbol> barSymbolParserRegister = xmlApi<alphabet::Symbol>::ParserRegister<alphabet::BarSymbol>(alphabet::BarSymbol::XML_TAG_NAME, alphabet::BarSymbol::parse); +xmlApi<alib::Object>::ParserRegister<alphabet::BarSymbol> barSymbolParserRegister2 = xmlApi<alib::Object>::ParserRegister<alphabet::BarSymbol>(alphabet::BarSymbol::XML_TAG_NAME, alphabet::BarSymbol::parse); } /* namespace alib */ diff --git a/alib2data/src/alphabet/BlankSymbol.cpp b/alib2data/src/alphabet/BlankSymbol.cpp index 900e718882c19f274dad74073d74491e027f81f2..34e4e0f10759f715e326c103c9d28ba7f0cb024f 100644 --- a/alib2data/src/alphabet/BlankSymbol.cpp +++ b/alib2data/src/alphabet/BlankSymbol.cpp @@ -8,6 +8,7 @@ #include "BlankSymbol.h" #include "../sax/FromXMLParserHelper.h" #include "Symbol.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace alphabet { @@ -56,5 +57,6 @@ void BlankSymbol::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<alphabet::Symbol>::ParserRegister<alphabet::BlankSymbol> blankSymbolParserRegister = xmlApi<alphabet::Symbol>::ParserRegister<alphabet::BlankSymbol>(alphabet::BlankSymbol::XML_TAG_NAME, alphabet::BlankSymbol::parse); +xmlApi<alib::Object>::ParserRegister<alphabet::BlankSymbol> blankSymbolParserRegister2 = xmlApi<alib::Object>::ParserRegister<alphabet::BlankSymbol>(alphabet::BlankSymbol::XML_TAG_NAME, alphabet::BlankSymbol::parse); } /* namespace alib */ diff --git a/alib2data/src/alphabet/BottomOfTheStackSymbol.cpp b/alib2data/src/alphabet/BottomOfTheStackSymbol.cpp index 3cd7997069920685250cd321a1e0732e7c9311a9..ba80fc1b08af54146d3e58b3345abcc5c83cf4b2 100644 --- a/alib2data/src/alphabet/BottomOfTheStackSymbol.cpp +++ b/alib2data/src/alphabet/BottomOfTheStackSymbol.cpp @@ -8,6 +8,7 @@ #include "BottomOfTheStackSymbol.h" #include "../sax/FromXMLParserHelper.h" #include "Symbol.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace alphabet { @@ -56,5 +57,6 @@ void BottomOfTheStackSymbol::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<alphabet::Symbol>::ParserRegister<alphabet::BottomOfTheStackSymbol> bottomOfTheStackSymbolParserRegister = xmlApi<alphabet::Symbol>::ParserRegister<alphabet::BottomOfTheStackSymbol>(alphabet::BottomOfTheStackSymbol::XML_TAG_NAME, alphabet::BottomOfTheStackSymbol::parse); +xmlApi<alib::Object>::ParserRegister<alphabet::BottomOfTheStackSymbol> bottomOfTheStackSymbolParserRegister2 = xmlApi<alib::Object>::ParserRegister<alphabet::BottomOfTheStackSymbol>(alphabet::BottomOfTheStackSymbol::XML_TAG_NAME, alphabet::BottomOfTheStackSymbol::parse); } /* namespace alib */ diff --git a/alib2data/src/alphabet/EndSymbol.cpp b/alib2data/src/alphabet/EndSymbol.cpp index 67fea3f671bf2942862ea8710063f9febc20b10a..4b3c9949f7390894425b773d0b72a5e9663921cb 100644 --- a/alib2data/src/alphabet/EndSymbol.cpp +++ b/alib2data/src/alphabet/EndSymbol.cpp @@ -8,6 +8,7 @@ #include "EndSymbol.h" #include "../sax/FromXMLParserHelper.h" #include "Symbol.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace alphabet { @@ -56,5 +57,6 @@ void EndSymbol::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<alphabet::Symbol>::ParserRegister<alphabet::EndSymbol> endSymbolParserRegister = xmlApi<alphabet::Symbol>::ParserRegister<alphabet::EndSymbol>(alphabet::EndSymbol::XML_TAG_NAME, alphabet::EndSymbol::parse); +xmlApi<alib::Object>::ParserRegister<alphabet::EndSymbol> endSymbolParserRegister2 = xmlApi<alib::Object>::ParserRegister<alphabet::EndSymbol>(alphabet::EndSymbol::XML_TAG_NAME, alphabet::EndSymbol::parse); } /* namespace alib */ diff --git a/alib2data/src/alphabet/LabeledSymbol.cpp b/alib2data/src/alphabet/LabeledSymbol.cpp index 7711ddf092fe26c061de15d92005899ad49f08cd..eef5c9924ca98bd31630898a8230b94741a54238 100644 --- a/alib2data/src/alphabet/LabeledSymbol.cpp +++ b/alib2data/src/alphabet/LabeledSymbol.cpp @@ -8,6 +8,7 @@ #include "LabeledSymbol.h" #include "../sax/FromXMLParserHelper.h" #include "Symbol.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace alphabet { @@ -76,5 +77,6 @@ void LabeledSymbol::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<alphabet::Symbol>::ParserRegister<alphabet::LabeledSymbol> labeledSymbolParserRegister = xmlApi<alphabet::Symbol>::ParserRegister<alphabet::LabeledSymbol>(alphabet::LabeledSymbol::XML_TAG_NAME, alphabet::LabeledSymbol::parse); +xmlApi<alib::Object>::ParserRegister<alphabet::LabeledSymbol> labeledSymbolParserRegister2 = xmlApi<alib::Object>::ParserRegister<alphabet::LabeledSymbol>(alphabet::LabeledSymbol::XML_TAG_NAME, alphabet::LabeledSymbol::parse); } /* namespace alib */ diff --git a/alib2data/src/alphabet/RankedSymbol.cpp b/alib2data/src/alphabet/RankedSymbol.cpp index 32ad74929613faab82f9ba2137864165c58d0dde..5388b2776de3e76dd74582e82c6b19a0c9cc00db 100644 --- a/alib2data/src/alphabet/RankedSymbol.cpp +++ b/alib2data/src/alphabet/RankedSymbol.cpp @@ -8,6 +8,7 @@ #include "RankedSymbol.h" #include "../sax/FromXMLParserHelper.h" #include "Symbol.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace alphabet { @@ -84,5 +85,6 @@ void RankedSymbol::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<alphabet::Symbol>::ParserRegister<alphabet::RankedSymbol> rankedSymbolParserRegister = xmlApi<alphabet::Symbol>::ParserRegister<alphabet::RankedSymbol>(alphabet::RankedSymbol::XML_TAG_NAME, alphabet::RankedSymbol::parse); +xmlApi<alib::Object>::ParserRegister<alphabet::RankedSymbol> rankedSymbolParserRegister2 = xmlApi<alib::Object>::ParserRegister<alphabet::RankedSymbol>(alphabet::RankedSymbol::XML_TAG_NAME, alphabet::RankedSymbol::parse); } /* namespace alib */ diff --git a/alib2data/src/alphabet/StartSymbol.cpp b/alib2data/src/alphabet/StartSymbol.cpp index 079e2f779cae6f778b810cb66b923138db0099b6..12a0555bb3c56ed9a65fcb3fa835d31f2c0331f6 100644 --- a/alib2data/src/alphabet/StartSymbol.cpp +++ b/alib2data/src/alphabet/StartSymbol.cpp @@ -8,6 +8,7 @@ #include "StartSymbol.h" #include "../sax/FromXMLParserHelper.h" #include "Symbol.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace alphabet { @@ -56,5 +57,6 @@ void StartSymbol::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<alphabet::Symbol>::ParserRegister<alphabet::StartSymbol> startSymbolParserRegister = xmlApi<alphabet::Symbol>::ParserRegister<alphabet::StartSymbol>(alphabet::StartSymbol::XML_TAG_NAME, alphabet::StartSymbol::parse); +xmlApi<alib::Object>::ParserRegister<alphabet::StartSymbol> startSymbolParserRegister2 = xmlApi<alib::Object>::ParserRegister<alphabet::StartSymbol>(alphabet::StartSymbol::XML_TAG_NAME, alphabet::StartSymbol::parse); } /* namespace alib */ diff --git a/alib2data/src/alphabet/SubtreeWildcardSymbol.cpp b/alib2data/src/alphabet/SubtreeWildcardSymbol.cpp index 1ab48d3938ea673f2fbeaef5b68ae4b24b1bed52..0b39fd401d5436154edaea636d1a32d2698a47fc 100644 --- a/alib2data/src/alphabet/SubtreeWildcardSymbol.cpp +++ b/alib2data/src/alphabet/SubtreeWildcardSymbol.cpp @@ -8,6 +8,7 @@ #include "SubtreeWildcardSymbol.h" #include "../sax/FromXMLParserHelper.h" #include "Symbol.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace alphabet { @@ -56,5 +57,6 @@ void SubtreeWildcardSymbol::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<alphabet::Symbol>::ParserRegister<alphabet::SubtreeWildcardSymbol> subtreeWildcardSymbolParserRegister = xmlApi<alphabet::Symbol>::ParserRegister<alphabet::SubtreeWildcardSymbol>(alphabet::SubtreeWildcardSymbol::XML_TAG_NAME, alphabet::SubtreeWildcardSymbol::parse); +xmlApi<alib::Object>::ParserRegister<alphabet::SubtreeWildcardSymbol> subtreeWildcardSymbolParserRegister2 = xmlApi<alib::Object>::ParserRegister<alphabet::SubtreeWildcardSymbol>(alphabet::SubtreeWildcardSymbol::XML_TAG_NAME, alphabet::SubtreeWildcardSymbol::parse); } /* namespace alib */ diff --git a/alib2data/src/alphabet/SymbolBase.h b/alib2data/src/alphabet/SymbolBase.h index 90a5747c19db53dca10016b680731930e872e778..3847a3aef9805a2d5c0f9c9230b7cbfec53082cb 100644 --- a/alib2data/src/alphabet/SymbolBase.h +++ b/alib2data/src/alphabet/SymbolBase.h @@ -9,8 +9,6 @@ #define SYMBOL_BASE_H_ #include "../object/ObjectBase.h" -#include <deque> -#include "../sax/Token.h" namespace alphabet { @@ -43,8 +41,6 @@ public: virtual SymbolBase* clone() const = 0; virtual SymbolBase* plunder() && = 0; - - virtual void compose(std::deque<sax::Token>& out) const = 0; }; } /* namespace alphabet */ diff --git a/alib2data/src/alphabet/SymbolPairSymbol.cpp b/alib2data/src/alphabet/SymbolPairSymbol.cpp index a835e9090d4825cce170800b639a716176dd1a7a..beee6b3120515013e74e93e3442da42658bf01ee 100644 --- a/alib2data/src/alphabet/SymbolPairSymbol.cpp +++ b/alib2data/src/alphabet/SymbolPairSymbol.cpp @@ -9,6 +9,7 @@ #include <sstream> #include "../sax/FromXMLParserHelper.h" #include "Symbol.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace alphabet { @@ -74,5 +75,6 @@ void SymbolPairSymbol::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<alphabet::Symbol>::ParserRegister<alphabet::SymbolPairSymbol> symbolPairSymbolParserRegister = xmlApi<alphabet::Symbol>::ParserRegister<alphabet::SymbolPairSymbol>(alphabet::SymbolPairSymbol::XML_TAG_NAME, alphabet::SymbolPairSymbol::parse); +xmlApi<alib::Object>::ParserRegister<alphabet::SymbolPairSymbol> symbolPairSymbolParserRegister2 = xmlApi<alib::Object>::ParserRegister<alphabet::SymbolPairSymbol>(alphabet::SymbolPairSymbol::XML_TAG_NAME, alphabet::SymbolPairSymbol::parse); } /* namespace alib */ diff --git a/alib2data/src/alphabet/SymbolSetSymbol.cpp b/alib2data/src/alphabet/SymbolSetSymbol.cpp index 7b4ebee4961777e5938b6ac491c0e775fa7fabe9..a3cbdb5a8d82aed8db5d8afab806d46525ff3084 100644 --- a/alib2data/src/alphabet/SymbolSetSymbol.cpp +++ b/alib2data/src/alphabet/SymbolSetSymbol.cpp @@ -8,6 +8,7 @@ #include "SymbolSetSymbol.h" #include <sstream> #include "../sax/FromXMLParserHelper.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace alphabet { @@ -78,5 +79,6 @@ void SymbolSetSymbol::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<alphabet::Symbol>::ParserRegister<alphabet::SymbolSetSymbol> symbolSetSymbolParserRegister = xmlApi<alphabet::Symbol>::ParserRegister<alphabet::SymbolSetSymbol>(alphabet::SymbolSetSymbol::XML_TAG_NAME, alphabet::SymbolSetSymbol::parse); +xmlApi<alib::Object>::ParserRegister<alphabet::SymbolSetSymbol> symbolSetSymbolParserRegister2 = xmlApi<alib::Object>::ParserRegister<alphabet::SymbolSetSymbol>(alphabet::SymbolSetSymbol::XML_TAG_NAME, alphabet::SymbolSetSymbol::parse); } /* namespace alib */ diff --git a/alib2data/src/alphabet/UniqueSymbol.cpp b/alib2data/src/alphabet/UniqueSymbol.cpp index 88f4a01102e749006acfd52af1f178ff3cacc453..3d2ab7c31429a8b563d83af59badb4487cf02aed 100644 --- a/alib2data/src/alphabet/UniqueSymbol.cpp +++ b/alib2data/src/alphabet/UniqueSymbol.cpp @@ -9,6 +9,7 @@ #include <sstream> #include "../sax/FromXMLParserHelper.h" #include "Symbol.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace alphabet { @@ -82,5 +83,6 @@ void UniqueSymbol::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<alphabet::Symbol>::ParserRegister<alphabet::UniqueSymbol> uniqueSymbolParserRegister = xmlApi<alphabet::Symbol>::ParserRegister<alphabet::UniqueSymbol>(alphabet::UniqueSymbol::XML_TAG_NAME, alphabet::UniqueSymbol::parse); +xmlApi<alib::Object>::ParserRegister<alphabet::UniqueSymbol> uniqueSymbolParserRegister2 = xmlApi<alib::Object>::ParserRegister<alphabet::UniqueSymbol>(alphabet::UniqueSymbol::XML_TAG_NAME, alphabet::UniqueSymbol::parse); } /* namespace alib */ diff --git a/alib2data/src/alphabet/VariablesBarSymbol.cpp b/alib2data/src/alphabet/VariablesBarSymbol.cpp index fde0882c16ad40a8df696d24d2aaff857dd9ecf8..0d36d3a2df4f844b6cd36552174938f3d68ca4bb 100644 --- a/alib2data/src/alphabet/VariablesBarSymbol.cpp +++ b/alib2data/src/alphabet/VariablesBarSymbol.cpp @@ -8,6 +8,7 @@ #include "VariablesBarSymbol.h" #include "../sax/FromXMLParserHelper.h" #include "Symbol.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace alphabet { @@ -56,5 +57,6 @@ void VariablesBarSymbol::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<alphabet::Symbol>::ParserRegister<alphabet::VariablesBarSymbol> variablesBarSymbolParserRegister = xmlApi<alphabet::Symbol>::ParserRegister<alphabet::VariablesBarSymbol>(alphabet::VariablesBarSymbol::XML_TAG_NAME, alphabet::VariablesBarSymbol::parse); +xmlApi<alib::Object>::ParserRegister<alphabet::VariablesBarSymbol> variablesBarSymbolParserRegister2 = xmlApi<alib::Object>::ParserRegister<alphabet::VariablesBarSymbol>(alphabet::VariablesBarSymbol::XML_TAG_NAME, alphabet::VariablesBarSymbol::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/AutomatonBase.h b/alib2data/src/automaton/AutomatonBase.h index 46295f44850f1612a5c21577414b3ce1b0a08dcf..26cd383e85b96785a8a98e647c0392d4fda64f0b 100644 --- a/alib2data/src/automaton/AutomatonBase.h +++ b/alib2data/src/automaton/AutomatonBase.h @@ -42,8 +42,6 @@ public: virtual AutomatonBase* clone() const = 0; virtual AutomatonBase* plunder() && = 0; - - virtual void compose(std::deque<sax::Token>& out) const = 0; }; class VisitableConstFSMBase : public VisitableAutomatonBase::const_visitor_type { diff --git a/alib2data/src/automaton/FSM/CompactNFA.cpp b/alib2data/src/automaton/FSM/CompactNFA.cpp index 319fdacbf77f572aabc34b7c742a64d9f6401d3f..78834a9fcd34519d560ebc1f8dcf622f9cc213c7 100644 --- a/alib2data/src/automaton/FSM/CompactNFA.cpp +++ b/alib2data/src/automaton/FSM/CompactNFA.cpp @@ -19,6 +19,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -253,5 +254,6 @@ void CompactNFA::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::CompactNFA> compactNFAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::CompactNFA>(automaton::CompactNFA::XML_TAG_NAME, automaton::CompactNFA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::CompactNFA> compactNFAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::CompactNFA>(automaton::CompactNFA::XML_TAG_NAME, automaton::CompactNFA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/FSM/DFA.cpp b/alib2data/src/automaton/FSM/DFA.cpp index bd54cfde5d7dbbf38667441ae317a7968e6c9285..0f3761beef6750adb26c1999eff22481597898d5 100644 --- a/alib2data/src/automaton/FSM/DFA.cpp +++ b/alib2data/src/automaton/FSM/DFA.cpp @@ -14,6 +14,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -220,5 +221,6 @@ void DFA::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::DFA> DFAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::DFA>(automaton::DFA::XML_TAG_NAME, automaton::DFA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::DFA> DFAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::DFA>(automaton::DFA::XML_TAG_NAME, automaton::DFA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/FSM/EpsilonNFA.cpp b/alib2data/src/automaton/FSM/EpsilonNFA.cpp index c7788f99cfcfb1252c71224a815eaea07d1ff5b9..ec2845b2163abf2688296846739a294ff05e81b5 100644 --- a/alib2data/src/automaton/FSM/EpsilonNFA.cpp +++ b/alib2data/src/automaton/FSM/EpsilonNFA.cpp @@ -18,6 +18,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -342,5 +343,6 @@ void EpsilonNFA::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::EpsilonNFA> epsilonNFAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::EpsilonNFA>(automaton::EpsilonNFA::XML_TAG_NAME, automaton::EpsilonNFA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::EpsilonNFA> epsilonNFAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::EpsilonNFA>(automaton::EpsilonNFA::XML_TAG_NAME, automaton::EpsilonNFA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/FSM/ExtendedNFA.cpp b/alib2data/src/automaton/FSM/ExtendedNFA.cpp index a511585dd882a1cfb2dee02447ef6494946cc243..356765631d9627019be69dc88ee531bc9dce78a3 100644 --- a/alib2data/src/automaton/FSM/ExtendedNFA.cpp +++ b/alib2data/src/automaton/FSM/ExtendedNFA.cpp @@ -23,6 +23,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -265,5 +266,6 @@ void ExtendedNFA::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::ExtendedNFA> extendedNFAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::ExtendedNFA>(automaton::ExtendedNFA::XML_TAG_NAME, automaton::ExtendedNFA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::ExtendedNFA> extendedNFAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::ExtendedNFA>(automaton::ExtendedNFA::XML_TAG_NAME, automaton::ExtendedNFA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/FSM/MultiInitialStateNFA.cpp b/alib2data/src/automaton/FSM/MultiInitialStateNFA.cpp index 2abe3dbd0adfce9658ca77c0d773b1e625569653..2fceef193ce6f3034dd7c8a6896119ecd42de6c8 100644 --- a/alib2data/src/automaton/FSM/MultiInitialStateNFA.cpp +++ b/alib2data/src/automaton/FSM/MultiInitialStateNFA.cpp @@ -16,6 +16,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -244,5 +245,6 @@ void MultiInitialStateNFA::composeTransitions(std::deque<sax::Token>& out) const namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::MultiInitialStateNFA> multiInitialStateNFAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::MultiInitialStateNFA>(automaton::MultiInitialStateNFA::XML_TAG_NAME, automaton::MultiInitialStateNFA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::MultiInitialStateNFA> multiInitialStateNFAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::MultiInitialStateNFA>(automaton::MultiInitialStateNFA::XML_TAG_NAME, automaton::MultiInitialStateNFA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/FSM/NFA.cpp b/alib2data/src/automaton/FSM/NFA.cpp index 436112208bce806af152d472fe4b267c9647a349..d06ae07f3640cebd3eed0e214cf0b2466e9cc669 100644 --- a/alib2data/src/automaton/FSM/NFA.cpp +++ b/alib2data/src/automaton/FSM/NFA.cpp @@ -14,6 +14,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -226,5 +227,6 @@ void NFA::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::NFA> NFAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::NFA>(automaton::NFA::XML_TAG_NAME, automaton::NFA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::NFA> NFAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::NFA>(automaton::NFA::XML_TAG_NAME, automaton::NFA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/PDA/DPDA.cpp b/alib2data/src/automaton/PDA/DPDA.cpp index 68d7b3684e0ec2bcbe4d09b4f0bf9d64b586cf2f..52f2b20d9dcdf725c9fce9ef898114149f7644cd 100644 --- a/alib2data/src/automaton/PDA/DPDA.cpp +++ b/alib2data/src/automaton/PDA/DPDA.cpp @@ -14,6 +14,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -324,5 +325,6 @@ void DPDA::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::DPDA> DPDAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::DPDA>(automaton::DPDA::XML_TAG_NAME, automaton::DPDA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::DPDA> DPDAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::DPDA>(automaton::DPDA::XML_TAG_NAME, automaton::DPDA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/PDA/InputDrivenDPDA.cpp b/alib2data/src/automaton/PDA/InputDrivenDPDA.cpp index 1508fda561a4c4463c0456fd2de21f4265fa9787..591c417656304fbb74fa096c7bf7b222848affca 100644 --- a/alib2data/src/automaton/PDA/InputDrivenDPDA.cpp +++ b/alib2data/src/automaton/PDA/InputDrivenDPDA.cpp @@ -15,6 +15,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -295,5 +296,6 @@ void InputDrivenDPDA::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::InputDrivenDPDA> inputDivenDPDAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::InputDrivenDPDA>(automaton::InputDrivenDPDA::XML_TAG_NAME, automaton::InputDrivenDPDA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::InputDrivenDPDA> inputDivenDPDAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::InputDrivenDPDA>(automaton::InputDrivenDPDA::XML_TAG_NAME, automaton::InputDrivenDPDA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/PDA/InputDrivenNPDA.cpp b/alib2data/src/automaton/PDA/InputDrivenNPDA.cpp index 22751f32a1d21306a8052636b0a470b3f8a70898..d3bf5201273630f67d2c207f7e7227e0b2f28b08 100644 --- a/alib2data/src/automaton/PDA/InputDrivenNPDA.cpp +++ b/alib2data/src/automaton/PDA/InputDrivenNPDA.cpp @@ -15,6 +15,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -288,5 +289,6 @@ void InputDrivenNPDA::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::InputDrivenNPDA> inputDrivenNPDAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::InputDrivenNPDA>(automaton::InputDrivenNPDA::XML_TAG_NAME, automaton::InputDrivenNPDA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::InputDrivenNPDA> inputDrivenNPDAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::InputDrivenNPDA>(automaton::InputDrivenNPDA::XML_TAG_NAME, automaton::InputDrivenNPDA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/PDA/NPDA.cpp b/alib2data/src/automaton/PDA/NPDA.cpp index cd86dcbd75d3efd4534e7b44c8cb3a612b482aab..b02e2a05483da3df7e7056f2ad8c8c8f8c9ef73b 100644 --- a/alib2data/src/automaton/PDA/NPDA.cpp +++ b/alib2data/src/automaton/PDA/NPDA.cpp @@ -14,6 +14,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -241,5 +242,6 @@ void NPDA::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::NPDA> NPDAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::NPDA>(automaton::NPDA::XML_TAG_NAME, automaton::NPDA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::NPDA> NPDAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::NPDA>(automaton::NPDA::XML_TAG_NAME, automaton::NPDA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.cpp b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.cpp index 092ac8de4543c0f00528e135fb72acc395ec4d01..5ade5615d3b5d0c8494b1b4c2fff330ea5acfa71 100644 --- a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.cpp +++ b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.cpp @@ -14,6 +14,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -506,5 +507,6 @@ void RealTimeHeightDeterministicDPDA::composeTransitions(std::deque<sax::Token>& namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::RealTimeHeightDeterministicDPDA> realTimeHeightDeterministicDPDAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::RealTimeHeightDeterministicDPDA>(automaton::RealTimeHeightDeterministicDPDA::XML_TAG_NAME, automaton::RealTimeHeightDeterministicDPDA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::RealTimeHeightDeterministicDPDA> realTimeHeightDeterministicDPDAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::RealTimeHeightDeterministicDPDA>(automaton::RealTimeHeightDeterministicDPDA::XML_TAG_NAME, automaton::RealTimeHeightDeterministicDPDA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.cpp b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.cpp index 94ea5c1dbd81480d99847a1918073df8cb0c933f..167623cda34ceb83a82542e76d2c07264cb31ad8 100644 --- a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.cpp +++ b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.cpp @@ -14,6 +14,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -404,5 +405,6 @@ void RealTimeHeightDeterministicNPDA::composeTransitions(std::deque<sax::Token>& namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::RealTimeHeightDeterministicNPDA> realTimeHeightDeterministicNPDAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::RealTimeHeightDeterministicNPDA>(automaton::RealTimeHeightDeterministicNPDA::XML_TAG_NAME, automaton::RealTimeHeightDeterministicNPDA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::RealTimeHeightDeterministicNPDA> realTimeHeightDeterministicNPDAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::RealTimeHeightDeterministicNPDA>(automaton::RealTimeHeightDeterministicNPDA::XML_TAG_NAME, automaton::RealTimeHeightDeterministicNPDA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/PDA/SinglePopDPDA.cpp b/alib2data/src/automaton/PDA/SinglePopDPDA.cpp index 3004138c8895e5bb1d3cad16ac8b61261ee3c0d8..96a19793b18da9a6a3403a6be1397ff7777154e0 100644 --- a/alib2data/src/automaton/PDA/SinglePopDPDA.cpp +++ b/alib2data/src/automaton/PDA/SinglePopDPDA.cpp @@ -15,6 +15,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -270,5 +271,6 @@ void SinglePopDPDA::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::SinglePopDPDA> singlePopDPDAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::SinglePopDPDA>(automaton::SinglePopDPDA::XML_TAG_NAME, automaton::SinglePopDPDA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::SinglePopDPDA> singlePopDPDAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::SinglePopDPDA>(automaton::SinglePopDPDA::XML_TAG_NAME, automaton::SinglePopDPDA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/PDA/SinglePopNPDA.cpp b/alib2data/src/automaton/PDA/SinglePopNPDA.cpp index 7d8d2e7697bed030dcc23b4c60aeb5095c6ca941..1dc14b6f8031b70b5032c4cc7f141ea7887a5b33 100644 --- a/alib2data/src/automaton/PDA/SinglePopNPDA.cpp +++ b/alib2data/src/automaton/PDA/SinglePopNPDA.cpp @@ -14,6 +14,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -238,5 +239,6 @@ void SinglePopNPDA::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::SinglePopNPDA> singlePopNPDAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::SinglePopNPDA>(automaton::SinglePopNPDA::XML_TAG_NAME, automaton::SinglePopNPDA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::SinglePopNPDA> singlePopNPDAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::SinglePopNPDA>(automaton::SinglePopNPDA::XML_TAG_NAME, automaton::SinglePopNPDA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.cpp b/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.cpp index 96b077f78e49125df106cff1e576e82d55c292c8..7d2e48cd20d653b78948f1c348c7b05b2b038b60 100644 --- a/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.cpp +++ b/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.cpp @@ -14,6 +14,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -412,5 +413,6 @@ void VisiblyPushdownDPDA::composeTransitions(std::deque<sax::Token>& out) const namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::VisiblyPushdownDPDA> visiblyPushdownDPDAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::VisiblyPushdownDPDA>(automaton::VisiblyPushdownDPDA::XML_TAG_NAME, automaton::VisiblyPushdownDPDA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::VisiblyPushdownDPDA> visiblyPushdownDPDAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::VisiblyPushdownDPDA>(automaton::VisiblyPushdownDPDA::XML_TAG_NAME, automaton::VisiblyPushdownDPDA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.cpp b/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.cpp index e178d2201187600601e2d02a8b5a02733682d3e1..3d420771c1f31cb0c15462a8ed4eec1e78a554e3 100644 --- a/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.cpp +++ b/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.cpp @@ -14,6 +14,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -352,5 +353,6 @@ void VisiblyPushdownNPDA::composeTransitions(std::deque<sax::Token>& out) const namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::VisiblyPushdownNPDA> visiblyPushdownNPDAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::VisiblyPushdownNPDA>(automaton::VisiblyPushdownNPDA::XML_TAG_NAME, automaton::VisiblyPushdownNPDA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::VisiblyPushdownNPDA> visiblyPushdownNPDAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::VisiblyPushdownNPDA>(automaton::VisiblyPushdownNPDA::XML_TAG_NAME, automaton::VisiblyPushdownNPDA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/TA/DFTA.cpp b/alib2data/src/automaton/TA/DFTA.cpp index 26282690a8e8d17d0ebeeaa6145d41f7963a2982..7a25eea2857dd49a696567791251ff51b4fb5ce4 100644 --- a/alib2data/src/automaton/TA/DFTA.cpp +++ b/alib2data/src/automaton/TA/DFTA.cpp @@ -14,6 +14,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -174,5 +175,6 @@ void DFTA::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::DFTA> DFTAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::DFTA>(automaton::DFTA::XML_TAG_NAME, automaton::DFTA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::DFTA> DFTAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::DFTA>(automaton::DFTA::XML_TAG_NAME, automaton::DFTA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/TA/NFTA.cpp b/alib2data/src/automaton/TA/NFTA.cpp index 46b60740b17d16283a4d3b9380e2d6821fdba957..52b5c40240b575606d4909f8f62b0477e15b7f2f 100644 --- a/alib2data/src/automaton/TA/NFTA.cpp +++ b/alib2data/src/automaton/TA/NFTA.cpp @@ -14,6 +14,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -194,5 +195,6 @@ void NFTA::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::NFTA> NFTAParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::NFTA>(automaton::NFTA::XML_TAG_NAME, automaton::NFTA::parse); +xmlApi<alib::Object>::ParserRegister<automaton::NFTA> NFTAParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::NFTA>(automaton::NFTA::XML_TAG_NAME, automaton::NFTA::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/TM/OneTapeDTM.cpp b/alib2data/src/automaton/TM/OneTapeDTM.cpp index cc283e4e03de380d39a7fe6227cac2755c20e892..eb67bea81043526a26d3e90cfcd6bb964f2e19f3 100644 --- a/alib2data/src/automaton/TM/OneTapeDTM.cpp +++ b/alib2data/src/automaton/TM/OneTapeDTM.cpp @@ -13,6 +13,7 @@ #include "../common/AutomatonFromXMLParser.h" #include "../common/AutomatonToXMLComposer.h" #include "../Automaton.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace automaton { @@ -218,5 +219,6 @@ void OneTapeDTM::composeTransitions(std::deque<sax::Token>& out) const { namespace alib { xmlApi<automaton::Automaton>::ParserRegister<automaton::OneTapeDTM> oneTapeDTMParserRegister = xmlApi<automaton::Automaton>::ParserRegister<automaton::OneTapeDTM>(automaton::OneTapeDTM::XML_TAG_NAME, automaton::OneTapeDTM::parse); +xmlApi<alib::Object>::ParserRegister<automaton::OneTapeDTM> oneTapeDTMParserRegister2 = xmlApi<alib::Object>::ParserRegister<automaton::OneTapeDTM>(automaton::OneTapeDTM::XML_TAG_NAME, automaton::OneTapeDTM::parse); } /* namespace alib */ diff --git a/alib2data/src/automaton/common/State.h b/alib2data/src/automaton/common/State.h index 362e6354c4e1017baab66da3dbccf5bea31618e5..75e62adbcc7ccd800489bed38d347bf0e0cc36ae 100644 --- a/alib2data/src/automaton/common/State.h +++ b/alib2data/src/automaton/common/State.h @@ -12,7 +12,7 @@ #include <ostream> #include "../../label/Label.h" -#include "../../XmlApiBase.h" +#include "../../XmlApi.hpp" namespace automaton { diff --git a/alib2data/src/container/ContainerFromXMLParser.hpp.tmp b/alib2data/src/container/ContainerFromXMLParser.hpp.tmp index 7e00b8717a673e933f368c2594c49811ff80239c..6e0030518632320524a7943f248485234fd513bf 100644 --- a/alib2data/src/container/ContainerFromXMLParser.hpp.tmp +++ b/alib2data/src/container/ContainerFromXMLParser.hpp.tmp @@ -8,7 +8,7 @@ #ifndef CONTAINER_FROM_XML_PARSER_H_ #define CONTAINER_FROM_XML_PARSER_H_ -/* TODO for gcc-4.9 uncoment this +/* TODO for gcc-4.9 template<typename ... Ts> std::variant<Ts...> parseVariant(std::deque<sax::Token>::iterator& input) const; @@ -31,3 +31,32 @@ std::variant<Ts...> ContainerFromXMLParser::parseVariant(std::deque<sax::Token>: #endif /* CONTAINER_FROM_XML_PARSER_H_ */ +/* TODO for gcc-4.9 +template<typename ... Ts> +struct xmlApi<std::variant<Ts...>> { + static std::variant<Ts...> parse(std::deque<sax::Token>::iterator& input); + static bool first(const std::deque<sax::Token>::const_iterator& input); + static void compose(std::deque<sax::Token>& output, const std::variant<Ts...>& data); +}; + +/* TODO For gcc-4.9 +template<typename ... Ts> +std::variant<Ts...> xmlApi<std::variant<Ts...>>::parse(std::deque<sax::Token>::iterator& input) { + return FromXMLParsers::containerParser.parseVariant<Ts...>(input); +} + +template<typename ... Ts> +bool xmlApi<std::variant<Ts...>>::first(const std::deque<sax::Token>::const_iterator& input) { + return sax::FromXMLParserHelper::isToken(input, sax::Token::TokenType::START_ELEMENT, Names::CONTAINER_OBJECTS_VARIANT); +} + +template<typename ... Ts> +std::deque<sax::Token> xmlApi<std::variant<Ts...>>::compose(std::deque<sax::Token>& output, const std::variant<Ts...>& input) { + return ToXMLComposers::containerComposer.compose<Ts...>(input); +} +*/ + +} /* namespace alib */ + +*/ + diff --git a/alib2data/src/container/ObjectsMap.cpp b/alib2data/src/container/ObjectsMap.cpp index 80ebe118d6e0c5fd8a4d15a5313fc845ff332cb8..bef8847e198c9ce85e4f78ee858d9682c5ea5f20 100644 --- a/alib2data/src/container/ObjectsMap.cpp +++ b/alib2data/src/container/ObjectsMap.cpp @@ -10,6 +10,7 @@ #include <sstream> #include "Container.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace container { @@ -60,5 +61,6 @@ void ObjectsMap::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<container::Container>::ParserRegister<container::ObjectsMap> objectsMapParserRegister = xmlApi<container::Container>::ParserRegister<container::ObjectsMap>(container::ObjectsMap::XML_TAG_NAME, container::ObjectsMap::parse); +xmlApi<alib::Object>::ParserRegister<container::ObjectsMap> objectsMapParserRegister2 = xmlApi<alib::Object>::ParserRegister<container::ObjectsMap>(container::ObjectsMap::XML_TAG_NAME, container::ObjectsMap::parse); } /* namespace alib */ diff --git a/alib2data/src/container/ObjectsPair.cpp b/alib2data/src/container/ObjectsPair.cpp index 2d5ce1b98344797c84788aad516f7b60b9f135c8..8999730193593ef5d536be0b79af027df319afe8 100644 --- a/alib2data/src/container/ObjectsPair.cpp +++ b/alib2data/src/container/ObjectsPair.cpp @@ -10,6 +10,7 @@ #include <sstream> #include "Container.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace container { @@ -60,5 +61,6 @@ void ObjectsPair::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<container::Container>::ParserRegister<container::ObjectsPair> objectsPairParserRegister = xmlApi<container::Container>::ParserRegister<container::ObjectsPair>(container::ObjectsPair::XML_TAG_NAME, container::ObjectsPair::parse); +xmlApi<alib::Object>::ParserRegister<container::ObjectsPair> objectsPairParserRegister2 = xmlApi<alib::Object>::ParserRegister<container::ObjectsPair>(container::ObjectsPair::XML_TAG_NAME, container::ObjectsPair::parse); } /* namespace alib */ diff --git a/alib2data/src/container/ObjectsSet.cpp b/alib2data/src/container/ObjectsSet.cpp index 1cf2a14eee19e480ceced4d564b3010f1526231f..2cda27a1af56cbeaa44f088bc81119910f710f07 100644 --- a/alib2data/src/container/ObjectsSet.cpp +++ b/alib2data/src/container/ObjectsSet.cpp @@ -8,6 +8,7 @@ #include "ObjectsSet.h" #include "Container.h" +#include "../object/Object.h" #include <sstream> namespace container { @@ -58,5 +59,6 @@ void ObjectsSet::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<container::Container>::ParserRegister<container::ObjectsSet> objectsSetParserRegister = xmlApi<container::Container>::ParserRegister<container::ObjectsSet>(container::ObjectsSet::XML_TAG_NAME, container::ObjectsSet::parse); +xmlApi<alib::Object>::ParserRegister<container::ObjectsSet> objectsSetParserRegister2 = xmlApi<alib::Object>::ParserRegister<container::ObjectsSet>(container::ObjectsSet::XML_TAG_NAME, container::ObjectsSet::parse); } /* namespace alib */ diff --git a/alib2data/src/container/ObjectsVector.cpp b/alib2data/src/container/ObjectsVector.cpp index 93ee269c3696b1a9395fe45763ab20860436ca99..d99233a0f0eccf78b85ce9ae1d27881148a7f13a 100644 --- a/alib2data/src/container/ObjectsVector.cpp +++ b/alib2data/src/container/ObjectsVector.cpp @@ -8,6 +8,7 @@ #include "ObjectsVector.h" #include "Container.h" +#include "../object/Object.h" #include <sstream> namespace container { @@ -58,5 +59,6 @@ void ObjectsVector::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<container::Container>::ParserRegister<container::ObjectsVector> objectsVectorParserRegister = xmlApi<container::Container>::ParserRegister<container::ObjectsVector>(container::ObjectsVector::XML_TAG_NAME, container::ObjectsVector::parse); +xmlApi<alib::Object>::ParserRegister<container::ObjectsVector> objectsVectorParserRegister2 = xmlApi<alib::Object>::ParserRegister<container::ObjectsVector>(container::ObjectsVector::XML_TAG_NAME, container::ObjectsVector::parse); } /* namespace alib */ diff --git a/alib2data/src/exception/AlibException.cpp b/alib2data/src/exception/AlibException.cpp index d561001b215d7b6fbf5fd23ecd8d4cb9e07c33b3..262c8454d5e0f6e72cf99a8babc0b1f5905804fb 100644 --- a/alib2data/src/exception/AlibException.cpp +++ b/alib2data/src/exception/AlibException.cpp @@ -18,6 +18,8 @@ #endif #include "../sax/FromXMLParserHelper.h" +#include "../object/Object.h" +#include "../XmlApi.hpp" namespace exception { @@ -115,3 +117,9 @@ void AlibException::compose(std::deque<sax::Token>& out) const { } } /* namespace exception */ + +namespace alib { + +xmlApi<alib::Object>::ParserRegister<exception::AlibException> alibExceptionParserRegister2 = xmlApi<alib::Object>::ParserRegister<exception::AlibException>(exception::AlibException::XML_TAG_NAME, exception::AlibException::parse); + +} /* namespace alib */ diff --git a/alib2data/src/grammar/ContextFree/CFG.cpp b/alib2data/src/grammar/ContextFree/CFG.cpp index 2e593895dd3b36feacf4bb642c66fb7ba94bfa4f..417191817405dd7716e50887723962270cbc4f8c 100644 --- a/alib2data/src/grammar/ContextFree/CFG.cpp +++ b/alib2data/src/grammar/ContextFree/CFG.cpp @@ -16,6 +16,7 @@ #include "../common/GrammarFromXMLParser.h" #include "../common/GrammarToXMLComposer.h" #include "../Grammar.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace grammar { @@ -176,5 +177,6 @@ void CFG::composeRules(std::deque<sax::Token>& out) const { namespace alib { xmlApi<grammar::Grammar>::ParserRegister<grammar::CFG> CFGParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::CFG>(grammar::CFG::XML_TAG_NAME, grammar::CFG::parse); +xmlApi<alib::Object>::ParserRegister<grammar::CFG> CFGParserRegister2 = xmlApi<alib::Object>::ParserRegister<grammar::CFG>(grammar::CFG::XML_TAG_NAME, grammar::CFG::parse); } /* namespace alib */ diff --git a/alib2data/src/grammar/ContextFree/CNF.cpp b/alib2data/src/grammar/ContextFree/CNF.cpp index f47dd534de2b5933760529adf1e1be759229b50a..4b2d2aa46eca895292756b365a78391782444b55 100644 --- a/alib2data/src/grammar/ContextFree/CNF.cpp +++ b/alib2data/src/grammar/ContextFree/CNF.cpp @@ -16,6 +16,7 @@ #include "../common/GrammarFromXMLParser.h" #include "../common/GrammarToXMLComposer.h" #include "../Grammar.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace grammar { @@ -263,5 +264,6 @@ void CNF::composeRules(std::deque<sax::Token>& out) const { namespace alib { xmlApi<grammar::Grammar>::ParserRegister<grammar::CNF> CNFParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::CNF>(grammar::CNF::XML_TAG_NAME, grammar::CNF::parse); +xmlApi<alib::Object>::ParserRegister<grammar::CNF> CNFParserRegister2 = xmlApi<alib::Object>::ParserRegister<grammar::CNF>(grammar::CNF::XML_TAG_NAME, grammar::CNF::parse); } /* namespace alib */ diff --git a/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.cpp b/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.cpp index a84fd6af840260d51c2fe6b92615ea5462b75271..f08c0b74a30ef138998ded45d3ca13840b02f478 100644 --- a/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.cpp +++ b/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.cpp @@ -16,6 +16,7 @@ #include "../common/GrammarFromXMLParser.h" #include "../common/GrammarToXMLComposer.h" #include "../Grammar.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace grammar { @@ -214,5 +215,6 @@ void EpsilonFreeCFG::composeRules(std::deque<sax::Token>& out) const { namespace alib { xmlApi<grammar::Grammar>::ParserRegister<grammar::EpsilonFreeCFG> EpsilonFreeCFGParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::EpsilonFreeCFG>(grammar::EpsilonFreeCFG::XML_TAG_NAME, grammar::EpsilonFreeCFG::parse); +xmlApi<alib::Object>::ParserRegister<grammar::EpsilonFreeCFG> EpsilonFreeCFGParserRegister2 = xmlApi<alib::Object>::ParserRegister<grammar::EpsilonFreeCFG>(grammar::EpsilonFreeCFG::XML_TAG_NAME, grammar::EpsilonFreeCFG::parse); } /* namespace alib */ diff --git a/alib2data/src/grammar/ContextFree/GNF.cpp b/alib2data/src/grammar/ContextFree/GNF.cpp index f003d0df9290f51afc3b0dfd5398dcfd958c128c..adb9bfff4b6b8f5314a1c9327d7feef2d6da52a1 100644 --- a/alib2data/src/grammar/ContextFree/GNF.cpp +++ b/alib2data/src/grammar/ContextFree/GNF.cpp @@ -16,6 +16,7 @@ #include "../common/GrammarFromXMLParser.h" #include "../common/GrammarToXMLComposer.h" #include "../Grammar.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace grammar { @@ -221,5 +222,6 @@ void GNF::composeRules(std::deque<sax::Token>& out) const { namespace alib { xmlApi<grammar::Grammar>::ParserRegister<grammar::GNF> GNFParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::GNF>(grammar::GNF::XML_TAG_NAME, grammar::GNF::parse); +xmlApi<alib::Object>::ParserRegister<grammar::GNF> GNFParserRegister2 = xmlApi<alib::Object>::ParserRegister<grammar::GNF>(grammar::GNF::XML_TAG_NAME, grammar::GNF::parse); } /* namespace alib */ diff --git a/alib2data/src/grammar/ContextFree/LG.cpp b/alib2data/src/grammar/ContextFree/LG.cpp index 9824423ce244b283f63514d4364a8d9a992aaef2..967bbab4ca31c5124672eec375dd8589d759da34 100644 --- a/alib2data/src/grammar/ContextFree/LG.cpp +++ b/alib2data/src/grammar/ContextFree/LG.cpp @@ -16,6 +16,7 @@ #include "../common/GrammarFromXMLParser.h" #include "../common/GrammarToXMLComposer.h" #include "../Grammar.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace grammar { @@ -267,5 +268,6 @@ void LG::composeRules(std::deque<sax::Token>& out) const { namespace alib { xmlApi<grammar::Grammar>::ParserRegister<grammar::LG> LGParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::LG>(grammar::LG::XML_TAG_NAME, grammar::LG::parse); +xmlApi<alib::Object>::ParserRegister<grammar::LG> LGParserRegister2 = xmlApi<alib::Object>::ParserRegister<grammar::LG>(grammar::LG::XML_TAG_NAME, grammar::LG::parse); } /* namespace alib */ diff --git a/alib2data/src/grammar/ContextSensitive/CSG.cpp b/alib2data/src/grammar/ContextSensitive/CSG.cpp index 0f79d9fc5fff6de115da9005da1f9dd1554ae2a1..0f87e639bd11661004708c63c1ac97e952cfe148 100644 --- a/alib2data/src/grammar/ContextSensitive/CSG.cpp +++ b/alib2data/src/grammar/ContextSensitive/CSG.cpp @@ -16,6 +16,7 @@ #include "../common/GrammarFromXMLParser.h" #include "../common/GrammarToXMLComposer.h" #include "../Grammar.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace grammar { @@ -214,5 +215,6 @@ void CSG::composeRules(std::deque<sax::Token>& out) const { namespace alib { xmlApi<grammar::Grammar>::ParserRegister<grammar::CSG> CSGParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::CSG>(grammar::CSG::XML_TAG_NAME, grammar::CSG::parse); +xmlApi<alib::Object>::ParserRegister<grammar::CSG> CSGParserRegister2 = xmlApi<alib::Object>::ParserRegister<grammar::CSG>(grammar::CSG::XML_TAG_NAME, grammar::CSG::parse); } /* namespace alib */ diff --git a/alib2data/src/grammar/ContextSensitive/NonContractingGrammar.cpp b/alib2data/src/grammar/ContextSensitive/NonContractingGrammar.cpp index 4c717a730c5a38d6025e0ac4f9c61c1b3064e826..c1d8816f6b6e4fbe11114e7b209520aecfbfcb35 100644 --- a/alib2data/src/grammar/ContextSensitive/NonContractingGrammar.cpp +++ b/alib2data/src/grammar/ContextSensitive/NonContractingGrammar.cpp @@ -16,6 +16,7 @@ #include "../common/GrammarFromXMLParser.h" #include "../common/GrammarToXMLComposer.h" #include "../Grammar.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace grammar { @@ -190,6 +191,7 @@ void NonContractingGrammar::composeRules(std::deque<sax::Token>& out) const { namespace alib { -xmlApi<grammar::Grammar>::ParserRegister<grammar::NonContractingGrammar> NonContractingGrammarParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::NonContractingGrammar>(grammar::NonContractingGrammar::XML_TAG_NAME, grammar::NonContractingGrammar::parse); +xmlApi<grammar::Grammar>::ParserRegister<grammar::NonContractingGrammar> nonContractingGrammarParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::NonContractingGrammar>(grammar::NonContractingGrammar::XML_TAG_NAME, grammar::NonContractingGrammar::parse); +xmlApi<alib::Object>::ParserRegister<grammar::NonContractingGrammar> nonContractingGrammarParserRegister2 = xmlApi<alib::Object>::ParserRegister<grammar::NonContractingGrammar>(grammar::NonContractingGrammar::XML_TAG_NAME, grammar::NonContractingGrammar::parse); } /* namespace alib */ diff --git a/alib2data/src/grammar/GrammarBase.h b/alib2data/src/grammar/GrammarBase.h index e1ba1a3c361fae1f752ea604fe4942463df13e2a..ff18bb2760d085faa521b6895700dfabf99b655d 100644 --- a/alib2data/src/grammar/GrammarBase.h +++ b/alib2data/src/grammar/GrammarBase.h @@ -42,8 +42,6 @@ public: virtual GrammarBase* clone() const = 0; virtual GrammarBase* plunder() && = 0; - - virtual void compose(std::deque<sax::Token>& out) const = 0; }; class VisitableConstRGBase : public VisitableGrammarBase::const_visitor_type { diff --git a/alib2data/src/grammar/Regular/LeftLG.cpp b/alib2data/src/grammar/Regular/LeftLG.cpp index 0be86983c80bf26d4f6155a24367c80a7e691108..69638d3005304ab8748cb394ecc4b0d59640844f 100644 --- a/alib2data/src/grammar/Regular/LeftLG.cpp +++ b/alib2data/src/grammar/Regular/LeftLG.cpp @@ -16,6 +16,7 @@ #include "../common/GrammarFromXMLParser.h" #include "../common/GrammarToXMLComposer.h" #include "../Grammar.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace grammar { @@ -251,5 +252,6 @@ void LeftLG::composeRules(std::deque<sax::Token>& out) const { namespace alib { xmlApi<grammar::Grammar>::ParserRegister<grammar::LeftLG> LeftLGParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::LeftLG>(grammar::LeftLG::XML_TAG_NAME, grammar::LeftLG::parse); +xmlApi<alib::Object>::ParserRegister<grammar::LeftLG> LeftLGParserRegister2 = xmlApi<alib::Object>::ParserRegister<grammar::LeftLG>(grammar::LeftLG::XML_TAG_NAME, grammar::LeftLG::parse); } /* namespace alib */ diff --git a/alib2data/src/grammar/Regular/LeftRG.cpp b/alib2data/src/grammar/Regular/LeftRG.cpp index 5e24e2f4ee0ab410b25b4754c1655cde6e07dc96..5a226caf0f625389e5f31642ac4119d12dfcbe98 100644 --- a/alib2data/src/grammar/Regular/LeftRG.cpp +++ b/alib2data/src/grammar/Regular/LeftRG.cpp @@ -16,6 +16,7 @@ #include "../common/GrammarFromXMLParser.h" #include "../common/GrammarToXMLComposer.h" #include "../Grammar.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace grammar { @@ -260,5 +261,6 @@ void LeftRG::composeRules(std::deque<sax::Token>& out) const { namespace alib { xmlApi<grammar::Grammar>::ParserRegister<grammar::LeftRG> LeftRGParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::LeftRG>(grammar::LeftRG::XML_TAG_NAME, grammar::LeftRG::parse); +xmlApi<alib::Object>::ParserRegister<grammar::LeftRG> LeftRGParserRegister2 = xmlApi<alib::Object>::ParserRegister<grammar::LeftRG>(grammar::LeftRG::XML_TAG_NAME, grammar::LeftRG::parse); } /* namespace alib */ diff --git a/alib2data/src/grammar/Regular/RightLG.cpp b/alib2data/src/grammar/Regular/RightLG.cpp index e4410d3dbab373aa3579d574271a26176c60f20c..0c4a3b5a5039495003dd6d688cd6e66df2e894a1 100644 --- a/alib2data/src/grammar/Regular/RightLG.cpp +++ b/alib2data/src/grammar/Regular/RightLG.cpp @@ -16,6 +16,7 @@ #include "../common/GrammarFromXMLParser.h" #include "../common/GrammarToXMLComposer.h" #include "../Grammar.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace grammar { @@ -251,5 +252,6 @@ void RightLG::composeRules(std::deque<sax::Token>& out) const { namespace alib { xmlApi<grammar::Grammar>::ParserRegister<grammar::RightLG> RightLGParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::RightLG>(grammar::RightLG::XML_TAG_NAME, grammar::RightLG::parse); +xmlApi<alib::Object>::ParserRegister<grammar::RightLG> RightLGParserRegister2 = xmlApi<alib::Object>::ParserRegister<grammar::RightLG>(grammar::RightLG::XML_TAG_NAME, grammar::RightLG::parse); } /* namespace alib */ diff --git a/alib2data/src/grammar/Regular/RightRG.cpp b/alib2data/src/grammar/Regular/RightRG.cpp index f324300b6776c4d4c393daf605a59296e7944942..d2d32d11dbc0d540a10ed96347591a7b45d3162d 100644 --- a/alib2data/src/grammar/Regular/RightRG.cpp +++ b/alib2data/src/grammar/Regular/RightRG.cpp @@ -16,6 +16,7 @@ #include "../common/GrammarFromXMLParser.h" #include "../common/GrammarToXMLComposer.h" #include "../Grammar.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace grammar { @@ -260,5 +261,6 @@ void RightRG::composeRules(std::deque<sax::Token>& out) const { namespace alib { xmlApi<grammar::Grammar>::ParserRegister<grammar::RightRG> RightRGParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::RightRG>(grammar::RightRG::XML_TAG_NAME, grammar::RightRG::parse); +xmlApi<alib::Object>::ParserRegister<grammar::RightRG> RightRGParserRegister2 = xmlApi<alib::Object>::ParserRegister<grammar::RightRG>(grammar::RightRG::XML_TAG_NAME, grammar::RightRG::parse); } /* namespace alib */ diff --git a/alib2data/src/grammar/Unrestricted/ContextPreservingUnrestrictedGrammar.cpp b/alib2data/src/grammar/Unrestricted/ContextPreservingUnrestrictedGrammar.cpp index 9384f837c3fee5e8bc70fee21b5da1ac3fde9d15..f250012583142fa1480d7f33db787ea3a8e28bdc 100644 --- a/alib2data/src/grammar/Unrestricted/ContextPreservingUnrestrictedGrammar.cpp +++ b/alib2data/src/grammar/Unrestricted/ContextPreservingUnrestrictedGrammar.cpp @@ -16,6 +16,7 @@ #include "../common/GrammarFromXMLParser.h" #include "../common/GrammarToXMLComposer.h" #include "../Grammar.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace grammar { @@ -195,5 +196,6 @@ void ContextPreservingUnrestrictedGrammar::composeRules(std::deque<sax::Token>& namespace alib { xmlApi<grammar::Grammar>::ParserRegister<grammar::ContextPreservingUnrestrictedGrammar> ContextPreservingUnrestrictedGrammarParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::ContextPreservingUnrestrictedGrammar>(grammar::ContextPreservingUnrestrictedGrammar::XML_TAG_NAME, grammar::ContextPreservingUnrestrictedGrammar::parse); +xmlApi<alib::Object>::ParserRegister<grammar::ContextPreservingUnrestrictedGrammar> ContextPreservingUnrestrictedGrammarParserRegister2 = xmlApi<alib::Object>::ParserRegister<grammar::ContextPreservingUnrestrictedGrammar>(grammar::ContextPreservingUnrestrictedGrammar::XML_TAG_NAME, grammar::ContextPreservingUnrestrictedGrammar::parse); } /* namespace alib */ diff --git a/alib2data/src/grammar/Unrestricted/UnrestrictedGrammar.cpp b/alib2data/src/grammar/Unrestricted/UnrestrictedGrammar.cpp index fb66eebe36ab024abb36f3b30ff306baec7a2392..46f86d0744037da65580546fe7816207181dcfbf 100644 --- a/alib2data/src/grammar/Unrestricted/UnrestrictedGrammar.cpp +++ b/alib2data/src/grammar/Unrestricted/UnrestrictedGrammar.cpp @@ -16,6 +16,7 @@ #include "../common/GrammarFromXMLParser.h" #include "../common/GrammarToXMLComposer.h" #include "../Grammar.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace grammar { @@ -172,5 +173,6 @@ void UnrestrictedGrammar::composeRules(std::deque<sax::Token>& out) const { namespace alib { xmlApi<grammar::Grammar>::ParserRegister<grammar::UnrestrictedGrammar> UnrestrictedGrammarParserRegister = xmlApi<grammar::Grammar>::ParserRegister<grammar::UnrestrictedGrammar>(grammar::UnrestrictedGrammar::XML_TAG_NAME, grammar::UnrestrictedGrammar::parse); +xmlApi<alib::Object>::ParserRegister<grammar::UnrestrictedGrammar> UnrestrictedGrammarParserRegister2 = xmlApi<alib::Object>::ParserRegister<grammar::UnrestrictedGrammar>(grammar::UnrestrictedGrammar::XML_TAG_NAME, grammar::UnrestrictedGrammar::parse); } /* namespace alib */ diff --git a/alib2data/src/grammar/common/GrammarFromXMLParser.cpp b/alib2data/src/grammar/common/GrammarFromXMLParser.cpp index 3f38f38e1ea8dbc6f283346d1994be43617d9e17..c3a66774e86f069bc93a005770d2b69d8ac199ae 100644 --- a/alib2data/src/grammar/common/GrammarFromXMLParser.cpp +++ b/alib2data/src/grammar/common/GrammarFromXMLParser.cpp @@ -7,7 +7,6 @@ #include "GrammarFromXMLParser.h" #include "../../sax/ParserException.h" -#include "../../XmlApi.hpp" #include "../../alphabet/Symbol.h" namespace grammar { diff --git a/alib2data/src/grammar/common/GrammarFromXMLParser.h b/alib2data/src/grammar/common/GrammarFromXMLParser.h index 936bf28e9829de2bb592a56528953f135b88ccdc..499d468ac4be63712412a90bbfdc9ca98c7abd77 100644 --- a/alib2data/src/grammar/common/GrammarFromXMLParser.h +++ b/alib2data/src/grammar/common/GrammarFromXMLParser.h @@ -13,7 +13,7 @@ #include <variant> #include <vector> #include "../../alphabet/SymbolFeatures.h" -#include "../../XmlApiBase.h" +#include "../../XmlApi.hpp" #include "../../sax/Token.h" #include "../../sax/FromXMLParserHelper.h" diff --git a/alib2data/src/grammar/common/GrammarToXMLComposer.h b/alib2data/src/grammar/common/GrammarToXMLComposer.h index 9267c1ec562f026a394e20ca8db4c75f35792409..4cc0d8c32fd7b39091e5f12172eb977eca01e362 100644 --- a/alib2data/src/grammar/common/GrammarToXMLComposer.h +++ b/alib2data/src/grammar/common/GrammarToXMLComposer.h @@ -15,7 +15,6 @@ #include <variant> #include "../../alphabet/SymbolFeatures.h" #include "../../sax/Token.h" -#include "../../XmlApiBase.h" namespace grammar { diff --git a/alib2data/src/graph/GraphBase.h b/alib2data/src/graph/GraphBase.h index 36a37a0852b69c3986b0544ff3416860c9e0c91c..c14e716ffa6ca1ee550c72d3ec766c9248a3471b 100644 --- a/alib2data/src/graph/GraphBase.h +++ b/alib2data/src/graph/GraphBase.h @@ -10,8 +10,6 @@ #include "common/Macros.h" #include "../object/ObjectBase.h" -#include <deque> -#include "../sax/Token.h" namespace graph { @@ -44,8 +42,6 @@ public: virtual GraphBase* clone() const = 0; virtual GraphBase* plunder() && = 0; - - virtual void compose(std::deque<sax::Token>& out) const = 0; }; } // namespace graph diff --git a/alib2data/src/graph/directed/DirectedGraph.cpp b/alib2data/src/graph/directed/DirectedGraph.cpp index f7981271a056cc2b6dbb42916f013e6cceb38e4e..b8e0ac3e546b82198dcb40bec8a44ea152c7dc0f 100644 --- a/alib2data/src/graph/directed/DirectedGraph.cpp +++ b/alib2data/src/graph/directed/DirectedGraph.cpp @@ -18,6 +18,7 @@ #include "../common/GraphFromXMLParser.h" #include "../common/GraphToXMLComposer.h" #include "../Graph.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace graph { @@ -272,5 +273,6 @@ void DirectedGraph::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<graph::Graph>::ParserRegister<graph::DirectedGraph> directedGraphParserRegister = xmlApi<graph::Graph>::ParserRegister<graph::DirectedGraph>(graph::DirectedGraph::XML_TAG_NAME, graph::DirectedGraph::parse); +xmlApi<alib::Object>::ParserRegister<graph::DirectedGraph> directedGraphParserRegister2 = xmlApi<alib::Object>::ParserRegister<graph::DirectedGraph>(graph::DirectedGraph::XML_TAG_NAME, graph::DirectedGraph::parse); } /* namespace alib */ diff --git a/alib2data/src/graph/undirected/UndirectedGraph.cpp b/alib2data/src/graph/undirected/UndirectedGraph.cpp index f13ae37311a2564844d6f7435cfa4bbc0e0f37f7..596ad5fca6d31d1059e1a3c9e6a665c94a8d8887 100644 --- a/alib2data/src/graph/undirected/UndirectedGraph.cpp +++ b/alib2data/src/graph/undirected/UndirectedGraph.cpp @@ -18,6 +18,7 @@ #include "../common/GraphFromXMLParser.h" #include "../common/GraphToXMLComposer.h" #include "../Graph.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace graph { @@ -272,5 +273,6 @@ void UndirectedGraph::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<graph::Graph>::ParserRegister<graph::UndirectedGraph> undirectedGraphParserRegister = xmlApi<graph::Graph>::ParserRegister<graph::UndirectedGraph>(graph::UndirectedGraph::XML_TAG_NAME, graph::UndirectedGraph::parse); +xmlApi<alib::Object>::ParserRegister<graph::UndirectedGraph> undirectedGraphParserRegister2 = xmlApi<alib::Object>::ParserRegister<graph::UndirectedGraph>(graph::UndirectedGraph::XML_TAG_NAME, graph::UndirectedGraph::parse); } /* namespace alib */ diff --git a/alib2data/src/label/HexavigesimalLabel.cpp b/alib2data/src/label/HexavigesimalLabel.cpp index d39aada1d8dd0acbebde18bb55e3058256261238..c5f6c00e89bb4e5aec1fa367a6d2d4f4317e57f3 100644 --- a/alib2data/src/label/HexavigesimalLabel.cpp +++ b/alib2data/src/label/HexavigesimalLabel.cpp @@ -8,6 +8,7 @@ #include "HexavigesimalLabel.h" #include "../sax/FromXMLParserHelper.h" #include "Label.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace label { @@ -64,5 +65,6 @@ void HexavigesimalLabel::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<label::Label>::ParserRegister<label::HexavigesimalLabel> hexavigesimalLabelParserRegister = xmlApi<label::Label>::ParserRegister<label::HexavigesimalLabel>(label::HexavigesimalLabel::XML_TAG_NAME, label::HexavigesimalLabel::parse); +xmlApi<alib::Object>::ParserRegister<label::HexavigesimalLabel> hexavigesimalLabelParserRegister2 = xmlApi<alib::Object>::ParserRegister<label::HexavigesimalLabel>(label::HexavigesimalLabel::XML_TAG_NAME, label::HexavigesimalLabel::parse); } /* namespace alib */ diff --git a/alib2data/src/label/LabelBase.h b/alib2data/src/label/LabelBase.h index 70119409fab1d5b5ead785db282aeb1c62248e40..c5030f0fa5e6d5b96873baebecd2c761144aa876 100644 --- a/alib2data/src/label/LabelBase.h +++ b/alib2data/src/label/LabelBase.h @@ -9,8 +9,6 @@ #define LABEL_BASE_H_ #include "../object/ObjectBase.h" -#include <deque> -#include "../sax/Token.h" namespace label { @@ -43,8 +41,6 @@ public: virtual LabelBase* clone() const = 0; virtual LabelBase* plunder() && = 0; - - virtual void compose(std::deque<sax::Token>& out) const = 0; }; } /* namespace label */ diff --git a/alib2data/src/label/LabelPairLabel.cpp b/alib2data/src/label/LabelPairLabel.cpp index afc5d99e969cf2a28c0fe2389c90209acf35360d..ef71bb9a58e2abbb7a1092acd0667b33126d394f 100644 --- a/alib2data/src/label/LabelPairLabel.cpp +++ b/alib2data/src/label/LabelPairLabel.cpp @@ -9,6 +9,7 @@ #include <sstream> #include "../sax/FromXMLParserHelper.h" #include "Label.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace label { @@ -74,5 +75,6 @@ void LabelPairLabel::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<label::Label>::ParserRegister<label::LabelPairLabel> labelPairLabelParserRegister = xmlApi<label::Label>::ParserRegister<label::LabelPairLabel>(label::LabelPairLabel::XML_TAG_NAME, label::LabelPairLabel::parse); +xmlApi<alib::Object>::ParserRegister<label::LabelPairLabel> labelPairLabelParserRegister2 = xmlApi<alib::Object>::ParserRegister<label::LabelPairLabel>(label::LabelPairLabel::XML_TAG_NAME, label::LabelPairLabel::parse); } /* namespace alib */ diff --git a/alib2data/src/label/LabelSetLabel.cpp b/alib2data/src/label/LabelSetLabel.cpp index c7751e9f8191eee502887a6e858bee878043976a..3964755e62d9cafbb5cbb0ba3d8e246f3f638592 100644 --- a/alib2data/src/label/LabelSetLabel.cpp +++ b/alib2data/src/label/LabelSetLabel.cpp @@ -9,6 +9,7 @@ #include <sstream> #include "../sax/FromXMLParserHelper.h" #include "Label.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace label { @@ -78,6 +79,7 @@ void LabelSetLabel::compose(std::deque<sax::Token>& out) const { namespace alib { -xmlApi<label::Label>::ParserRegister<label::LabelSetLabel> hebelSetLabelParserRegister = xmlApi<label::Label>::ParserRegister<label::LabelSetLabel>(label::LabelSetLabel::XML_TAG_NAME, label::LabelSetLabel::parse); +xmlApi<label::Label>::ParserRegister<label::LabelSetLabel> labelSetLabelParserRegister = xmlApi<label::Label>::ParserRegister<label::LabelSetLabel>(label::LabelSetLabel::XML_TAG_NAME, label::LabelSetLabel::parse); +xmlApi<alib::Object>::ParserRegister<label::LabelSetLabel> labelSetLabelParserRegister2 = xmlApi<alib::Object>::ParserRegister<label::LabelSetLabel>(label::LabelSetLabel::XML_TAG_NAME, label::LabelSetLabel::parse); } /* namespace alib */ diff --git a/alib2data/src/label/ObjectLabel.cpp b/alib2data/src/label/ObjectLabel.cpp index a3bb137272a9e04387e0ef5ade1b79ac4ed8a162..5419423141da3399135dcbcf4d3418f9a48b4524 100644 --- a/alib2data/src/label/ObjectLabel.cpp +++ b/alib2data/src/label/ObjectLabel.cpp @@ -8,6 +8,7 @@ #include "ObjectLabel.h" #include "../sax/FromXMLParserHelper.h" #include "Label.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace label { @@ -60,5 +61,6 @@ void ObjectLabel::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<label::Label>::ParserRegister<label::ObjectLabel> objectLabelParserRegister = xmlApi<label::Label>::ParserRegister<label::ObjectLabel>(label::ObjectLabel::XML_TAG_NAME, label::ObjectLabel::parse); +xmlApi<alib::Object>::ParserRegister<label::ObjectLabel> objectLabelParserRegister2 = xmlApi<alib::Object>::ParserRegister<label::ObjectLabel>(label::ObjectLabel::XML_TAG_NAME, label::ObjectLabel::parse); } /* namespace alib */ diff --git a/alib2data/src/label/PrimitiveLabel.cpp b/alib2data/src/label/PrimitiveLabel.cpp index 64714773a46c5ef39124d0b1f575dfbaa15b503c..1133ea0b79f402bbecb07c0aec86bc124c521282 100644 --- a/alib2data/src/label/PrimitiveLabel.cpp +++ b/alib2data/src/label/PrimitiveLabel.cpp @@ -8,6 +8,7 @@ #include "PrimitiveLabel.h" #include "../sax/FromXMLParserHelper.h" #include "Label.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace label { @@ -64,5 +65,6 @@ void PrimitiveLabel::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<label::Label>::ParserRegister<label::PrimitiveLabel> primitiveLabelParserRegister = xmlApi<label::Label>::ParserRegister<label::PrimitiveLabel>(label::PrimitiveLabel::XML_TAG_NAME, label::PrimitiveLabel::parse); +xmlApi<alib::Object>::ParserRegister<label::PrimitiveLabel> primitiveLabelParserRegister2 = xmlApi<alib::Object>::ParserRegister<label::PrimitiveLabel>(label::PrimitiveLabel::XML_TAG_NAME, label::PrimitiveLabel::parse); } /* namespace alib */ diff --git a/alib2data/src/label/UniqueLabel.cpp b/alib2data/src/label/UniqueLabel.cpp index 5bb27dff4458d2c72d7b7fc8e679b53047ba315d..39130c8b1749f2c3676badbb4c630d173011706c 100644 --- a/alib2data/src/label/UniqueLabel.cpp +++ b/alib2data/src/label/UniqueLabel.cpp @@ -9,6 +9,7 @@ #include <sstream> #include "../sax/FromXMLParserHelper.h" #include "Label.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace label { @@ -82,5 +83,6 @@ void UniqueLabel::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<label::Label>::ParserRegister<label::UniqueLabel> uniqueLabelParserRegister = xmlApi<label::Label>::ParserRegister<label::UniqueLabel>(label::UniqueLabel::XML_TAG_NAME, label::UniqueLabel::parse); +xmlApi<alib::Object>::ParserRegister<label::UniqueLabel> uniqueLabelParserRegister2 = xmlApi<alib::Object>::ParserRegister<label::UniqueLabel>(label::UniqueLabel::XML_TAG_NAME, label::UniqueLabel::parse); } /* namespace alib */ diff --git a/alib2data/src/object/ObjectBase.h b/alib2data/src/object/ObjectBase.h index 92868c7c5233bfdb76080f9730ef1c11db6f29f5..5a8f68ec7582ec69a3a3782c092fe669f0909b49 100644 --- a/alib2data/src/object/ObjectBase.h +++ b/alib2data/src/object/ObjectBase.h @@ -11,8 +11,9 @@ #include "../common/visitor.hpp" #include <compare> #include <memory> +#include <deque> #include "../common/base.hpp" - +#include "../sax/Token.h" #include "ObjectFeatures.h" @@ -102,6 +103,8 @@ typedef acceptor_base_helper< Types > VisitableObjectBase; // ---------------------------------------------------------------------------------------------------------------------- class ObjectBase : public alib::base<ObjectBase>, public VisitableObjectBase, public std::cow_shared_ptr_base { +public: + virtual void compose(std::deque<sax::Token>& out) const = 0; }; // ---------------------------------------------------------------------------------------------------------------------- diff --git a/alib2data/src/object/ObjectFromXMLParser.cpp b/alib2data/src/object/ObjectFromXMLParser.cpp deleted file mode 100644 index 3cc06bb2ee2d769e10f8c52eaf4c3a3155d30017..0000000000000000000000000000000000000000 --- a/alib2data/src/object/ObjectFromXMLParser.cpp +++ /dev/null @@ -1,80 +0,0 @@ -/* - * ObjectFromXMLParser.cpp - * - * Created on: Nov 23, 2013 - * Author: Jan Travnicek - */ - -#include "ObjectFromXMLParser.h" -#include "../sax/ParserException.h" -#include "../XmlApi.hpp" - -#include "Object.h" -#include "ObjectClasses.h" - -#include "../alphabet/Symbol.h" -#include "../automaton/Automaton.h" -#include "../container/Container.h" -#include "../grammar/Grammar.h" -#include "../label/Label.h" -#include "../primitive/Primitive.h" -#include "../regexp/RegExp.h" -#include "../string/String.h" -#include "../tree/Tree.h" - -namespace alib { - -Object ObjectFromXMLParser::parseObject(std::deque<sax::Token>::iterator& input) const { - if(alib::xmlApi<alphabet::Symbol>::first(input)) { - alphabet::Symbol symbol = alib::xmlApi<alphabet::Symbol>::parse(input); - Object res(std::move(symbol.getData())); - return res; - } else if(alib::xmlApi<exception::AlibException>::first(input)) { - exception::AlibException exception = alib::xmlApi<exception::AlibException>::parse(input); - Object res(std::move(exception)); - return res; - } else if(alib::xmlApi<label::Label>::first(input)) { - label::Label label = alib::xmlApi<label::Label>::parse(input); - Object res(std::move(label.getData())); - return res; - } else if(alib::xmlApi<regexp::RegExp>::first(input)) { - regexp::RegExp regexp = alib::xmlApi<regexp::RegExp>::parse(input); - Object res(std::move(regexp.getData())); - return res; - } else if(alib::xmlApi<string::String>::first(input)) { - string::String string = alib::xmlApi<string::String>::parse(input); - Object res(std::move(string.getData())); - return res; - } else if(alib::xmlApi<automaton::Automaton>::first(input)) { - automaton::Automaton automaton = alib::xmlApi<automaton::Automaton>::parse(input); - Object res(std::move(automaton.getData())); - return res; - } else if(alib::xmlApi<grammar::Grammar>::first(input)) { - grammar::Grammar grammar = alib::xmlApi<grammar::Grammar>::parse(input); - Object res(std::move(grammar.getData())); - return res; - } else if(alib::xmlApi<container::Container>::first(input)) { - container::Container container = alib::xmlApi<container::Container>::parse(input); - Object res(std::move(container.getData())); - return res; - } else if(alib::xmlApi<primitive::Primitive>::first(input)) { - primitive::Primitive primitive = alib::xmlApi<primitive::Primitive>::parse(input); - Object res(std::move(primitive.getData())); - return res; - } else if(alib::xmlApi<tree::Tree>::first(input)) { - tree::Tree tree = alib::xmlApi<tree::Tree>::parse(input); - Object res(std::move(tree.getData())); - return res; - } else if(alib::xmlApi<Void>::first(input)) { - Object res(alib::xmlApi<Void>::parse(input)); - return res; - } else { - throw exception::AlibException("Unknown element in xml"); - } -} - -bool ObjectFromXMLParser::first(const std::deque<sax::Token>::const_iterator& input) const { - return alib::xmlApi<alphabet::Symbol>::first(input) || alib::xmlApi<exception::AlibException>::first(input) || alib::xmlApi<label::Label>::first(input) || alib::xmlApi<regexp::RegExp>::first(input) || alib::xmlApi<string::String>::first(input) || alib::xmlApi<automaton::Automaton>::first(input) || alib::xmlApi<grammar::Grammar>::first(input) || alib::xmlApi<container::Container>::first(input) || alib::xmlApi<Void>::first(input); -} - -} /* namespace alib */ diff --git a/alib2data/src/object/ObjectFromXMLParser.h b/alib2data/src/object/ObjectFromXMLParser.h deleted file mode 100644 index f61dc8eb542d7d06a9f92821072f6464044df5d9..0000000000000000000000000000000000000000 --- a/alib2data/src/object/ObjectFromXMLParser.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * ObjectFromXMLParser.h - * - * Created on: Nov 23, 2013 - * Author: Jan Travnicek - */ - -#ifndef OBJECT_FROM_XML_PARSER_H_ -#define OBJECT_FROM_XML_PARSER_H_ - -#include "../sax/FromXMLParserHelper.h" -#include <set> -#include "ObjectFeatures.h" -#include "../XmlApiBase.h" - -namespace alib { - -/** - * Parser used to get String from XML parsed into list of tokens. - */ -class ObjectFromXMLParser : public sax::FromXMLParserHelper { -public: - ObjectFromXMLParser() {} - -private: - Object parseObject(std::deque<sax::Token>::iterator& input) const; - - template<typename T, typename Enable> friend struct alib::xmlApi; -public: - bool first(const std::deque<sax::Token>::const_iterator& input) const; -}; - -} /* namespace alib */ - -#endif /* OBJECT_FROM_XML_PARSER_H_ */ diff --git a/alib2data/src/object/ObjectToXMLComposer.cpp b/alib2data/src/object/ObjectToXMLComposer.cpp deleted file mode 100644 index 10c575cc4d460a33663a68285d32bee316144051..0000000000000000000000000000000000000000 --- a/alib2data/src/object/ObjectToXMLComposer.cpp +++ /dev/null @@ -1,25 +0,0 @@ -/* - * ObjectToXMLComposer.cpp - * - * Created on: Nov 23, 2013 - * Author: Jan Travnicek - */ - -#include "ObjectToXMLComposer.h" - -#include "../XmlApi.hpp" - -#include "Object.h" -#include "ObjectClasses.h" - -namespace alib { - -void ObjectToXMLComposer::compose(std::deque<sax::Token>& out, const Object& object) const { - object.getData().Accept((void*) &out, alib::ToXMLComposers::toXMLComposers); -} - -void ObjectToXMLComposer::compose(std::deque<sax::Token>& out, const ObjectBase& object) const { - object.Accept((void*) &out, alib::ToXMLComposers::toXMLComposers); -} - -} /* namespace alib */ diff --git a/alib2data/src/object/ObjectToXMLComposer.h b/alib2data/src/object/ObjectToXMLComposer.h deleted file mode 100644 index 8b8dc05b5cc8727e6b453ea78d173279118af2fa..0000000000000000000000000000000000000000 --- a/alib2data/src/object/ObjectToXMLComposer.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * ObjectToXMLComposer.h - * - * Created on: Nov 23, 2013 - * Author: Jan Travnciek - */ - -#ifndef OBJECT_TO_XML_COMPOSER_H_ -#define OBJECT_TO_XML_COMPOSER_H_ - -#include <deque> -#include "ObjectFeatures.h" -#include "../sax/Token.h" -#include "../XmlApiBase.h" - -namespace alib { - -/** - * This class contains methods to print XML representation of string to the output stream. - */ -class ObjectToXMLComposer { -public: - ObjectToXMLComposer() {} - -private: - /** - * Prints XML representation of UnknownAutomaton to the output stream. - * @param automaton automaton to print - * @return list of xml tokens representing the automaton - */ - void compose(std::deque<sax::Token>& out, const ObjectBase& object) const; - - /** - * Prints XML representation of String to the output stream. - * @param string String to print - * @param out output stream to which print the String - */ - void compose(std::deque<sax::Token>& out, const Object& object) const; - - template<typename T, typename Enable> friend struct alib::xmlApi; -}; - -} /* namespace alib */ - -#endif /* OBJECT_TO_XML_COMPOSER_H_ */ diff --git a/alib2data/src/object/Void.cpp b/alib2data/src/object/Void.cpp index e3cb807b776997b5b7e54ef02bc6afc6d5dd0390..f1c32c559be0f36a8c7cca908fa078edb8ce2513 100644 --- a/alib2data/src/object/Void.cpp +++ b/alib2data/src/object/Void.cpp @@ -7,6 +7,7 @@ #include "Void.h" #include "../sax/FromXMLParserHelper.h" +#include "Object.h" #include "../XmlApi.hpp" namespace alib { @@ -52,3 +53,9 @@ void Void::compose(std::deque<sax::Token>& out) const { } /* namespace alib */ +namespace alib { + +xmlApi<alib::Object>::ParserRegister<alib::Void> voidParserRegister2 = xmlApi<alib::Object>::ParserRegister<alib::Void>(alib::Void::XML_TAG_NAME, alib::Void::parse); + +} /* namespace alib */ + diff --git a/alib2data/src/primitive/Bool.cpp b/alib2data/src/primitive/Bool.cpp index 8ba64492de723deeb74feb1f7f8b0e19189d9b2e..41ad58db23b41ec2e0060b809bc722ab611dc56c 100644 --- a/alib2data/src/primitive/Bool.cpp +++ b/alib2data/src/primitive/Bool.cpp @@ -9,7 +9,7 @@ #include "../sax/FromXMLParserHelper.h" #include "../exception/AlibException.h" #include "Primitive.h" -#include "../XmlApi.hpp" +#include "../object/Object.h" namespace primitive { @@ -95,5 +95,6 @@ void xmlApi<bool>::compose(std::deque<sax::Token>& output, bool data) { } xmlApi<primitive::Primitive>::ParserRegister<primitive::Bool> boolParserRegister = xmlApi<primitive::Primitive>::ParserRegister<primitive::Bool>(primitive::Bool::XML_TAG_NAME, primitive::Bool::parse); +xmlApi<alib::Object>::ParserRegister<primitive::Bool> boolParserRegister2 = xmlApi<alib::Object>::ParserRegister<primitive::Bool>(primitive::Bool::XML_TAG_NAME, primitive::Bool::parse); } /* namespace alib */ diff --git a/alib2data/src/primitive/Bool.h b/alib2data/src/primitive/Bool.h index 61fbbbe48bac4ccd5d49a6d23057464569bbf978..e238bfc365aeb232ef62d17a5b0a4b9db5f9bff9 100644 --- a/alib2data/src/primitive/Bool.h +++ b/alib2data/src/primitive/Bool.h @@ -9,7 +9,7 @@ #define PRIMITIVE_BOOL_H_ #include "PrimitiveBase.h" -#include "../XmlApiBase.h" +#include "../XmlApi.hpp" namespace primitive { diff --git a/alib2data/src/primitive/Character.cpp b/alib2data/src/primitive/Character.cpp index 7f2d0b812f75c8448b1c9b94102a990c399fca03..5fb1a158b58e1901d9251ea362f3bf6fe3fc14bf 100644 --- a/alib2data/src/primitive/Character.cpp +++ b/alib2data/src/primitive/Character.cpp @@ -8,7 +8,7 @@ #include "Character.h" #include "../sax/FromXMLParserHelper.h" #include "Primitive.h" -#include "../XmlApi.hpp" +#include "../object/Object.h" namespace primitive { @@ -84,6 +84,7 @@ void xmlApi<char>::compose(std::deque<sax::Token>& output, char data) { } xmlApi<primitive::Primitive>::ParserRegister<primitive::Character> characterParserRegister = xmlApi<primitive::Primitive>::ParserRegister<primitive::Character>(primitive::Character::XML_TAG_NAME, primitive::Character::parse); +xmlApi<alib::Object>::ParserRegister<primitive::Character> characterParserRegister2 = xmlApi<alib::Object>::ParserRegister<primitive::Character>(primitive::Character::XML_TAG_NAME, primitive::Character::parse); } /* namespace alib */ diff --git a/alib2data/src/primitive/Character.h b/alib2data/src/primitive/Character.h index f7f576d24c9325d59cd053abe6d845fea02d2098..7910ea0b3d0efc193a449506dffdc823cd1582f2 100644 --- a/alib2data/src/primitive/Character.h +++ b/alib2data/src/primitive/Character.h @@ -9,7 +9,7 @@ #define PRIMITIVE_CHARACTER_H_ #include "PrimitiveBase.h" -#include "../XmlApiBase.h" +#include "../XmlApi.hpp" namespace primitive { diff --git a/alib2data/src/primitive/Integer.cpp b/alib2data/src/primitive/Integer.cpp index be13073fd73910a0a9e6ff1e7abaf341d594da70..35e199eec98929b16f2c8cf10c651cc336f16478 100644 --- a/alib2data/src/primitive/Integer.cpp +++ b/alib2data/src/primitive/Integer.cpp @@ -8,7 +8,7 @@ #include "Integer.h" #include "../sax/FromXMLParserHelper.h" #include "Primitive.h" -#include "../XmlApi.hpp" +#include "../object/Object.h" namespace primitive { @@ -84,6 +84,7 @@ void xmlApi<int>::compose(std::deque<sax::Token>& output, int data) { } xmlApi<primitive::Primitive>::ParserRegister<primitive::Integer> integerParserRegister = xmlApi<primitive::Primitive>::ParserRegister<primitive::Integer>(primitive::Integer::XML_TAG_NAME, primitive::Integer::parse); +xmlApi<alib::Object>::ParserRegister<primitive::Integer> integerParserRegister2 = xmlApi<alib::Object>::ParserRegister<primitive::Integer>(primitive::Integer::XML_TAG_NAME, primitive::Integer::parse); } /* namespace alib */ diff --git a/alib2data/src/primitive/Integer.h b/alib2data/src/primitive/Integer.h index 27d4f91c8337c2487788cec181d8a6d0fdd1ef3e..3723054d150a2b0f2e454efdf4e6027baaf5ccd3 100644 --- a/alib2data/src/primitive/Integer.h +++ b/alib2data/src/primitive/Integer.h @@ -9,7 +9,7 @@ #define PRIMITIVE_INTEGER_H_ #include "PrimitiveBase.h" -#include "../XmlApiBase.h" +#include "../XmlApi.hpp" namespace primitive { diff --git a/alib2data/src/primitive/PrimitiveBase.h b/alib2data/src/primitive/PrimitiveBase.h index d660d5ebf4ed539461a59243d822ce93af2495fe..4965985c2bf66118e36a33b4dc539c1682fb2512 100644 --- a/alib2data/src/primitive/PrimitiveBase.h +++ b/alib2data/src/primitive/PrimitiveBase.h @@ -43,8 +43,6 @@ public: virtual PrimitiveBase* clone() const = 0; virtual PrimitiveBase* plunder() && = 0; - - virtual void compose(std::deque<sax::Token>& out) const = 0; }; } /* namespace primitive */ diff --git a/alib2data/src/primitive/String.cpp b/alib2data/src/primitive/String.cpp index 480d002acc8e381e62ce4eac43f758f910071c69..e89e47bbd59dea78b856e1c14fc66f9a55ba97de 100644 --- a/alib2data/src/primitive/String.cpp +++ b/alib2data/src/primitive/String.cpp @@ -8,7 +8,7 @@ #include "String.h" #include "../sax/FromXMLParserHelper.h" #include "Primitive.h" -#include "../XmlApi.hpp" +#include "../object/Object.h" namespace primitive { @@ -91,6 +91,7 @@ void xmlApi<std::string>::compose(std::deque<sax::Token>& output, std::string da } xmlApi<primitive::Primitive>::ParserRegister<primitive::String> stringParserRegister = xmlApi<primitive::Primitive>::ParserRegister<primitive::String>(primitive::String::XML_TAG_NAME, primitive::String::parse); +xmlApi<alib::Object>::ParserRegister<primitive::String> stringParserRegister2 = xmlApi<alib::Object>::ParserRegister<primitive::String>(primitive::String::XML_TAG_NAME, primitive::String::parse); } /* namespace alib */ diff --git a/alib2data/src/primitive/String.h b/alib2data/src/primitive/String.h index 61f2958678d68d499f3867f7a2662f396f0b275f..719e99954c86363251d2fd1f83ccbeed2fa4e8e7 100644 --- a/alib2data/src/primitive/String.h +++ b/alib2data/src/primitive/String.h @@ -10,7 +10,7 @@ #include <string> #include "PrimitiveBase.h" -#include "../XmlApiBase.h" +#include "../XmlApi.hpp" namespace primitive { diff --git a/alib2data/src/primitive/Unsigned.cpp b/alib2data/src/primitive/Unsigned.cpp index 4666e581fc2d0d42c5cf0c404edada1d52dc0f9c..4d0cb326b263f7dce1e3107087510bd3069f3c61 100644 --- a/alib2data/src/primitive/Unsigned.cpp +++ b/alib2data/src/primitive/Unsigned.cpp @@ -8,7 +8,7 @@ #include "Unsigned.h" #include "../sax/FromXMLParserHelper.h" #include "Primitive.h" -#include "../XmlApi.hpp" +#include "../object/Object.h" namespace primitive { @@ -84,6 +84,7 @@ void xmlApi<unsigned>::compose(std::deque<sax::Token>& output, unsigned data) { } xmlApi<primitive::Primitive>::ParserRegister<primitive::Unsigned> unsignedParserRegister = xmlApi<primitive::Primitive>::ParserRegister<primitive::Unsigned>(primitive::Unsigned::XML_TAG_NAME, primitive::Unsigned::parse); +xmlApi<alib::Object>::ParserRegister<primitive::Unsigned> unsignedParserRegister2 = xmlApi<alib::Object>::ParserRegister<primitive::Unsigned>(primitive::Unsigned::XML_TAG_NAME, primitive::Unsigned::parse); } /* namespace alib */ diff --git a/alib2data/src/primitive/Unsigned.h b/alib2data/src/primitive/Unsigned.h index 022b92f01b43f98852d392589ec2093326f1d176..6e42779b6d71a6d0a2fac3503d48b9a3ecaccb88 100644 --- a/alib2data/src/primitive/Unsigned.h +++ b/alib2data/src/primitive/Unsigned.h @@ -9,7 +9,7 @@ #define PRIMITIVE_UNSIGNED_H_ #include "PrimitiveBase.h" -#include "../XmlApiBase.h" +#include "../XmlApi.hpp" namespace primitive { diff --git a/alib2data/src/regexp/RegExpBase.h b/alib2data/src/regexp/RegExpBase.h index f567dcc6b1aa385b6314b5c2b25defebad585291..993e7e7f1f888267e65746e40f6e3a3cb5e5d4d1 100644 --- a/alib2data/src/regexp/RegExpBase.h +++ b/alib2data/src/regexp/RegExpBase.h @@ -9,8 +9,6 @@ #define REG_EXP_BASE_H_ #include "../object/ObjectBase.h" -#include <deque> -#include "../sax/Token.h" namespace regexp { @@ -43,8 +41,6 @@ public: virtual RegExpBase* clone() const = 0; virtual RegExpBase* plunder() && = 0; - - virtual void compose(std::deque<sax::Token>& out) const = 0; }; } /* namespace regexp */ diff --git a/alib2data/src/regexp/common/RegExpFromXMLParser.cpp b/alib2data/src/regexp/common/RegExpFromXMLParser.cpp index c654a0223af68770e70af2115fcbf107cb3e9277..1087f105f779436a3e7b7e562fdda3c78ea0e2b0 100644 --- a/alib2data/src/regexp/common/RegExpFromXMLParser.cpp +++ b/alib2data/src/regexp/common/RegExpFromXMLParser.cpp @@ -7,13 +7,13 @@ #include "RegExpFromXMLParser.h" #include "../../sax/ParserException.h" -#include "../../XmlApi.hpp" #include "../RegExp.h" #include "../RegExpClasses.h" #include "../unbounded/UnboundedRegExpElements.h" #include "../formal/FormalRegExpElements.h" +#include "../../XmlApi.hpp" namespace regexp { diff --git a/alib2data/src/regexp/common/RegExpFromXMLParser.h b/alib2data/src/regexp/common/RegExpFromXMLParser.h index c951a5a88e71753b5e56f083bd2bf6f6da111d4e..209e98e4e128c3240f01d9d3e6e53d8185c7c6a6 100644 --- a/alib2data/src/regexp/common/RegExpFromXMLParser.h +++ b/alib2data/src/regexp/common/RegExpFromXMLParser.h @@ -12,7 +12,6 @@ #include <set> #include "../RegExpFeatures.h" #include "../../alphabet/SymbolFeatures.h" -#include "../../XmlApiBase.h" namespace regexp { diff --git a/alib2data/src/regexp/common/RegExpToXMLComposer.cpp b/alib2data/src/regexp/common/RegExpToXMLComposer.cpp index 9b2feed276ef143c8f1f9261512674852e37f6d8..6454ef7a5275d6d14d9abceeec0b21c0642bf69f 100644 --- a/alib2data/src/regexp/common/RegExpToXMLComposer.cpp +++ b/alib2data/src/regexp/common/RegExpToXMLComposer.cpp @@ -6,13 +6,13 @@ */ #include "RegExpToXMLComposer.h" -#include "../../XmlApi.hpp" #include "../RegExp.h" #include "../RegExpClasses.h" #include "../unbounded/UnboundedRegExpElements.h" #include "../formal/FormalRegExpElements.h" +#include "../../XmlApi.hpp" namespace regexp { diff --git a/alib2data/src/regexp/common/RegExpToXMLComposer.h b/alib2data/src/regexp/common/RegExpToXMLComposer.h index 159e8e5927ec669b977d7e501690c9de4efe565e..d573c1007118cde2a22d6dae5fd4ef48d6ace8bf 100644 --- a/alib2data/src/regexp/common/RegExpToXMLComposer.h +++ b/alib2data/src/regexp/common/RegExpToXMLComposer.h @@ -13,7 +13,6 @@ #include "../unbounded/UnboundedRegExpElement.h" #include "../formal/FormalRegExpElement.h" #include "../../sax/Token.h" -#include "../../XmlApiBase.h" namespace regexp { diff --git a/alib2data/src/regexp/formal/FormalRegExp.cpp b/alib2data/src/regexp/formal/FormalRegExp.cpp index 023486e3b1f056a7f9fb968cd585ddb1b632be14..7174184068d57339e8ad17fcc1faa67e4421b911 100644 --- a/alib2data/src/regexp/formal/FormalRegExp.cpp +++ b/alib2data/src/regexp/formal/FormalRegExp.cpp @@ -20,6 +20,7 @@ #include "../common/RegExpFromXMLParser.h" #include "../common/RegExpToXMLComposer.h" #include "../RegExp.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace regexp { @@ -175,5 +176,6 @@ void FormalRegExp::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<regexp::RegExp>::ParserRegister<regexp::FormalRegExp> formalRegExpParserRegister = xmlApi<regexp::RegExp>::ParserRegister<regexp::FormalRegExp>(regexp::FormalRegExp::XML_TAG_NAME, regexp::FormalRegExp::parse); +xmlApi<alib::Object>::ParserRegister<regexp::FormalRegExp> formalRegExpParserRegister2 = xmlApi<alib::Object>::ParserRegister<regexp::FormalRegExp>(regexp::FormalRegExp::XML_TAG_NAME, regexp::FormalRegExp::parse); } /* namespace alib */ diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExp.cpp b/alib2data/src/regexp/unbounded/UnboundedRegExp.cpp index 9eba62189bdf2b6b57b6202603f9304f3292a43a..155f4775245482580da45ebc84f3d953f1037c2b 100644 --- a/alib2data/src/regexp/unbounded/UnboundedRegExp.cpp +++ b/alib2data/src/regexp/unbounded/UnboundedRegExp.cpp @@ -20,6 +20,7 @@ #include "../common/RegExpFromXMLParser.h" #include "../common/RegExpToXMLComposer.h" #include "../RegExp.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace regexp { @@ -176,5 +177,6 @@ void UnboundedRegExp::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<regexp::RegExp>::ParserRegister<regexp::UnboundedRegExp> unboundedRegExpParserRegister = xmlApi<regexp::RegExp>::ParserRegister<regexp::UnboundedRegExp>(regexp::UnboundedRegExp::XML_TAG_NAME, regexp::UnboundedRegExp::parse); +xmlApi<alib::Object>::ParserRegister<regexp::UnboundedRegExp> unboundedRegExpParserRegister2 = xmlApi<alib::Object>::ParserRegister<regexp::UnboundedRegExp>(regexp::UnboundedRegExp::XML_TAG_NAME, regexp::UnboundedRegExp::parse); } /* namespace alib */ diff --git a/alib2data/src/string/CyclicString.cpp b/alib2data/src/string/CyclicString.cpp index 62c7314378ab45ece7dea77ad896acd59bad7cfb..d20d73af76ef6ace78828862d2a3d33f982f0f14 100644 --- a/alib2data/src/string/CyclicString.cpp +++ b/alib2data/src/string/CyclicString.cpp @@ -16,6 +16,7 @@ #include "common/StringFromXMLParser.h" #include "common/StringToXMLComposer.h" #include "String.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace string { @@ -129,5 +130,6 @@ void CyclicString::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<string::String>::ParserRegister<string::CyclicString> cyclicStringParserRegister = xmlApi<string::String>::ParserRegister<string::CyclicString>(string::CyclicString::XML_TAG_NAME, string::CyclicString::parse); +xmlApi<alib::Object>::ParserRegister<string::CyclicString> cyclicStringParserRegister2 = xmlApi<alib::Object>::ParserRegister<string::CyclicString>(string::CyclicString::XML_TAG_NAME, string::CyclicString::parse); } /* namespace alib */ diff --git a/alib2data/src/string/Epsilon.cpp b/alib2data/src/string/Epsilon.cpp index 27b17f247aa179b9b68270063d989d6fa7aa807d..e06acde4ce4402cdccb650918f9b0dcb47797415 100644 --- a/alib2data/src/string/Epsilon.cpp +++ b/alib2data/src/string/Epsilon.cpp @@ -11,6 +11,7 @@ #include "common/StringFromXMLParser.h" #include "common/StringToXMLComposer.h" #include "String.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace string { @@ -76,5 +77,6 @@ void Epsilon::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<string::String>::ParserRegister<string::Epsilon> epsilonParserRegister = xmlApi<string::String>::ParserRegister<string::Epsilon>(string::Epsilon::XML_TAG_NAME, string::Epsilon::parse); +xmlApi<alib::Object>::ParserRegister<string::Epsilon> epsilonParserRegister2 = xmlApi<alib::Object>::ParserRegister<string::Epsilon>(string::Epsilon::XML_TAG_NAME, string::Epsilon::parse); } /* namespace alib */ diff --git a/alib2data/src/string/LinearString.cpp b/alib2data/src/string/LinearString.cpp index 269bc34c03fc413029d1fc8c2d6b404e80452941..351dbbb8d27b9b7c506421da57598874834ab0c7 100644 --- a/alib2data/src/string/LinearString.cpp +++ b/alib2data/src/string/LinearString.cpp @@ -16,6 +16,7 @@ #include "common/StringFromXMLParser.h" #include "common/StringToXMLComposer.h" #include "String.h" +#include "../object/Object.h" #include "../XmlApi.hpp" namespace string { @@ -143,5 +144,6 @@ void LinearString::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<string::String>::ParserRegister<string::LinearString> linearStringParserRegister = xmlApi<string::String>::ParserRegister<string::LinearString>(string::LinearString::XML_TAG_NAME, string::LinearString::parse); +xmlApi<alib::Object>::ParserRegister<string::LinearString> linearStringParserRegister2 = xmlApi<alib::Object>::ParserRegister<string::LinearString>(string::LinearString::XML_TAG_NAME, string::LinearString::parse); } /* namespace alib */ diff --git a/alib2data/src/string/StringBase.h b/alib2data/src/string/StringBase.h index f89b3782989c1201948adfe1fadef690c981dee5..34591a8296bc28c6f677c993d88687da27853fb1 100644 --- a/alib2data/src/string/StringBase.h +++ b/alib2data/src/string/StringBase.h @@ -9,8 +9,6 @@ #define STRING_BASE_H_ #include "../object/ObjectBase.h" -#include <deque> -#include "../sax/Token.h" namespace string { @@ -43,8 +41,6 @@ public: virtual StringBase* clone() const = 0; virtual StringBase* plunder() && = 0; - - virtual void compose(std::deque<sax::Token>& out) const = 0; }; } /* namespace string */ diff --git a/alib2data/src/tree/TreeBase.h b/alib2data/src/tree/TreeBase.h index 9d716d4a69746b04df4fe5e019ba22b835701dcc..0dc1cd522239b6203e25b422ca1adea1c670d576 100644 --- a/alib2data/src/tree/TreeBase.h +++ b/alib2data/src/tree/TreeBase.h @@ -9,8 +9,6 @@ #define TREE_BASE_H_ #include "../object/ObjectBase.h" -#include <deque> -#include "../sax/Token.h" namespace tree { @@ -43,8 +41,6 @@ public: virtual TreeBase* clone() const = 0; virtual TreeBase* plunder() && = 0; - - virtual void compose(std::deque<sax::Token>& out) const = 0; }; } /* namespace tree */ diff --git a/alib2data/src/tree/TreeToRawComposer.cpp b/alib2data/src/tree/TreeToRawComposer.cpp index 038d89faf5f067b2e1adb98108932b573c8c2982..38d024f439083abe03b662d3fc78809ae6b1b202 100644 --- a/alib2data/src/tree/TreeToRawComposer.cpp +++ b/alib2data/src/tree/TreeToRawComposer.cpp @@ -7,7 +7,6 @@ #include "TreeToRawComposer.h" #include "TreeException.h" -#include "../XmlApi.hpp" #include "TreeClasses.h" namespace tree { diff --git a/alib2data/src/tree/TreeToRawComposer.h b/alib2data/src/tree/TreeToRawComposer.h index f2b52622957459276da0f4628a25ba0af5a8b533..2ea38fbb9e9b3fac96c69e5caa3fc7819cdb9130 100644 --- a/alib2data/src/tree/TreeToRawComposer.h +++ b/alib2data/src/tree/TreeToRawComposer.h @@ -12,7 +12,6 @@ #include "Tree.h" #include "../sax/Token.h" #include <vector> -#include "../XmlApiBase.h" namespace tree { diff --git a/alib2data/src/tree/ranked/PrefixRankedBarPattern.cpp b/alib2data/src/tree/ranked/PrefixRankedBarPattern.cpp index 11e0c3d4c16ec357b66c94863edee23d7a031a33..982c8e68f073f2603cb09125935e294b656247f1 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarPattern.cpp +++ b/alib2data/src/tree/ranked/PrefixRankedBarPattern.cpp @@ -18,6 +18,7 @@ #include "../common/TreeFromXMLParser.h" #include "../common/TreeToXMLComposer.h" #include "../Tree.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace tree { @@ -181,5 +182,6 @@ void PrefixRankedBarPattern::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<tree::Tree>::ParserRegister<tree::PrefixRankedBarPattern> prefixRankedBarPatternParserRegister = xmlApi<tree::Tree>::ParserRegister<tree::PrefixRankedBarPattern>(tree::PrefixRankedBarPattern::XML_TAG_NAME, tree::PrefixRankedBarPattern::parse); +xmlApi<alib::Object>::ParserRegister<tree::PrefixRankedBarPattern> prefixRankedBarPatternParserRegister2 = xmlApi<alib::Object>::ParserRegister<tree::PrefixRankedBarPattern>(tree::PrefixRankedBarPattern::XML_TAG_NAME, tree::PrefixRankedBarPattern::parse); } /* namespace alib */ diff --git a/alib2data/src/tree/ranked/PrefixRankedBarTree.cpp b/alib2data/src/tree/ranked/PrefixRankedBarTree.cpp index d7560ec57028036f4689b50f1e2057b35d51c24c..24c222286b92e65d194256a10bb64a5cb7825bc9 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarTree.cpp +++ b/alib2data/src/tree/ranked/PrefixRankedBarTree.cpp @@ -18,6 +18,7 @@ #include "../common/TreeFromXMLParser.h" #include "../common/TreeToXMLComposer.h" #include "../Tree.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace tree { @@ -161,5 +162,6 @@ void PrefixRankedBarTree::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<tree::Tree>::ParserRegister<tree::PrefixRankedBarTree> prefixRankedBarTreeParserRegister = xmlApi<tree::Tree>::ParserRegister<tree::PrefixRankedBarTree>(tree::PrefixRankedBarTree::XML_TAG_NAME, tree::PrefixRankedBarTree::parse); +xmlApi<alib::Object>::ParserRegister<tree::PrefixRankedBarTree> prefixRankedBarTreeParserRegister2 = xmlApi<alib::Object>::ParserRegister<tree::PrefixRankedBarTree>(tree::PrefixRankedBarTree::XML_TAG_NAME, tree::PrefixRankedBarTree::parse); } /* namespace alib */ diff --git a/alib2data/src/tree/ranked/PrefixRankedPattern.cpp b/alib2data/src/tree/ranked/PrefixRankedPattern.cpp index 36d7941905a37f5b2efd537109a484108c516d00..f16508dfa6c80c357bdf6aaef8199afba2c1c4ff 100644 --- a/alib2data/src/tree/ranked/PrefixRankedPattern.cpp +++ b/alib2data/src/tree/ranked/PrefixRankedPattern.cpp @@ -18,6 +18,7 @@ #include "../common/TreeFromXMLParser.h" #include "../common/TreeToXMLComposer.h" #include "../Tree.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace tree { @@ -153,5 +154,6 @@ void PrefixRankedPattern::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<tree::Tree>::ParserRegister<tree::PrefixRankedPattern> prefixRankedPatternParserRegister = xmlApi<tree::Tree>::ParserRegister<tree::PrefixRankedPattern>(tree::PrefixRankedPattern::XML_TAG_NAME, tree::PrefixRankedPattern::parse); +xmlApi<alib::Object>::ParserRegister<tree::PrefixRankedPattern> prefixRankedPatternParserRegister2 = xmlApi<alib::Object>::ParserRegister<tree::PrefixRankedPattern>(tree::PrefixRankedPattern::XML_TAG_NAME, tree::PrefixRankedPattern::parse); } /* namespace alib */ diff --git a/alib2data/src/tree/ranked/PrefixRankedTree.cpp b/alib2data/src/tree/ranked/PrefixRankedTree.cpp index ebddab3aa893cca49e4059e418fd8898877f3a8b..fcc255416330323939d6cfdf2ecc63d2c6ff7083 100644 --- a/alib2data/src/tree/ranked/PrefixRankedTree.cpp +++ b/alib2data/src/tree/ranked/PrefixRankedTree.cpp @@ -18,6 +18,7 @@ #include "../common/TreeFromXMLParser.h" #include "../common/TreeToXMLComposer.h" #include "../Tree.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace tree { @@ -148,5 +149,6 @@ void PrefixRankedTree::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<tree::Tree>::ParserRegister<tree::PrefixRankedTree> prefixRankedTreeParserRegister = xmlApi<tree::Tree>::ParserRegister<tree::PrefixRankedTree>(tree::PrefixRankedTree::XML_TAG_NAME, tree::PrefixRankedTree::parse); +xmlApi<alib::Object>::ParserRegister<tree::PrefixRankedTree> prefixRankedTreeParserRegister2 = xmlApi<alib::Object>::ParserRegister<tree::PrefixRankedTree>(tree::PrefixRankedTree::XML_TAG_NAME, tree::PrefixRankedTree::parse); } /* namespace alib */ diff --git a/alib2data/src/tree/ranked/RankedPattern.cpp b/alib2data/src/tree/ranked/RankedPattern.cpp index 4c8bce329eb8095cd15d46f8508c0e7c2ad454de..db3598ea54fb7ecf8d51df6218e24e853d7ac0d0 100644 --- a/alib2data/src/tree/ranked/RankedPattern.cpp +++ b/alib2data/src/tree/ranked/RankedPattern.cpp @@ -18,6 +18,7 @@ #include "../common/TreeFromXMLParser.h" #include "../common/TreeToXMLComposer.h" #include "../Tree.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace tree { @@ -160,5 +161,6 @@ void RankedPattern::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<tree::Tree>::ParserRegister<tree::RankedPattern> rankedPatternParserRegister = xmlApi<tree::Tree>::ParserRegister<tree::RankedPattern>(tree::RankedPattern::XML_TAG_NAME, tree::RankedPattern::parse); +xmlApi<alib::Object>::ParserRegister<tree::RankedPattern> rankedPatternParserRegister2 = xmlApi<alib::Object>::ParserRegister<tree::RankedPattern>(tree::RankedPattern::XML_TAG_NAME, tree::RankedPattern::parse); } /* namespace alib */ diff --git a/alib2data/src/tree/ranked/RankedTree.cpp b/alib2data/src/tree/ranked/RankedTree.cpp index bbe1975d7a1f38cb6d5fbd2b7278e21758928ea4..04382365b4c5f20dfe92806d7f0f74692f840d28 100644 --- a/alib2data/src/tree/ranked/RankedTree.cpp +++ b/alib2data/src/tree/ranked/RankedTree.cpp @@ -18,6 +18,7 @@ #include "../common/TreeFromXMLParser.h" #include "../common/TreeToXMLComposer.h" #include "../Tree.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace tree { @@ -152,5 +153,6 @@ void RankedTree::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<tree::Tree>::ParserRegister<tree::RankedTree> rankedTreeParserRegister = xmlApi<tree::Tree>::ParserRegister<tree::RankedTree>(tree::RankedTree::XML_TAG_NAME, tree::RankedTree::parse); +xmlApi<alib::Object>::ParserRegister<tree::RankedTree> rankedTreeParserRegister2 = xmlApi<alib::Object>::ParserRegister<tree::RankedTree>(tree::RankedTree::XML_TAG_NAME, tree::RankedTree::parse); } /* namespace alib */ diff --git a/alib2data/src/tree/unranked/UnrankedPattern.cpp b/alib2data/src/tree/unranked/UnrankedPattern.cpp index 80a4ade2ba27d9a87badfb2275ce3962d0e0f8db..5de35f4f9c5c3a259ff95e599b7e93269e0810ad 100644 --- a/alib2data/src/tree/unranked/UnrankedPattern.cpp +++ b/alib2data/src/tree/unranked/UnrankedPattern.cpp @@ -18,6 +18,7 @@ #include "../common/TreeFromXMLParser.h" #include "../common/TreeToXMLComposer.h" #include "../Tree.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace tree { @@ -160,5 +161,6 @@ void UnrankedPattern::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<tree::Tree>::ParserRegister<tree::UnrankedPattern> unrankedPatternParserRegister = xmlApi<tree::Tree>::ParserRegister<tree::UnrankedPattern>(tree::UnrankedPattern::XML_TAG_NAME, tree::UnrankedPattern::parse); +xmlApi<alib::Object>::ParserRegister<tree::UnrankedPattern> unrankedPatternParserRegister2 = xmlApi<alib::Object>::ParserRegister<tree::UnrankedPattern>(tree::UnrankedPattern::XML_TAG_NAME, tree::UnrankedPattern::parse); } /* namespace alib */ diff --git a/alib2data/src/tree/unranked/UnrankedTree.cpp b/alib2data/src/tree/unranked/UnrankedTree.cpp index d5aa2e7a71fe64a767573d2106526dad51fd0233..30371fd14fa5baa7ce9d4ca5700c0238887e5d9e 100644 --- a/alib2data/src/tree/unranked/UnrankedTree.cpp +++ b/alib2data/src/tree/unranked/UnrankedTree.cpp @@ -18,6 +18,7 @@ #include "../common/TreeFromXMLParser.h" #include "../common/TreeToXMLComposer.h" #include "../Tree.h" +#include "../../object/Object.h" #include "../../XmlApi.hpp" namespace tree { @@ -152,5 +153,6 @@ void UnrankedTree::compose(std::deque<sax::Token>& out) const { namespace alib { xmlApi<tree::Tree>::ParserRegister<tree::UnrankedTree> unrankedTreeParserRegister = xmlApi<tree::Tree>::ParserRegister<tree::UnrankedTree>(tree::UnrankedTree::XML_TAG_NAME, tree::UnrankedTree::parse); +xmlApi<alib::Object>::ParserRegister<tree::UnrankedTree> unrankedTreeParserRegister2 = xmlApi<alib::Object>::ParserRegister<tree::UnrankedTree>(tree::UnrankedTree::XML_TAG_NAME, tree::UnrankedTree::parse); } /* namespace alib */