From 97ce0a37f75da6e5f92cc22b4320fc11ca061c4c Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Thu, 14 Jun 2018 22:25:15 +0200 Subject: [PATCH] remove tree features --- alib2data/src/tree/TreeFeatures.h | 50 ------------------- alib2data/src/tree/ranked/PostfixRankedTree.h | 27 ++++++---- .../ranked/PrefixRankedBarNonlinearPattern.h | 35 +++++++------ .../src/tree/ranked/PrefixRankedBarPattern.h | 29 ++++++----- .../src/tree/ranked/PrefixRankedBarTree.h | 27 ++++++---- .../ranked/PrefixRankedNonlinearPattern.h | 35 +++++++------ .../src/tree/ranked/PrefixRankedPattern.h | 29 ++++++----- alib2data/src/tree/ranked/PrefixRankedTree.h | 25 ++++++---- .../src/tree/ranked/RankedNonlinearPattern.h | 27 ++++++---- alib2data/src/tree/ranked/RankedPattern.h | 27 ++++++---- alib2data/src/tree/ranked/RankedTree.h | 28 ++++++----- alib2data/src/tree/unranked/PrefixBarTree.h | 30 ++++++----- .../tree/unranked/UnrankedNonlinearPattern.h | 28 ++++++----- alib2data/src/tree/unranked/UnrankedPattern.h | 28 ++++++----- alib2data/src/tree/unranked/UnrankedTree.h | 28 ++++++----- 15 files changed, 234 insertions(+), 219 deletions(-) delete mode 100644 alib2data/src/tree/TreeFeatures.h diff --git a/alib2data/src/tree/TreeFeatures.h b/alib2data/src/tree/TreeFeatures.h deleted file mode 100644 index 28cbc533ea..0000000000 --- a/alib2data/src/tree/TreeFeatures.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * TreeFeatures.h - * - * Created on: Nov 16, 2014 - * Author: Stepan Plachy - */ - -#ifndef TREE_FEATURES_H_ -#define TREE_FEATURES_H_ - -#include <common/DefaultSymbolType.h> -#include <common/DefaultRankType.h> - -namespace tree { - -class Tree; -class TreeBase; - -template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > -class RankedTree; -template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > -class RankedPattern; -template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > -class RankedNonlinearPattern; -template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > -class PrefixRankedTree; -template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > -class PrefixRankedBarTree; -template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > -class PrefixRankedPattern; -template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > -class PrefixRankedNonlinearPattern; -template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > -class PrefixRankedBarPattern; -template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > -class PrefixRankedBarNonlinearPattern; -template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > -class PostfixRankedTree; -template < class SymbolType = DefaultSymbolType > -class UnrankedTree; -template < class SymbolType = DefaultSymbolType > -class UnrankedPattern; -template < class SymbolType = DefaultSymbolType > -class UnrankedNonlinearPattern; -template < class SymbolType = DefaultSymbolType > -class PrefixBarTree; - -} /* namespace tree */ - -#endif /* TREE_FEATURES_H_ */ diff --git a/alib2data/src/tree/ranked/PostfixRankedTree.h b/alib2data/src/tree/ranked/PostfixRankedTree.h index 1dc8e04963..5940556bbd 100644 --- a/alib2data/src/tree/ranked/PostfixRankedTree.h +++ b/alib2data/src/tree/ranked/PostfixRankedTree.h @@ -24,6 +24,16 @@ #ifndef POSTFIX_RANKED_TREE_H_ #define POSTFIX_RANKED_TREE_H_ +#include <common/DefaultSymbolType.h> +#include <common/DefaultRankType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > +class PostfixRankedTree; + +} /* namespace tree */ + #include <alib/set> #include <alib/vector> #include <alib/tree> @@ -35,16 +45,17 @@ #include <object/UniqueObject.h> #include <common/ranked_symbol.hpp> -#include "../TreeFeatures.h" -#include "../TreeException.h" -#include "../TreeBase.h" -#include "../common/TreeAuxiliary.h" -#include <tree/common/TreeNormalize.h> +#include <tree/TreeException.h> +#include <tree/TreeBase.h> +#include <tree/common/TreeAuxiliary.h> #include <core/normalize.hpp> +#include <tree/common/TreeNormalize.h> #include <string/LinearString.h> +#include "RankedTree.h" + namespace tree { class GeneralAlphabet; @@ -206,12 +217,6 @@ public: } }; -} /* namespace tree */ - -#include "RankedTree.h" - -namespace tree { - template < class SymbolType, class RankType > PostfixRankedTree < SymbolType, RankType >::PostfixRankedTree ( ext::set < common::ranked_symbol < SymbolType, RankType > > alphabet, ext::vector < common::ranked_symbol < SymbolType, RankType > > data ) : core::Components < PostfixRankedTree, ext::set < common::ranked_symbol < SymbolType, RankType > >, component::Set, GeneralAlphabet > ( std::move ( alphabet ) ) { setContent ( std::move ( data ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h b/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h index fbe4ea5311..51d97524a8 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h @@ -24,6 +24,16 @@ #ifndef PREFIX_RANKED_BAR_NONLINEAR_PATTERN_H_ #define PREFIX_RANKED_BAR_NONLINEAR_PATTERN_H_ +#include <common/DefaultSymbolType.h> +#include <common/DefaultRankType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > +class PrefixRankedBarNonlinearPattern; + +} /* namespace tree */ + #include <alib/set> #include <alib/vector> #include <alib/tree> @@ -35,20 +45,25 @@ #include <object/UniqueObject.h> #include <common/ranked_symbol.hpp> -#include "../TreeFeatures.h" -#include "../TreeException.h" -#include "../TreeBase.h" -#include "../common/TreeAuxiliary.h" -#include <tree/common/TreeNormalize.h> +#include <tree/TreeException.h> +#include <tree/TreeBase.h> +#include <tree/common/TreeAuxiliary.h> #include <alphabet/BarSymbol.h> #include <alphabet/VariablesBarSymbol.h> #include <alphabet/WildcardSymbol.h> #include <core/normalize.hpp> +#include <tree/common/TreeNormalize.h> #include <string/LinearString.h> +#include "PrefixRankedBarTree.h" +#include "PrefixRankedBarPattern.h" +#include "RankedTree.h" +#include "RankedPattern.h" +#include "RankedNonlinearPattern.h" + namespace tree { class GeneralAlphabet; @@ -374,16 +389,6 @@ public: } }; -} /* namespace tree */ - -#include "PrefixRankedBarTree.h" -#include "PrefixRankedBarPattern.h" -#include "RankedTree.h" -#include "RankedPattern.h" -#include "RankedNonlinearPattern.h" - -namespace tree { - template < class SymbolType, class RankType > PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( ext::set < common::ranked_symbol < SymbolType, RankType > > bars, common::ranked_symbol < SymbolType, RankType > variablesBar, common::ranked_symbol < SymbolType, RankType > subtreeWildcard, ext::set < common::ranked_symbol < SymbolType, RankType > > nonlinearVariables, ext::set < common::ranked_symbol < SymbolType, RankType > > alphabet, ext::vector < common::ranked_symbol < SymbolType, RankType > > data ) : core::Components < PrefixRankedBarNonlinearPattern, ext::set < common::ranked_symbol < SymbolType, RankType > >, component::Set, std::tuple < GeneralAlphabet, NonlinearAlphabet, BarSymbols >, common::ranked_symbol < SymbolType, RankType >, component::Value, std::tuple < SubtreeWildcard, VariablesBarSymbol > > ( std::move ( alphabet ), std::move ( nonlinearVariables ), std::move ( bars ), std::move ( subtreeWildcard ), std::move ( variablesBar ) ) { setContent ( std::move ( data ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h index 342800c38c..2290109be6 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h @@ -24,6 +24,16 @@ #ifndef PREFIX_RANKED_BAR_PATTERN_H_ #define PREFIX_RANKED_BAR_PATTERN_H_ +#include <common/DefaultSymbolType.h> +#include <common/DefaultRankType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > +class PrefixRankedBarPattern; + +} /* namespace tree */ + #include <alib/set> #include <alib/vector> #include <alib/tree> @@ -35,20 +45,22 @@ #include <object/UniqueObject.h> #include <common/ranked_symbol.hpp> -#include "../TreeFeatures.h" -#include "../TreeException.h" -#include "../TreeBase.h" -#include "../common/TreeAuxiliary.h" -#include <tree/common/TreeNormalize.h> +#include <tree/TreeException.h> +#include <tree/TreeBase.h> +#include <tree/common/TreeAuxiliary.h> #include <alphabet/BarSymbol.h> #include <alphabet/VariablesBarSymbol.h> #include <alphabet/WildcardSymbol.h> #include <core/normalize.hpp> +#include <tree/common/TreeNormalize.h> #include <string/LinearString.h> +#include "RankedPattern.h" +#include "PrefixRankedBarTree.h" + namespace tree { class GeneralAlphabet; @@ -303,13 +315,6 @@ public: } }; -} /* namespace tree */ - -#include "RankedPattern.h" -#include "PrefixRankedBarTree.h" - -namespace tree { - template < class SymbolType, class RankType > PrefixRankedBarPattern < SymbolType, RankType >::PrefixRankedBarPattern ( ext::set < common::ranked_symbol < SymbolType, RankType > > bars, common::ranked_symbol < SymbolType, RankType > variablesBar, common::ranked_symbol < SymbolType, RankType > subtreeWildcard, ext::set < common::ranked_symbol < SymbolType, RankType > > alphabet, ext::vector < common::ranked_symbol < SymbolType, RankType > > data ) : core::Components < PrefixRankedBarPattern, ext::set < common::ranked_symbol < SymbolType, RankType > >, component::Set, std::tuple < GeneralAlphabet, BarSymbols >, common::ranked_symbol < SymbolType, RankType >, component::Value, std::tuple < SubtreeWildcard, VariablesBarSymbol > > ( std::move ( alphabet ), std::move ( bars ), std::move ( subtreeWildcard ), std::move ( variablesBar ) ) { setContent ( std::move ( data ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedBarTree.h b/alib2data/src/tree/ranked/PrefixRankedBarTree.h index 8273f36475..e9b3080caa 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarTree.h +++ b/alib2data/src/tree/ranked/PrefixRankedBarTree.h @@ -24,6 +24,16 @@ #ifndef PREFIX_RANKED_BAR_TREE_H_ #define PREFIX_RANKED_BAR_TREE_H_ +#include <common/DefaultSymbolType.h> +#include <common/DefaultRankType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > +class PrefixRankedBarTree; + +} /* namespace tree */ + #include <alib/set> #include <alib/vector> #include <alib/tree> @@ -35,18 +45,19 @@ #include <object/UniqueObject.h> #include <common/ranked_symbol.hpp> -#include "../TreeFeatures.h" -#include "../TreeException.h" -#include "../TreeBase.h" -#include "../common/TreeAuxiliary.h" -#include <tree/common/TreeNormalize.h> +#include <tree/TreeException.h> +#include <tree/TreeBase.h> +#include <tree/common/TreeAuxiliary.h> #include <alphabet/BarSymbol.h> #include <core/normalize.hpp> +#include <tree/common/TreeNormalize.h> #include <string/LinearString.h> +#include "RankedTree.h" + namespace tree { class GeneralAlphabet; @@ -249,12 +260,6 @@ public: } }; -} /* namespace tree */ - -#include "RankedTree.h" - -namespace tree { - template < class SymbolType, class RankType > PrefixRankedBarTree < SymbolType, RankType >::PrefixRankedBarTree ( ext::set < common::ranked_symbol < SymbolType, RankType > > bars, ext::set < common::ranked_symbol < SymbolType, RankType > > alphabet, ext::vector < common::ranked_symbol < SymbolType, RankType > > data ) : core::Components < PrefixRankedBarTree, ext::set < common::ranked_symbol < SymbolType, RankType > >, component::Set, std::tuple < GeneralAlphabet, BarSymbols > > ( std::move ( alphabet ), std::move ( bars ) ) { setContent ( std::move ( data ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h b/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h index c9fc012a9a..762b8b5302 100644 --- a/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h @@ -24,6 +24,16 @@ #ifndef PREFIX_RANKED_NONLINEAR_PATTERN_H_ #define PREFIX_RANKED_NONLINEAR_PATTERN_H_ +#include <common/DefaultSymbolType.h> +#include <common/DefaultRankType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > +class PrefixRankedNonlinearPattern; + +} /* namespace tree */ + #include <alib/set> #include <alib/vector> #include <alib/tree> @@ -35,17 +45,22 @@ #include <object/UniqueObject.h> #include <common/ranked_symbol.hpp> -#include "../TreeFeatures.h" -#include "../TreeException.h" -#include "../TreeBase.h" -#include "../common/TreeAuxiliary.h" -#include <tree/common/TreeNormalize.h> +#include <tree/TreeException.h> +#include <tree/TreeBase.h> +#include <tree/common/TreeAuxiliary.h> #include <alphabet/WildcardSymbol.h> #include <core/normalize.hpp> #include <string/LinearString.h> +#include <tree/common/TreeNormalize.h> + +#include "PrefixRankedTree.h" +#include "PrefixRankedPattern.h" +#include "RankedTree.h" +#include "RankedPattern.h" +#include "RankedNonlinearPattern.h" namespace tree { @@ -288,16 +303,6 @@ public: } }; -} /* namespace tree */ - -#include "PrefixRankedTree.h" -#include "PrefixRankedPattern.h" -#include "RankedTree.h" -#include "RankedPattern.h" -#include "RankedNonlinearPattern.h" - -namespace tree { - template < class SymbolType, class RankType > PrefixRankedNonlinearPattern < SymbolType, RankType >::PrefixRankedNonlinearPattern ( common::ranked_symbol < SymbolType, RankType > subtreeWildcard, ext::set < common::ranked_symbol < SymbolType, RankType > > nonlinearVariables, ext::set < common::ranked_symbol < SymbolType, RankType > > alphabet, ext::vector < common::ranked_symbol < SymbolType, RankType > > data ) : core::Components < PrefixRankedNonlinearPattern, ext::set < common::ranked_symbol < SymbolType, RankType > >, component::Set, std::tuple < GeneralAlphabet, NonlinearAlphabet >, common::ranked_symbol < SymbolType, RankType >, component::Value, SubtreeWildcard > ( std::move ( alphabet ), std::move ( nonlinearVariables ), std::move ( subtreeWildcard ) ) { setContent ( std::move ( data ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedPattern.h b/alib2data/src/tree/ranked/PrefixRankedPattern.h index 4336b3c93a..dac0854400 100644 --- a/alib2data/src/tree/ranked/PrefixRankedPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedPattern.h @@ -24,6 +24,16 @@ #ifndef PREFIX_RANKED_PATTERN_H_ #define PREFIX_RANKED_PATTERN_H_ +#include <common/DefaultSymbolType.h> +#include <common/DefaultRankType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > +class PrefixRankedPattern; + +} /* namespace tree */ + #include <alib/set> #include <alib/vector> #include <alib/tree> @@ -35,18 +45,20 @@ #include <object/UniqueObject.h> #include <common/ranked_symbol.hpp> -#include "../TreeFeatures.h" -#include "../TreeException.h" -#include "../TreeBase.h" -#include "../common/TreeAuxiliary.h" -#include <tree/common/TreeNormalize.h> +#include <tree/TreeException.h> +#include <tree/TreeBase.h> +#include <tree/common/TreeAuxiliary.h> #include <alphabet/WildcardSymbol.h> #include <core/normalize.hpp> +#include <tree/common/TreeNormalize.h> #include <string/LinearString.h> +#include "RankedPattern.h" +#include "PrefixRankedTree.h" + namespace tree { class GeneralAlphabet; @@ -237,13 +249,6 @@ public: } }; -} /* namespace tree */ - -#include "RankedPattern.h" -#include "PrefixRankedTree.h" - -namespace tree { - template < class SymbolType, class RankType > PrefixRankedPattern < SymbolType, RankType >::PrefixRankedPattern ( common::ranked_symbol < SymbolType, RankType > subtreeWildcard, ext::set < common::ranked_symbol < SymbolType, RankType > > alphabet, ext::vector < common::ranked_symbol < SymbolType, RankType > > data ) : core::Components < PrefixRankedPattern, ext::set < common::ranked_symbol < SymbolType, RankType > >, component::Set, GeneralAlphabet, common::ranked_symbol < SymbolType, RankType >, component::Value, SubtreeWildcard > ( std::move ( alphabet ), std::move ( subtreeWildcard ) ) { setContent ( std::move ( data ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedTree.h b/alib2data/src/tree/ranked/PrefixRankedTree.h index a53b660469..be4c8fdcf2 100644 --- a/alib2data/src/tree/ranked/PrefixRankedTree.h +++ b/alib2data/src/tree/ranked/PrefixRankedTree.h @@ -24,6 +24,16 @@ #ifndef PREFIX_RANKED_TREE_H_ #define PREFIX_RANKED_TREE_H_ +#include <common/DefaultSymbolType.h> +#include <common/DefaultRankType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > +class PrefixRankedTree; + +} /* namespace tree */ + #include <alib/set> #include <alib/vector> #include <alib/tree> @@ -35,15 +45,16 @@ #include <object/UniqueObject.h> #include <common/ranked_symbol.hpp> -#include "../TreeFeatures.h" -#include "../TreeException.h" -#include "../TreeBase.h" -#include <tree/common/TreeNormalize.h> +#include <tree/TreeException.h> +#include <tree/TreeBase.h> #include <core/normalize.hpp> +#include <tree/common/TreeNormalize.h> #include <string/LinearString.h> +#include "RankedTree.h" + namespace tree { class GeneralAlphabet; @@ -212,12 +223,6 @@ public: } }; -} /* namespace tree */ - -#include "RankedTree.h" - -namespace tree { - template < class SymbolType, class RankType > PrefixRankedTree < SymbolType, RankType >::PrefixRankedTree ( ext::set < common::ranked_symbol < SymbolType, RankType > > alphabet, ext::vector < common::ranked_symbol < SymbolType, RankType > > data ) : core::Components < PrefixRankedTree, ext::set < common::ranked_symbol < SymbolType, RankType > >, component::Set, GeneralAlphabet > ( std::move ( alphabet ) ) { setContent ( std::move ( data ) ); diff --git a/alib2data/src/tree/ranked/RankedNonlinearPattern.h b/alib2data/src/tree/ranked/RankedNonlinearPattern.h index 85e7b80cbf..8280c0ae2b 100644 --- a/alib2data/src/tree/ranked/RankedNonlinearPattern.h +++ b/alib2data/src/tree/ranked/RankedNonlinearPattern.h @@ -24,6 +24,16 @@ #ifndef RANKED_NONLINEAR_PATTERN_H_ #define RANKED_NONLINEAR_PATTERN_H_ +#include <common/DefaultSymbolType.h> +#include <common/DefaultRankType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > +class RankedNonlinearPattern; + +} /* namespace tree */ + #include <alib/string> #include <alib/set> #include <alib/tree> @@ -35,13 +45,14 @@ #include <object/UniqueObject.h> #include <common/ranked_symbol.hpp> -#include "../TreeFeatures.h" -#include "../TreeException.h" -#include "../TreeBase.h" -#include "../common/TreeAuxiliary.h" -#include <tree/common/TreeNormalize.h> +#include <tree/TreeException.h> +#include <tree/TreeBase.h> +#include <tree/common/TreeAuxiliary.h> #include <core/normalize.hpp> +#include <tree/common/TreeNormalize.h> + +#include "../unranked/UnrankedNonlinearPattern.h" namespace tree { @@ -260,12 +271,6 @@ public: void nicePrint ( std::ostream & os ) const; }; -} /* namespace tree */ - -#include "../unranked/UnrankedNonlinearPattern.h" - -namespace tree { - template < class SymbolType, class RankType > RankedNonlinearPattern < SymbolType, RankType >::RankedNonlinearPattern ( common::ranked_symbol < SymbolType, RankType > subtreeWildcard, ext::set < common::ranked_symbol < SymbolType, RankType > > nonlinearVariables, ext::set < common::ranked_symbol < SymbolType, RankType > > alphabet, ext::tree < common::ranked_symbol < SymbolType, RankType > > pattern ) : core::Components < RankedNonlinearPattern, ext::set < common::ranked_symbol < SymbolType, RankType > >, component::Set, std::tuple < GeneralAlphabet, NonlinearAlphabet >, common::ranked_symbol < SymbolType, RankType >, component::Value, SubtreeWildcard > ( std::move ( alphabet ), std::move ( nonlinearVariables ), std::move ( subtreeWildcard ) ), m_content ( std::move ( pattern ) ) { checkAlphabet ( m_content ); diff --git a/alib2data/src/tree/ranked/RankedPattern.h b/alib2data/src/tree/ranked/RankedPattern.h index 20cf26a314..46d6c27d29 100644 --- a/alib2data/src/tree/ranked/RankedPattern.h +++ b/alib2data/src/tree/ranked/RankedPattern.h @@ -24,6 +24,16 @@ #ifndef RANKED_PATTERN_H_ #define RANKED_PATTERN_H_ +#include <common/DefaultSymbolType.h> +#include <common/DefaultRankType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > +class RankedPattern; + +} /* namespace tree */ + #include <alib/string> #include <alib/set> #include <alib/tree> @@ -35,13 +45,14 @@ #include <object/UniqueObject.h> #include <common/ranked_symbol.hpp> -#include "../TreeFeatures.h" -#include "../TreeException.h" -#include "../TreeBase.h" -#include "../common/TreeAuxiliary.h" -#include <tree/common/TreeNormalize.h> +#include <tree/TreeException.h> +#include <tree/TreeBase.h> +#include <tree/common/TreeAuxiliary.h> #include <core/normalize.hpp> +#include <tree/common/TreeNormalize.h> + +#include "../unranked/UnrankedPattern.h" namespace tree { @@ -230,12 +241,6 @@ public: void nicePrint ( std::ostream & os ) const; }; -} /* namespace tree */ - -#include "../unranked/UnrankedPattern.h" - -namespace tree { - template < class SymbolType, class RankType > RankedPattern < SymbolType, RankType >::RankedPattern ( common::ranked_symbol < SymbolType, RankType > subtreeWildcard, ext::set < common::ranked_symbol < SymbolType, RankType > > alphabet, ext::tree < common::ranked_symbol < SymbolType, RankType > > pattern ) : core::Components < RankedPattern, ext::set < common::ranked_symbol < SymbolType, RankType > >, component::Set, GeneralAlphabet, common::ranked_symbol < SymbolType, RankType >, component::Value, SubtreeWildcard > ( std::move ( alphabet ), std::move ( subtreeWildcard ) ), m_content ( std::move ( pattern ) ) { checkAlphabet ( m_content ); diff --git a/alib2data/src/tree/ranked/RankedTree.h b/alib2data/src/tree/ranked/RankedTree.h index f9a09bc1c3..3e211ba48f 100644 --- a/alib2data/src/tree/ranked/RankedTree.h +++ b/alib2data/src/tree/ranked/RankedTree.h @@ -24,6 +24,16 @@ #ifndef RANKED_TREE_H_ #define RANKED_TREE_H_ +#include <common/DefaultSymbolType.h> +#include <common/DefaultRankType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType, class RankType = DefaultRankType > +class RankedTree; + +} /* namespace tree */ + #include <alib/string> #include <alib/set> #include <alib/tree> @@ -35,14 +45,15 @@ #include <object/UniqueObject.h> #include <common/ranked_symbol.hpp> -#include "../TreeFeatures.h" -#include "../TreeBase.h" -#include "../TreeException.h" -#include "../common/TreeAuxiliary.h" +#include <tree/TreeBase.h> +#include <tree/TreeException.h> +#include <tree/common/TreeAuxiliary.h> +#include <core/normalize.hpp> #include <tree/common/TreeNormalize.h> -#include <core/normalize.hpp> +#include "../unranked/UnrankedTree.h" +#include "PostfixRankedTree.h" namespace tree { @@ -216,13 +227,6 @@ public: void nicePrint ( std::ostream & os ) const; }; -} /* namespace tree */ - -#include "../unranked/UnrankedTree.h" -#include "PostfixRankedTree.h" - -namespace tree { - template < class SymbolType, class RankType > RankedTree < SymbolType, RankType >::RankedTree ( ext::set < common::ranked_symbol < SymbolType, RankType > > alphabet, ext::tree < common::ranked_symbol < SymbolType, RankType > > tree ) : core::Components < RankedTree, ext::set < common::ranked_symbol < SymbolType, RankType > >, component::Set, GeneralAlphabet > ( std::move ( alphabet ) ), m_content ( std::move ( tree ) ) { checkAlphabet ( m_content ); diff --git a/alib2data/src/tree/unranked/PrefixBarTree.h b/alib2data/src/tree/unranked/PrefixBarTree.h index f1c803cb02..38ed95cf4f 100644 --- a/alib2data/src/tree/unranked/PrefixBarTree.h +++ b/alib2data/src/tree/unranked/PrefixBarTree.h @@ -24,6 +24,15 @@ #ifndef PREFIX_BAR_TREE_H_ #define PREFIX_BAR_TREE_H_ +#include <common/DefaultSymbolType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType > +class PrefixBarTree; + +} /* namespace tree */ + #include <sstream> #include <alib/algorithm> #include <alib/deque> @@ -34,15 +43,16 @@ #include <core/components.hpp> #include <object/UniqueObject.h> -#include "../TreeFeatures.h" -#include "../TreeBase.h" -#include "../TreeException.h" -#include "../common/TreeAuxiliary.h" -#include <tree/common/TreeNormalize.h> - #include <alphabet/BarSymbol.h> +#include <tree/TreeBase.h> +#include <tree/TreeException.h> +#include <tree/common/TreeAuxiliary.h> + #include <core/normalize.hpp> +#include <tree/common/TreeNormalize.h> + +#include "UnrankedTree.h" #include <string/LinearString.h> @@ -58,7 +68,7 @@ class BarSymbol; * The bars represent end mark of all subtrees in the notation. * * \details - * T = (A, B \in A, C), + * T = ( A, B \in A, C ), * A (Alphabet) = finite set of unranked symbols, * B (Bar) = unranked symbol representing bar, * C (Content) = linear representation of the tree content @@ -238,12 +248,6 @@ public: } }; -} /* namespace tree */ - -#include "UnrankedTree.h" - -namespace tree { - template < class SymbolType > PrefixBarTree < SymbolType >::PrefixBarTree ( SymbolType bar, ext::set < SymbolType > alphabet, ext::vector < SymbolType > data ) : core::Components < PrefixBarTree, ext::set < SymbolType >, component::Set, GeneralAlphabet, SymbolType, component::Value, BarSymbol > ( std::move ( alphabet ), std::move ( bar ) ) { setContent ( std::move ( data ) ); diff --git a/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h b/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h index 7321f6db9b..26604dc827 100644 --- a/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h +++ b/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h @@ -24,6 +24,15 @@ #ifndef UNRANKED_NONLINEAR_PATTERN_H_ #define UNRANKED_NONLINEAR_PATTERN_H_ +#include <common/DefaultSymbolType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType > +class UnrankedNonlinearPattern; + +} /* namespace tree */ + #include <alib/string> #include <alib/set> #include <alib/tree> @@ -34,13 +43,14 @@ #include <core/components.hpp> #include <object/UniqueObject.h> -#include "../TreeFeatures.h" -#include "../TreeException.h" -#include "../TreeBase.h" -#include "../common/TreeAuxiliary.h" -#include <tree/common/TreeNormalize.h> +#include <tree/TreeBase.h> +#include <tree/TreeException.h> +#include <tree/common/TreeAuxiliary.h> #include <core/normalize.hpp> +#include <tree/common/TreeNormalize.h> + +#include <tree/ranked/RankedNonlinearPattern.h> namespace tree { @@ -53,7 +63,7 @@ class NonlinearAlphabet; * Nonlinear tree pattern represented in its natural representation. The representation is so called unranked, therefore it consists of unranked symbols. Additionally the pattern contains a special wildcard symbol representing any subtree and nonlinear variables each to represent same subtree (in the particular occurrence in a tree). * * \details - * T = (A, C, W \in ( A \minus B ), V \in ( A \minus B) ), + * T = ( A, C, W \in A, V \in A ), * A (Alphabet) = finite set of symbols, * C (Content) = pattern in its natural representation * W (Wildcard) = special symbol representing any subtree @@ -250,12 +260,6 @@ public: void nicePrint ( std::ostream & os ) const; }; -} /* namespace tree */ - -#include "../ranked/RankedNonlinearPattern.h" - -namespace tree { - template < class SymbolType > UnrankedNonlinearPattern < SymbolType >::UnrankedNonlinearPattern ( SymbolType subtreeWildcard, ext::set < SymbolType > nonlinearVariables, ext::set < SymbolType > alphabet, ext::tree < SymbolType > pattern ) : core::Components < UnrankedNonlinearPattern, ext::set < SymbolType >, component::Set, std::tuple < GeneralAlphabet, NonlinearAlphabet >, SymbolType, component::Value, SubtreeWildcard > ( std::move ( alphabet ), std::move ( nonlinearVariables ), std::move ( subtreeWildcard ) ), m_content ( std::move ( pattern ) ) { checkAlphabet ( m_content ); diff --git a/alib2data/src/tree/unranked/UnrankedPattern.h b/alib2data/src/tree/unranked/UnrankedPattern.h index 1fd8290864..cf2995cb9f 100644 --- a/alib2data/src/tree/unranked/UnrankedPattern.h +++ b/alib2data/src/tree/unranked/UnrankedPattern.h @@ -24,6 +24,15 @@ #ifndef UNRANKED_PATTERN_H_ #define UNRANKED_PATTERN_H_ +#include <common/DefaultSymbolType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType > +class UnrankedPattern; + +} /* namespace tree */ + #include <alib/string> #include <alib/set> #include <alib/tree> @@ -34,13 +43,14 @@ #include <core/components.hpp> #include <object/UniqueObject.h> -#include "../TreeFeatures.h" -#include "../TreeException.h" -#include "../TreeBase.h" -#include "../common/TreeAuxiliary.h" -#include <tree/common/TreeNormalize.h> +#include <tree/TreeBase.h> +#include <tree/TreeException.h> +#include <tree/common/TreeAuxiliary.h> #include <core/normalize.hpp> +#include <tree/common/TreeNormalize.h> + +#include "../ranked/RankedPattern.h" namespace tree { @@ -52,7 +62,7 @@ class SubtreeWildcard; * Tree pattern represented in its natural representation. The representation is so called unranked, therefore it consists of unranked symbols. Additionally the pattern contains a special wildcard symbol representing any subtree and nonlinear variables each to represent same subtree (in the particular occurrence in a tree). * * \details - * T = (A, C, W \in ( A \minus B ), V \in ( A \minus B) ), + * T = ( A, C, W \in A, V \in A ), * A (Alphabet) = finite set of symbols, * C (Content) = pattern in its natural representation * W (Wildcard) = special symbol representing any subtree @@ -221,12 +231,6 @@ public: void nicePrint ( std::ostream & os ) const; }; -} /* namespace tree */ - -#include "../ranked/RankedPattern.h" - -namespace tree { - template < class SymbolType > UnrankedPattern < SymbolType >::UnrankedPattern ( SymbolType subtreeWildcard, ext::set < SymbolType > alphabet, ext::tree < SymbolType > pattern ) : core::Components < UnrankedPattern, ext::set < SymbolType >, component::Set, GeneralAlphabet, SymbolType, component::Value, SubtreeWildcard > ( std::move ( alphabet ), std::move ( subtreeWildcard ) ), m_content ( std::move ( pattern ) ) { checkAlphabet ( m_content ); diff --git a/alib2data/src/tree/unranked/UnrankedTree.h b/alib2data/src/tree/unranked/UnrankedTree.h index 35c77d48d6..86c3c9b6c9 100644 --- a/alib2data/src/tree/unranked/UnrankedTree.h +++ b/alib2data/src/tree/unranked/UnrankedTree.h @@ -24,6 +24,15 @@ #ifndef UNRANKED_TREE_H_ #define UNRANKED_TREE_H_ +#include <common/DefaultSymbolType.h> + +namespace tree { + +template < class SymbolType = DefaultSymbolType > +class UnrankedTree; + +} /* namespace tree */ + #include <alib/string> #include <alib/set> #include <alib/tree> @@ -34,13 +43,14 @@ #include <core/components.hpp> #include <object/UniqueObject.h> -#include "../TreeFeatures.h" -#include "../TreeBase.h" -#include "../TreeException.h" -#include "../common/TreeAuxiliary.h" -#include <tree/common/TreeNormalize.h> +#include <tree/TreeBase.h> +#include <tree/TreeException.h> +#include <tree/common/TreeAuxiliary.h> #include <core/normalize.hpp> +#include <tree/common/TreeNormalize.h> + +#include "../ranked/RankedTree.h" namespace tree { @@ -51,7 +61,7 @@ class GeneralAlphabet; * Tree pattern represented in its natural representation. The representation is so called unranked, therefore it consists of unranked symbols. Additionally the pattern contains a special wildcard symbol representing any subtree and nonlinear variables each to represent same subtree (in the particular occurrence in a tree). * * \details - * T = (A, C, W \in ( A \minus B ) ), + * T = ( A, C, W \in A ), * A (Alphabet) = finite set of symbols, * C (Content) = pattern in its natural representation * W (Wildcard) = special symbol representing any subtree @@ -199,12 +209,6 @@ public: void nicePrint ( std::ostream & os ) const; }; -} /* namespace tree */ - -#include "../ranked/RankedTree.h" - -namespace tree { - template < class SymbolType > UnrankedTree < SymbolType >::UnrankedTree ( ext::set < SymbolType > alphabet, ext::tree < SymbolType > tree ) : core::Components < UnrankedTree, ext::set < SymbolType >, component::Set, GeneralAlphabet > ( std::move ( alphabet ) ), m_content ( std::move ( tree ) ) { checkAlphabet ( m_content ); -- GitLab