From 1ee5714ba000799b473e366f54661a8862d8f498 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Mon, 20 Jul 2015 21:36:28 +0200 Subject: [PATCH] cleanup --- alib2data/src/XmlApi.cpp | 2 - alib2data/src/XmlApi.hpp | 4 -- alib2data/src/alphabet/Symbol.h | 3 +- alib2data/src/automaton/Automaton.h | 3 +- alib2data/src/container/Container.h | 3 +- alib2data/src/grammar/Grammar.h | 3 +- alib2data/src/graph/Graph.h | 3 +- alib2data/src/label/Label.h | 3 +- alib2data/src/object/Object.h | 3 +- alib2data/src/object/ObjectFromXMLParser.cpp | 20 ++++---- alib2data/src/primitive/Primitive.h | 2 +- .../src/primitive/PrimitiveFromXMLParser.cpp | 50 ------------------- .../src/primitive/PrimitiveFromXMLParser.h | 36 ------------- .../src/primitive/PrimitiveToXMLComposer.cpp | 25 ---------- .../src/primitive/PrimitiveToXMLComposer.h | 45 ----------------- alib2data/src/regexp/RegExp.h | 3 +- alib2data/src/string/String.h | 3 +- alib2data/src/tree/Tree.h | 3 +- 18 files changed, 31 insertions(+), 183 deletions(-) delete mode 100644 alib2data/src/primitive/PrimitiveFromXMLParser.cpp delete mode 100644 alib2data/src/primitive/PrimitiveFromXMLParser.h delete mode 100644 alib2data/src/primitive/PrimitiveToXMLComposer.cpp delete mode 100644 alib2data/src/primitive/PrimitiveToXMLComposer.h diff --git a/alib2data/src/XmlApi.cpp b/alib2data/src/XmlApi.cpp index 7c0302a5bf..9c052cd363 100644 --- a/alib2data/src/XmlApi.cpp +++ b/alib2data/src/XmlApi.cpp @@ -42,7 +42,6 @@ const graph::GraphFromXMLParser FromXMLParsers::graphParser; const exception::ExceptionFromXMLParser FromXMLParsers::exceptionParser; const alib::ObjectFromXMLParser FromXMLParsers::objectParser; const container::ContainerFromXMLParser FromXMLParsers::containerParser; -const primitive::PrimitiveFromXMLParser FromXMLParsers::primitiveParser; const tree::TreeFromXMLParser FromXMLParsers::treeParser; const label::LabelToXMLComposer ToXMLComposers::labelComposer; @@ -55,7 +54,6 @@ const graph::GraphToXMLComposer ToXMLComposers::graphComposer; const alib::ObjectToXMLComposer ToXMLComposers::objectComposer; const exception::ExceptionToXMLComposer ToXMLComposers::exceptionComposer; const container::ContainerToXMLComposer ToXMLComposers::containerComposer; -const primitive::PrimitiveToXMLComposer ToXMLComposers::primitiveComposer; const tree::TreeToXMLComposer ToXMLComposers::treeComposer; const ToXMLComposers ToXMLComposers::toXMLComposers; diff --git a/alib2data/src/XmlApi.hpp b/alib2data/src/XmlApi.hpp index 5a0b99c08e..09ff73acec 100644 --- a/alib2data/src/XmlApi.hpp +++ b/alib2data/src/XmlApi.hpp @@ -28,7 +28,6 @@ #include "graph/GraphFromXMLParser.h" #include "object/ObjectFromXMLParser.h" #include "exception/ExceptionFromXMLParser.h" -#include "primitive/PrimitiveFromXMLParser.h" #include "tree/TreeFromXMLParser.h" #include "container/ContainerFromXMLParser.hpp" @@ -41,7 +40,6 @@ #include "graph/GraphToXMLComposer.h" #include "object/ObjectToXMLComposer.h" #include "exception/ExceptionToXMLComposer.h" -#include "primitive/PrimitiveToXMLComposer.h" #include "tree/TreeToXMLComposer.h" #include "container/ContainerToXMLComposer.hpp" @@ -755,7 +753,6 @@ public: static const exception::ExceptionFromXMLParser exceptionParser; static const ObjectFromXMLParser objectParser; static const container::ContainerFromXMLParser containerParser; - static const primitive::PrimitiveFromXMLParser primitiveParser; static const tree::TreeFromXMLParser treeParser; }; @@ -864,7 +861,6 @@ public: static const exception::ExceptionToXMLComposer exceptionComposer; static const ObjectToXMLComposer objectComposer; static const container::ContainerToXMLComposer containerComposer; - static const primitive::PrimitiveToXMLComposer primitiveComposer; static const tree::TreeToXMLComposer treeComposer; static const ToXMLComposers toXMLComposers; diff --git a/alib2data/src/alphabet/Symbol.h b/alib2data/src/alphabet/Symbol.h index 4f896bac5b..a2bee2e591 100644 --- a/alib2data/src/alphabet/Symbol.h +++ b/alib2data/src/alphabet/Symbol.h @@ -8,6 +8,7 @@ #ifndef SYMBOL_H_ #define SYMBOL_H_ +#include "../object/WrapperBase.h" #include "SymbolBase.h" #include "../common/wrapper.hpp" @@ -19,7 +20,7 @@ namespace alphabet { /** * Wrapper around automata. */ -class Symbol : public alib::wrapper<SymbolBase> { +class Symbol : public alib::wrapper<SymbolBase>, public alib::WrapperBase { using alib::wrapper<SymbolBase>::wrapper; }; diff --git a/alib2data/src/automaton/Automaton.h b/alib2data/src/automaton/Automaton.h index c62bba56f3..a9fb106268 100644 --- a/alib2data/src/automaton/Automaton.h +++ b/alib2data/src/automaton/Automaton.h @@ -8,6 +8,7 @@ #ifndef AUTOMATON_H_ #define AUTOMATON_H_ +#include "../object/WrapperBase.h" #include "AutomatonBase.h" #include "../common/wrapper.hpp" @@ -19,7 +20,7 @@ namespace automaton { /** * Wrapper around automata. */ -class Automaton : public alib::wrapper<AutomatonBase> { +class Automaton : public alib::wrapper<AutomatonBase>, public alib::WrapperBase { using alib::wrapper<AutomatonBase>::wrapper; }; diff --git a/alib2data/src/container/Container.h b/alib2data/src/container/Container.h index e2a45addf5..178e2d1a29 100644 --- a/alib2data/src/container/Container.h +++ b/alib2data/src/container/Container.h @@ -8,6 +8,7 @@ #ifndef CONTAINER_H_ #define CONTAINER_H_ +#include "../object/WrapperBase.h" #include "ContainerBase.h" #include "../common/wrapper.hpp" @@ -16,7 +17,7 @@ namespace container { /** * Wrapper around containers. */ -class Container : public alib::wrapper<ContainerBase> { +class Container : public alib::wrapper<ContainerBase>, public alib::WrapperBase { using alib::wrapper<ContainerBase>::wrapper; }; diff --git a/alib2data/src/grammar/Grammar.h b/alib2data/src/grammar/Grammar.h index f91343fd26..c82c35a66c 100644 --- a/alib2data/src/grammar/Grammar.h +++ b/alib2data/src/grammar/Grammar.h @@ -8,6 +8,7 @@ #ifndef GRAMMAR_H_ #define GRAMMAR_H_ +#include "../object/WrapperBase.h" #include "GrammarBase.h" #include "../common/wrapper.hpp" @@ -16,7 +17,7 @@ namespace grammar { /** * Wrapper around grammars. */ -class Grammar : public alib::wrapper<GrammarBase> { +class Grammar : public alib::wrapper<GrammarBase>, public alib::WrapperBase { using alib::wrapper<GrammarBase>::wrapper; }; diff --git a/alib2data/src/graph/Graph.h b/alib2data/src/graph/Graph.h index 66f43a9d14..71596a11fe 100644 --- a/alib2data/src/graph/Graph.h +++ b/alib2data/src/graph/Graph.h @@ -8,13 +8,14 @@ #ifndef GRAPH_H_ #define GRAPH_H_ +#include "../object/WrapperBase.h" #include "GraphBase.h" #include "../common/wrapper.hpp" namespace graph { // Wrapper around graphs. -class Graph : public alib::wrapper<GraphBase> { +class Graph : public alib::wrapper<GraphBase>, public alib::WrapperBase { using alib::wrapper<GraphBase>::wrapper; }; diff --git a/alib2data/src/label/Label.h b/alib2data/src/label/Label.h index 5e670b3a63..0a9b7b66a2 100644 --- a/alib2data/src/label/Label.h +++ b/alib2data/src/label/Label.h @@ -8,6 +8,7 @@ #ifndef LABEL_H_ #define LABEL_H_ +#include "../object/WrapperBase.h" #include "LabelBase.h" #include "../common/wrapper.hpp" @@ -16,7 +17,7 @@ namespace label { /** * Wrapper around automata. */ -class Label : public alib::wrapper<LabelBase> { +class Label : public alib::wrapper<LabelBase>, public alib::WrapperBase { using alib::wrapper<LabelBase>::wrapper; }; diff --git a/alib2data/src/object/Object.h b/alib2data/src/object/Object.h index 33a5293b52..1d53280f0b 100644 --- a/alib2data/src/object/Object.h +++ b/alib2data/src/object/Object.h @@ -8,6 +8,7 @@ #ifndef OBJECT_H_ #define OBJECT_H_ +#include "../object/WrapperBase.h" #include "ObjectBase.h" #include "../common/wrapper.hpp" @@ -16,7 +17,7 @@ namespace alib { /** * Wrapper around object. */ -class Object : public alib::wrapper<ObjectBase> { +class Object : public alib::wrapper<ObjectBase>, public alib::WrapperBase { using alib::wrapper<ObjectBase>::wrapper; }; diff --git a/alib2data/src/object/ObjectFromXMLParser.cpp b/alib2data/src/object/ObjectFromXMLParser.cpp index e9575438b2..e5b57594a9 100644 --- a/alib2data/src/object/ObjectFromXMLParser.cpp +++ b/alib2data/src/object/ObjectFromXMLParser.cpp @@ -25,43 +25,43 @@ namespace alib { Object ObjectFromXMLParser::parseObject(std::deque<sax::Token>::iterator& input) const { - if(alib::FromXMLParsers::symbolParser.first(input)) { + 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::FromXMLParsers::exceptionParser.first(input)) { + } 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::FromXMLParsers::labelParser.first(input)) { + } 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::FromXMLParsers::regexpParser.first(input)) { + } 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::FromXMLParsers::stringParser.first(input)) { + } 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::FromXMLParsers::automatonParser.first(input)) { + } 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::FromXMLParsers::grammarParser.first(input)) { + } 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::FromXMLParsers::containerParser.first(input)) { + } 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::FromXMLParsers::primitiveParser.first(input)) { + } 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::FromXMLParsers::treeParser.first(input)) { + } 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; diff --git a/alib2data/src/primitive/Primitive.h b/alib2data/src/primitive/Primitive.h index 91f0c2b0c3..e8787c3be9 100644 --- a/alib2data/src/primitive/Primitive.h +++ b/alib2data/src/primitive/Primitive.h @@ -17,7 +17,7 @@ namespace primitive { /** * Wrapper around primitive data types. */ -class Primitive : public alib::wrapper<PrimitiveBase>, alib::WrapperBase { +class Primitive : public alib::wrapper<PrimitiveBase>, public alib::WrapperBase { using alib::wrapper<PrimitiveBase>::wrapper; }; diff --git a/alib2data/src/primitive/PrimitiveFromXMLParser.cpp b/alib2data/src/primitive/PrimitiveFromXMLParser.cpp deleted file mode 100644 index b1c3ee452f..0000000000 --- a/alib2data/src/primitive/PrimitiveFromXMLParser.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * PrimitiveFromXMLParser.cpp - * - * Created on: Nov 23, 2013 - * Author: Jan Travnicek - */ - -#include "PrimitiveFromXMLParser.h" -#include "../sax/ParserException.h" -#include "../XmlApi.hpp" - -#include "Primitive.h" -#include "PrimitiveClasses.h" - -namespace primitive { - -Primitive PrimitiveFromXMLParser::parsePrimitive(std::deque<sax::Token>::iterator& input) const { - return parsePrimitive(input, std::set<FEATURES>({FEATURES::STRING, FEATURES::CHAR, FEATURES::INTEGER, FEATURES::UNSIGNED, FEATURES::BOOL})); -} - -Primitive PrimitiveFromXMLParser::parsePrimitive(std::deque<sax::Token>::iterator& input, const std::set<FEATURES>& features) const { - if(alib::xmlApi<Integer>::first(input)) { - if(!features.count(FEATURES::INTEGER)) throw exception::AlibException(); - return Primitive(Integer::parse(input)); - } else if(alib::xmlApi<String>::first(input)) { - if(!features.count(FEATURES::STRING)) throw exception::AlibException(); - return Primitive(String::parse(input)); - } else if(alib::xmlApi<Character>::first(input)) { - if(!features.count(FEATURES::CHAR)) throw exception::AlibException(); - return Primitive(Character::parse(input)); - } else if(alib::xmlApi<Unsigned>::first(input)) { - if(!features.count(FEATURES::UNSIGNED)) throw exception::AlibException(); - return Primitive(Unsigned::parse(input)); - } else if(alib::xmlApi<Bool>::first(input)) { - if(!features.count(FEATURES::BOOL)) throw exception::AlibException(); - return Primitive(Bool::parse(input)); - } else { - throw sax::ParserException(sax::Token("Integer, String, Character, Unsigned, Bool", sax::Token::TokenType::START_ELEMENT), *input); - } -} - -bool PrimitiveFromXMLParser::first(const std::deque<sax::Token>::const_iterator& input) const { - if(alib::xmlApi<Integer>::first(input) || alib::xmlApi<String>::first(input) || alib::xmlApi<Character>::first(input) || alib::xmlApi<Unsigned>::first(input) || alib::xmlApi<Bool>::first(input)) { - return true; - } else { - return false; - } -} - -} /* namespace primitive */ diff --git a/alib2data/src/primitive/PrimitiveFromXMLParser.h b/alib2data/src/primitive/PrimitiveFromXMLParser.h deleted file mode 100644 index a0cadb5d30..0000000000 --- a/alib2data/src/primitive/PrimitiveFromXMLParser.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * PrimitiveFromXMLParser.h - * - * Created on: Nov 23, 2013 - * Author: Jan Travnicek - */ - -#ifndef PRIMITIVE_FROM_XML_PARSER_H_ -#define PRIMITIVE_FROM_XML_PARSER_H_ - -#include "../sax/FromXMLParserHelper.h" -#include <set> -#include "PrimitiveFeatures.h" -#include "../XmlApiBase.h" - -namespace primitive { - -/** - * Parser used to transform sequence of xml tokens to internal representation of Primitive. - */ -class PrimitiveFromXMLParser : public sax::FromXMLParserHelper { -public: - PrimitiveFromXMLParser() {} - -private: - Primitive parsePrimitive(std::deque<sax::Token>::iterator& input, const std::set<FEATURES>&) const; - Primitive parsePrimitive(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 primitive */ - -#endif /* PRIMITIVE_FROM_XML_PARSER_H_ */ diff --git a/alib2data/src/primitive/PrimitiveToXMLComposer.cpp b/alib2data/src/primitive/PrimitiveToXMLComposer.cpp deleted file mode 100644 index a5c97057cc..0000000000 --- a/alib2data/src/primitive/PrimitiveToXMLComposer.cpp +++ /dev/null @@ -1,25 +0,0 @@ -/* - * PrimitiveToXMLComposer.cpp - * - * Created on: Nov 23, 2013 - * Author: Jan Travnicek - */ - -#include "PrimitiveToXMLComposer.h" - -#include "../XmlApi.hpp" - -#include "Primitive.h" -#include "PrimitiveClasses.h" - -namespace primitive { - -void PrimitiveToXMLComposer::compose(std::deque<sax::Token>& out, const Primitive& primitive) const { - primitive.getData().Accept((void*) &out, alib::ToXMLComposers::toXMLComposers); -} - -void PrimitiveToXMLComposer::compose(std::deque<sax::Token>& out, const PrimitiveBase& primitive) const { - primitive.Accept((void*) &out, alib::ToXMLComposers::toXMLComposers); -} - -} /* namespace primitive */ diff --git a/alib2data/src/primitive/PrimitiveToXMLComposer.h b/alib2data/src/primitive/PrimitiveToXMLComposer.h deleted file mode 100644 index 5a89e6cdde..0000000000 --- a/alib2data/src/primitive/PrimitiveToXMLComposer.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * PrimitiveToXMLComposer.h - * - * Created on: Nov 23, 2013 - * Author: Jan Travnciek - */ - -#ifndef PRIMITIVE_TO_XML_COMPOSER_H_ -#define PRIMITIVE_TO_XML_COMPOSER_H_ - -#include <deque> -#include "PrimitiveFeatures.h" -#include "../sax/Token.h" -#include "../XmlApiBase.h" - -namespace primitive { - -/** - * This class contains methods to print XML representation of string to the output stream. - */ -class PrimitiveToXMLComposer { -public: - PrimitiveToXMLComposer() {} - -private: - /** - * 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 PrimitiveBase& primitive) 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 Primitive& primitive) const; - - template<typename T, typename Enable> friend struct alib::xmlApi; -}; - -} /* namespace primitive */ - -#endif /* PRIMITIVE_TO_XML_COMPOSER_H_ */ diff --git a/alib2data/src/regexp/RegExp.h b/alib2data/src/regexp/RegExp.h index bc9105261b..2be1c82596 100644 --- a/alib2data/src/regexp/RegExp.h +++ b/alib2data/src/regexp/RegExp.h @@ -8,6 +8,7 @@ #ifndef REG_EXP_H_ #define REG_EXP_H_ +#include "../object/WrapperBase.h" #include "../common/wrapper.hpp" #include "RegExpBase.h" @@ -20,7 +21,7 @@ namespace regexp { /** * Wrapper around automata. */ -class RegExp : public alib::wrapper<RegExpBase> { +class RegExp : public alib::wrapper<RegExpBase>, public alib::WrapperBase { using alib::wrapper<RegExpBase>::wrapper; }; diff --git a/alib2data/src/string/String.h b/alib2data/src/string/String.h index f5f80df9d0..3bb3f5d7aa 100644 --- a/alib2data/src/string/String.h +++ b/alib2data/src/string/String.h @@ -8,6 +8,7 @@ #ifndef STRING_H_ #define STRING_H_ +#include "../object/WrapperBase.h" #include "StringBase.h" #include "../common/wrapper.hpp" @@ -16,7 +17,7 @@ namespace string { /** * Wrapper around strings. */ -class String : public alib::wrapper<StringBase> { +class String : public alib::wrapper<StringBase>, public alib::WrapperBase { using alib::wrapper<StringBase>::wrapper; }; diff --git a/alib2data/src/tree/Tree.h b/alib2data/src/tree/Tree.h index 5bc8fe6f6b..02dec346e5 100644 --- a/alib2data/src/tree/Tree.h +++ b/alib2data/src/tree/Tree.h @@ -8,6 +8,7 @@ #ifndef TREE_H_ #define TREE_H_ +#include "../object/WrapperBase.h" #include "TreeBase.h" #include "../common/wrapper.hpp" @@ -16,7 +17,7 @@ namespace tree { /** * Wrapper around tree. */ -class Tree : public alib::wrapper<TreeBase> { +class Tree : public alib::wrapper<TreeBase>, public alib::WrapperBase { using alib::wrapper<TreeBase>::wrapper; }; -- GitLab