Skip to content
Snippets Groups Projects
Commit 1632e68a authored by Jan Trávníček's avatar Jan Trávníček
Browse files

simplify includes in trees

parent eb4600b5
No related branches found
No related tags found
No related merge requests found
Showing
with 81 additions and 39 deletions
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
*/ */
   
#include "TreeCastVisitor.h" #include "TreeCastVisitor.h"
#include "tree/TreeClasses.h"
#include "../CastVisitorBase.hpp" #include "../CastVisitorBase.hpp"
   
typedef cast_base_helper< tree::VisitableTreeBase::const_visitor_type, tree::TreeBase, alib::TreeTypes, tree::Tree, alib::TreeTypes > TreeCastVisitorType; typedef cast_base_helper< tree::VisitableTreeBase::const_visitor_type, tree::TreeBase, alib::TreeTypes, tree::Tree, alib::TreeTypes > TreeCastVisitorType;
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
   
#include "TreeToStringCastVisitor.h" #include "TreeToStringCastVisitor.h"
#include "string/StringClasses.h" #include "string/StringClasses.h"
#include "tree/TreeClasses.h"
   
#include "../CastVisitorBase.hpp" #include "../CastVisitorBase.hpp"
   
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "container/ContainerClasses.h" #include "container/ContainerClasses.h"
#include "grammar/GrammarClasses.h" #include "grammar/GrammarClasses.h"
#include "regexp/RegExpClasses.h" #include "regexp/RegExpClasses.h"
#include "tree/TreeClasses.h"
   
namespace alib { namespace alib {
   
......
...@@ -33,19 +33,7 @@ class UndirectedGraph; ...@@ -33,19 +33,7 @@ class UndirectedGraph;
#include "../alphabet/SymbolFeatures.h" #include "../alphabet/SymbolFeatures.h"
#include "../container/ContainerFeatures.h" #include "../container/ContainerFeatures.h"
#include "../primitive/PrimitiveFeatures.h" #include "../primitive/PrimitiveFeatures.h"
#include "../tree/TreeFeatures.h"
namespace tree {
class RankedTree;
class RankedPattern;
class PrefixRankedTree;
class PrefixRankedBarTree;
class PrefixRankedPattern;
class PrefixRankedBarPattern;
class UnrankedTree;
class UnrankedPattern;
}
   
namespace alib { namespace alib {
   
...@@ -83,6 +71,7 @@ typedef std::tuple< automaton::DFA, automaton::NFA, automaton::MultiInitialState ...@@ -83,6 +71,7 @@ typedef std::tuple< automaton::DFA, automaton::NFA, automaton::MultiInitialState
   
typedef std::tuple< Void, exception::AlibException typedef std::tuple< Void, exception::AlibException
> OtherTypes; > OtherTypes;
// -------------------------------------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------------------------------------
   
template<typename ... Ts> template<typename ... Ts>
......
...@@ -16,7 +16,18 @@ namespace tree { ...@@ -16,7 +16,18 @@ namespace tree {
/** /**
* Wrapper around tree. * Wrapper around tree.
*/ */
typedef alib::wrapper<TreeBase> Tree; class Tree : public alib::wrapper<TreeBase> {
public:
explicit Tree(TreeBase* data) : alib::wrapper<TreeBase>(data) {
}
explicit Tree(const TreeBase& data) : alib::wrapper<TreeBase>(data.clone()) {
}
explicit Tree(TreeBase&& data) : alib::wrapper<TreeBase>(std::move(data).plunder()) {
}
};
   
} /* namespace tree */ } /* namespace tree */
   
......
...@@ -8,9 +8,7 @@ ...@@ -8,9 +8,7 @@
#ifndef TREE_BASE_H_ #ifndef TREE_BASE_H_
#define TREE_BASE_H_ #define TREE_BASE_H_
   
#include "../common/base.hpp"
#include "../object/ObjectBase.h" #include "../object/ObjectBase.h"
#include "../exception/AlibException.h"
   
namespace tree { namespace tree {
   
......
/*
* TreeClasses.h
*
* Created on: Nov 16, 2014
* Author: Jan Travnicek
*/
#ifndef TREE_CLASSES_H_
#define TREE_CLASSES_H_
#include "ranked/RankedTree.h"
#include "ranked/RankedPattern.h"
#include "ranked/PrefixRankedTree.h"
#include "ranked/PrefixRankedBarTree.h"
#include "ranked/PrefixRankedPattern.h"
#include "ranked/PrefixRankedBarPattern.h"
#include "unranked/UnrankedTree.h"
#include "unranked/UnrankedPattern.h"
#endif /* TREE_CLASSES_H_ */
...@@ -11,9 +11,30 @@ ...@@ -11,9 +11,30 @@
namespace tree { namespace tree {
   
enum class FEATURES { enum class FEATURES {
RANKED_TREE, RANKED_PATTERN, PREFIX_RANKED_TREE, PREFIX_RANKED_BAR_TREE, PREFIX_RANKED_PATTERN, PREFIX_RANKED_BAR_PATTERN, UNRANKED_TREE, UNRANKED_PATTERN RANKED_TREE,
RANKED_PATTERN,
PREFIX_RANKED_TREE,
PREFIX_RANKED_BAR_TREE,
PREFIX_RANKED_PATTERN,
PREFIX_RANKED_BAR_PATTERN,
UNRANKED_TREE,
UNRANKED_PATTERN
}; };
   
class Tree;
class RankedTree;
class RankedPattern;
class PrefixRankedTree;
class PrefixRankedBarTree;
class PrefixRankedPattern;
class PrefixRankedBarPattern;
class UnrankedTree;
class UnrankedPattern;
class RankedNode;
class UnrankedNode;
} /* namespace tree */ } /* namespace tree */
   
#endif /* TREE_FEATURES_H_ */ #endif /* TREE_FEATURES_H_ */
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
*/ */
   
#include "TreeFromRawParser.h" #include "TreeFromRawParser.h"
#include "Tree.h"
#include "TreeException.h" #include "TreeException.h"
#include "ranked/RankedTree.h" #include "ranked/RankedTree.h"
#include "ranked/PrefixRankedTree.h" #include "ranked/PrefixRankedTree.h"
......
...@@ -9,9 +9,7 @@ ...@@ -9,9 +9,7 @@
#define TREE_FROM_RAW_PARSER #define TREE_FROM_RAW_PARSER
   
#include "../sax/FromXMLParserHelper.h" #include "../sax/FromXMLParserHelper.h"
#include "Tree.h"
#include "TreeFeatures.h" #include "TreeFeatures.h"
#include <deque>
#include <set> #include <set>
#include "unranked/UnrankedNode.h" #include "unranked/UnrankedNode.h"
   
......
...@@ -6,11 +6,12 @@ ...@@ -6,11 +6,12 @@
*/ */
   
#include "TreeFromXMLParser.h" #include "TreeFromXMLParser.h"
#include "../sax/ParserException.h" #include "../sax/ParserException.h"
#include "../XmlApi.hpp" #include "../XmlApi.hpp"
   
#include "Tree.h"
#include "TreeClasses.h"
namespace tree { namespace tree {
   
Tree TreeFromXMLParser::parseTree(std::deque<sax::Token>::iterator& input) const { Tree TreeFromXMLParser::parseTree(std::deque<sax::Token>::iterator& input) const {
......
...@@ -9,15 +9,13 @@ ...@@ -9,15 +9,13 @@
#define TREE_FROM_XML_PARSER_H_ #define TREE_FROM_XML_PARSER_H_
   
#include "../sax/FromXMLParserHelper.h" #include "../sax/FromXMLParserHelper.h"
#include "Tree.h"
#include "TreeFeatures.h" #include "TreeFeatures.h"
#include "ranked/RankedTree.h"
#include "unranked/UnrankedTree.h"
   
#include <deque>
#include <set> #include <set>
#include <variant> #include <variant>
#include "../sax/Token.h" #include <vector>
#include "../alphabet/Symbol.h"
   
namespace alib { namespace alib {
   
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
   
#include "TreeToRawComposer.h" #include "TreeToRawComposer.h"
#include "TreeException.h" #include "TreeException.h"
#include "../XmlApi.hpp" #include "../XmlApi.hpp"
#include "TreeClasses.h"
   
namespace tree { namespace tree {
   
......
...@@ -10,9 +10,8 @@ ...@@ -10,9 +10,8 @@
   
#include <deque> #include <deque>
#include "Tree.h" #include "Tree.h"
#include "ranked/RankedTree.h"
#include "unranked/UnrankedTree.h"
#include "../sax/Token.h" #include "../sax/Token.h"
#include <vector>
   
namespace alib { namespace alib {
   
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
*/ */
   
#include "TreeToXMLComposer.h" #include "TreeToXMLComposer.h"
#include "../XmlApi.hpp" #include "../XmlApi.hpp"
#include "TreeClasses.h"
   
namespace tree { namespace tree {
   
......
...@@ -8,18 +8,10 @@ ...@@ -8,18 +8,10 @@
#ifndef TREE_TO_XML_COMPOSER_H_ #ifndef TREE_TO_XML_COMPOSER_H_
#define TREE_TO_XML_COMPOSER_H_ #define TREE_TO_XML_COMPOSER_H_
   
#include <string>
#include <deque> #include <deque>
#include "Tree.h" #include "Tree.h"
#include "ranked/RankedTree.h"
#include "ranked/RankedPattern.h"
#include "ranked/PrefixRankedTree.h"
#include "ranked/PrefixRankedBarTree.h"
#include "ranked/PrefixRankedPattern.h"
#include "ranked/PrefixRankedBarPattern.h"
#include "unranked/UnrankedTree.h"
#include "unranked/UnrankedPattern.h"
#include "../sax/Token.h" #include "../sax/Token.h"
#include <set>
   
namespace alib { namespace alib {
   
......
...@@ -3,10 +3,14 @@ ...@@ -3,10 +3,14 @@
#include "sax/SaxParseInterface.h" #include "sax/SaxParseInterface.h"
#include "sax/SaxComposeInterface.h" #include "sax/SaxComposeInterface.h"
   
#include "tree/unranked/UnrankedPattern.h"
#include "tree/ranked/RankedPattern.h" #include "tree/ranked/RankedPattern.h"
#include "tree/ranked/PrefixRankedPattern.h" #include "tree/ranked/PrefixRankedPattern.h"
#include "tree/ranked/PrefixRankedBarPattern.h" #include "tree/ranked/PrefixRankedBarPattern.h"
   
#include "tree/ranked/RankedNode.h"
#include "tree/unranked/UnrankedNode.h"
#include "tree/TreeException.h" #include "tree/TreeException.h"
   
#include "factory/XmlDataFactory.hpp" #include "factory/XmlDataFactory.hpp"
......
...@@ -4,10 +4,14 @@ ...@@ -4,10 +4,14 @@
#include "sax/SaxComposeInterface.h" #include "sax/SaxComposeInterface.h"
   
#include "tree/ranked/RankedTree.h" #include "tree/ranked/RankedTree.h"
#include "tree/unranked/UnrankedTree.h"
#include "tree/ranked/PrefixRankedTree.h" #include "tree/ranked/PrefixRankedTree.h"
#include "tree/ranked/PrefixRankedBarTree.h" #include "tree/ranked/PrefixRankedBarTree.h"
#include "tree/ranked/RankedPattern.h" #include "tree/ranked/RankedPattern.h"
   
#include "tree/ranked/RankedNode.h"
#include "tree/unranked/UnrankedNode.h"
#include "tree/TreeException.h" #include "tree/TreeException.h"
   
#include "factory/XmlDataFactory.hpp" #include "factory/XmlDataFactory.hpp"
......
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
#include <sax/SaxParseInterface.h> #include <sax/SaxParseInterface.h>
#include <sax/ParserException.h> #include <sax/ParserException.h>
#include <tree/Tree.h> #include <tree/Tree.h>
#include <tree/ranked/RankedTree.h>
#include <tree/unranked/UnrankedTree.h>
   
int main(int argc, char** argv) { int main(int argc, char** argv) {
try { try {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment