diff --git a/alib2data/src/string/CyclicString.h b/alib2data/src/string/CyclicString.h index 24453302eeab995d48da681a8b62f6cdb702a836..513da9e8e0514e191109a1ed2d033f004a5be17c 100644 --- a/alib2data/src/string/CyclicString.h +++ b/alib2data/src/string/CyclicString.h @@ -42,7 +42,7 @@ public: explicit CyclicString ( std::vector < SymbolType > str ); explicit CyclicString ( const std::string & str ); explicit CyclicString ( const char * str ); - explicit CyclicString ( const Epsilon < > & epsilon ); + explicit CyclicString ( const Epsilon < SymbolType > & epsilon ); virtual StringBase * clone ( ) const; virtual StringBase * plunder ( ) &&; @@ -120,7 +120,7 @@ CyclicString < SymbolType >::CyclicString(const char* str) : CyclicString((std:: } template < class SymbolType > -CyclicString < SymbolType >::CyclicString(const Epsilon < > & epsilon) : CyclicString ( epsilon.getAlphabet( ), std::vector < SymbolType > ( ) ) { +CyclicString < SymbolType >::CyclicString(const Epsilon < SymbolType > & epsilon) : CyclicString ( epsilon.getAlphabet( ), std::vector < SymbolType > ( ) ) { } template < class SymbolType > diff --git a/alib2data/src/string/LinearString.h b/alib2data/src/string/LinearString.h index c76babddb4f3571bb6e40d2944e86065346c0e51..e8e7557443181a2935cb5ac9cab98cc3cb6847da 100644 --- a/alib2data/src/string/LinearString.h +++ b/alib2data/src/string/LinearString.h @@ -51,7 +51,7 @@ public: explicit LinearString ( std::vector < SymbolType > str ); explicit LinearString ( const std::string & str ); explicit LinearString ( const char * str ); - explicit LinearString ( const Epsilon < > & epsilon ); + explicit LinearString ( const Epsilon < SymbolType > & epsilon ); virtual StringBase * clone ( ) const; virtual StringBase * plunder ( ) &&; @@ -142,7 +142,7 @@ LinearString < SymbolType >::LinearString(const char* str) : LinearString ( ( st } template < class SymbolType > -LinearString < SymbolType >::LinearString(const Epsilon < > & epsilon) : LinearString ( epsilon.getAlphabet( ), std::vector < SymbolType > ( ) ) { +LinearString < SymbolType >::LinearString(const Epsilon < SymbolType > & epsilon) : LinearString ( epsilon.getAlphabet( ), std::vector < SymbolType > ( ) ) { } template < class SymbolType > diff --git a/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h b/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h index 516475868bba28dd608956cdbd9d62ab44252f11..7ab57a38e113877d45d71dc99ecd64daa32821db 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h @@ -53,14 +53,14 @@ public: explicit PrefixRankedBarNonlinearPattern ( std::set < std::ranked_symbol < SymbolType, RankType > > bar, std::ranked_symbol < SymbolType, RankType > variablesBar, std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::set < std::ranked_symbol < SymbolType, RankType > > nonlinearVariables, std::set < std::ranked_symbol < SymbolType, RankType > > alphabet, std::vector < std::ranked_symbol < SymbolType, RankType > > data ); explicit PrefixRankedBarNonlinearPattern ( std::set < std::ranked_symbol < SymbolType, RankType > > bar, std::ranked_symbol < SymbolType, RankType > variablesBar, std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::set < std::ranked_symbol < SymbolType, RankType > > nonlinearVariables, std::vector < std::ranked_symbol < SymbolType, RankType > > data ); explicit PrefixRankedBarNonlinearPattern ( std::set < std::ranked_symbol < SymbolType, RankType > > bar, std::ranked_symbol < SymbolType, RankType > variablesBar, std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::vector < std::ranked_symbol < SymbolType, RankType > > data ); - explicit PrefixRankedBarNonlinearPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedTree < > & tree ); - explicit PrefixRankedBarNonlinearPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedPattern < > & tree ); - explicit PrefixRankedBarNonlinearPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedNonlinearPattern < > & tree ); - explicit PrefixRankedBarNonlinearPattern ( const PrefixRankedBarTree < > & tree ); - explicit PrefixRankedBarNonlinearPattern ( const PrefixRankedBarPattern < > & tree ); - explicit PrefixRankedBarNonlinearPattern ( const RankedTree < > & tree ); - explicit PrefixRankedBarNonlinearPattern ( const RankedPattern < > & tree ); - explicit PrefixRankedBarNonlinearPattern ( const RankedNonlinearPattern < > & tree ); + explicit PrefixRankedBarNonlinearPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedTree < SymbolType, RankType > & tree ); + explicit PrefixRankedBarNonlinearPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedPattern < SymbolType, RankType > & tree ); + explicit PrefixRankedBarNonlinearPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedNonlinearPattern < SymbolType, RankType > & tree ); + explicit PrefixRankedBarNonlinearPattern ( const PrefixRankedBarTree < SymbolType, RankType > & tree ); + explicit PrefixRankedBarNonlinearPattern ( const PrefixRankedBarPattern < SymbolType, RankType > & tree ); + explicit PrefixRankedBarNonlinearPattern ( const RankedTree < SymbolType, RankType > & tree ); + explicit PrefixRankedBarNonlinearPattern ( const RankedPattern < SymbolType, RankType > & tree ); + explicit PrefixRankedBarNonlinearPattern ( const RankedNonlinearPattern < SymbolType, RankType > & tree ); virtual RankedTreeBase * clone ( ) const; virtual RankedTreeBase * plunder ( ) &&; @@ -148,35 +148,35 @@ PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonline } template < class SymbolType, class RankType > -PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedTree < > & tree ) : PrefixRankedBarNonlinearPattern ( TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar }, variablesBar, alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), { }, tree.getAlphabet ( ) + TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar, alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ) }, toPrefixRankedBar ( tree.getContent ( ), alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), { }, barBase, variablesBar ) ) { +PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedTree < SymbolType, RankType > & tree ) : PrefixRankedBarNonlinearPattern ( TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar }, variablesBar, alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), { }, tree.getAlphabet ( ) + TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar, alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ) }, toPrefixRankedBar ( tree.getContent ( ), alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), { }, barBase, variablesBar ) ) { } template < class SymbolType, class RankType > -PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedPattern < > & tree ) : PrefixRankedBarNonlinearPattern ( TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar }, variablesBar, tree.getSubtreeWildcard ( ), { }, tree.getAlphabet ( ) + TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar, tree.getSubtreeWildcard ( ) }, toPrefixRankedBar ( tree.getContent ( ), tree.getSubtreeWildcard ( ), { }, barBase, variablesBar ) ) { +PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedPattern < SymbolType, RankType > & tree ) : PrefixRankedBarNonlinearPattern ( TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar }, variablesBar, tree.getSubtreeWildcard ( ), { }, tree.getAlphabet ( ) + TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar, tree.getSubtreeWildcard ( ) }, toPrefixRankedBar ( tree.getContent ( ), tree.getSubtreeWildcard ( ), { }, barBase, variablesBar ) ) { } template < class SymbolType, class RankType > -PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedNonlinearPattern < > & tree ) : PrefixRankedBarNonlinearPattern ( TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar }, variablesBar, tree.getSubtreeWildcard ( ), tree.getNonlinearVariables ( ), tree.getAlphabet ( ) + TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar, tree.getSubtreeWildcard ( ) } + tree.getNonlinearVariables ( ), toPrefixRankedBar ( tree.getContent ( ), tree.getSubtreeWildcard ( ), tree.getNonlinearVariables ( ), barBase, variablesBar ) ) { +PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedNonlinearPattern < SymbolType, RankType > & tree ) : PrefixRankedBarNonlinearPattern ( TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar }, variablesBar, tree.getSubtreeWildcard ( ), tree.getNonlinearVariables ( ), tree.getAlphabet ( ) + TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar, tree.getSubtreeWildcard ( ) } + tree.getNonlinearVariables ( ), toPrefixRankedBar ( tree.getContent ( ), tree.getSubtreeWildcard ( ), tree.getNonlinearVariables ( ), barBase, variablesBar ) ) { } template < class SymbolType, class RankType > -PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( const PrefixRankedBarTree < > & tree ) : PrefixRankedBarNonlinearPattern ( tree.getBars ( ) + std::set < std::ranked_symbol < SymbolType, RankType > > { alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ) }, alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), { }, tree.getAlphabet ( ) + std::set < std::ranked_symbol < SymbolType, RankType > > { alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ) }, tree.getContent ( ) ) { +PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( const PrefixRankedBarTree < SymbolType, RankType > & tree ) : PrefixRankedBarNonlinearPattern ( tree.getBars ( ) + std::set < std::ranked_symbol < SymbolType, RankType > > { alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ) }, alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), { }, tree.getAlphabet ( ) + std::set < std::ranked_symbol < SymbolType, RankType > > { alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ) }, tree.getContent ( ) ) { } template < class SymbolType, class RankType > -PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( const PrefixRankedBarPattern < > & tree ) : PrefixRankedBarNonlinearPattern ( tree.getBars ( ), tree.getVariablesBar ( ), tree.getSubtreeWildcard ( ), { }, tree.getAlphabet ( ), tree.getContent ( ) ) { +PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( const PrefixRankedBarPattern < SymbolType, RankType > & tree ) : PrefixRankedBarNonlinearPattern ( tree.getBars ( ), tree.getVariablesBar ( ), tree.getSubtreeWildcard ( ), { }, tree.getAlphabet ( ), tree.getContent ( ) ) { } template < class SymbolType, class RankType > -PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( const RankedTree < > & tree ) : PrefixRankedBarNonlinearPattern ( alphabet::BarSymbol::instance < SymbolType > ( ), alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), tree ) { +PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( const RankedTree < SymbolType, RankType > & tree ) : PrefixRankedBarNonlinearPattern ( alphabet::BarSymbol::instance < SymbolType > ( ), alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), tree ) { } template < class SymbolType, class RankType > -PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( const RankedPattern < > & tree ) : PrefixRankedBarNonlinearPattern ( alphabet::BarSymbol::instance < SymbolType > ( ), alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), tree ) { +PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( const RankedPattern < SymbolType, RankType > & tree ) : PrefixRankedBarNonlinearPattern ( alphabet::BarSymbol::instance < SymbolType > ( ), alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), tree ) { } template < class SymbolType, class RankType > -PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( const RankedNonlinearPattern < > & tree ) : PrefixRankedBarNonlinearPattern ( alphabet::BarSymbol::instance < SymbolType > ( ), alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), tree ) { +PrefixRankedBarNonlinearPattern < SymbolType, RankType >::PrefixRankedBarNonlinearPattern ( const RankedNonlinearPattern < SymbolType, RankType > & tree ) : PrefixRankedBarNonlinearPattern ( alphabet::BarSymbol::instance < SymbolType > ( ), alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), tree ) { } template < class SymbolType, class RankType > diff --git a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h index e27476deed6e1d5b89692d728f8f307b547d47d9..3e5d3e25bf9f676879f390482b0bd5297ff06135 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h @@ -51,9 +51,9 @@ class PrefixRankedBarPattern : public RankedTreeBase, public std::Components < P public: explicit PrefixRankedBarPattern ( std::set < std::ranked_symbol < SymbolType, RankType > > bar, std::ranked_symbol < SymbolType, RankType > variablesBar, std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::set < std::ranked_symbol < SymbolType, RankType > > alphabet, std::vector < std::ranked_symbol < SymbolType, RankType > > data ); explicit PrefixRankedBarPattern ( std::set < std::ranked_symbol < SymbolType, RankType > > bar, std::ranked_symbol < SymbolType, RankType > variablesBar, std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::vector < std::ranked_symbol < SymbolType, RankType > > data ); - explicit PrefixRankedBarPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedPattern < > & tree ); - explicit PrefixRankedBarPattern ( const PrefixRankedBarTree < > & tree ); - explicit PrefixRankedBarPattern ( const RankedPattern < > & tree ); + explicit PrefixRankedBarPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedPattern < SymbolType, RankType > & tree ); + explicit PrefixRankedBarPattern ( const PrefixRankedBarTree < SymbolType, RankType > & tree ); + explicit PrefixRankedBarPattern ( const RankedPattern < SymbolType, RankType > & tree ); virtual RankedTreeBase * clone ( ) const; virtual RankedTreeBase * plunder ( ) &&; @@ -134,15 +134,15 @@ PrefixRankedBarPattern < SymbolType, RankType >::PrefixRankedBarPattern ( std::s } template < class SymbolType, class RankType > -PrefixRankedBarPattern < SymbolType, RankType >::PrefixRankedBarPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedPattern < > & tree ) : PrefixRankedBarPattern ( TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar }, variablesBar, tree.getSubtreeWildcard ( ), tree.getAlphabet ( ) + TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar, tree.getSubtreeWildcard ( ) }, toPrefixRankedBar ( tree.getContent ( ), tree.getSubtreeWildcard ( ), barBase, variablesBar ) ) { +PrefixRankedBarPattern < SymbolType, RankType >::PrefixRankedBarPattern ( SymbolType barBase, std::ranked_symbol < SymbolType, RankType > variablesBar, const RankedPattern < SymbolType, RankType > & tree ) : PrefixRankedBarPattern ( TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar }, variablesBar, tree.getSubtreeWildcard ( ), tree.getAlphabet ( ) + TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ) + std::set < std::ranked_symbol < SymbolType, RankType > > { variablesBar, tree.getSubtreeWildcard ( ) }, toPrefixRankedBar ( tree.getContent ( ), tree.getSubtreeWildcard ( ), barBase, variablesBar ) ) { } template < class SymbolType, class RankType > -PrefixRankedBarPattern < SymbolType, RankType >::PrefixRankedBarPattern ( const PrefixRankedBarTree < > & tree ) : PrefixRankedBarPattern ( tree.getBars() + std::set < std::ranked_symbol < SymbolType, RankType > > { alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ) }, alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), tree.getAlphabet ( ) + std::set < std::ranked_symbol < SymbolType, RankType > > { alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ) }, tree.getContent ( ) ) { +PrefixRankedBarPattern < SymbolType, RankType >::PrefixRankedBarPattern ( const PrefixRankedBarTree < SymbolType, RankType > & tree ) : PrefixRankedBarPattern ( tree.getBars() + std::set < std::ranked_symbol < SymbolType, RankType > > { alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ) }, alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), tree.getAlphabet ( ) + std::set < std::ranked_symbol < SymbolType, RankType > > { alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ) }, tree.getContent ( ) ) { } template < class SymbolType, class RankType > -PrefixRankedBarPattern < SymbolType, RankType >::PrefixRankedBarPattern ( const RankedPattern < > & tree ) : PrefixRankedBarPattern ( alphabet::BarSymbol::instance < SymbolType > ( ), alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), tree ) { +PrefixRankedBarPattern < SymbolType, RankType >::PrefixRankedBarPattern ( const RankedPattern < SymbolType, RankType > & tree ) : PrefixRankedBarPattern ( alphabet::BarSymbol::instance < SymbolType > ( ), alphabet::VariablesBarSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), tree ) { } template < class SymbolType, class RankType > diff --git a/alib2data/src/tree/ranked/PrefixRankedBarTree.h b/alib2data/src/tree/ranked/PrefixRankedBarTree.h index 58b1b2a67d6405cf759fccda86cbbadbc1ce52cf..6b560bf189ef5aa7e6efe023df2ed2aca8d2cb29 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarTree.h +++ b/alib2data/src/tree/ranked/PrefixRankedBarTree.h @@ -47,7 +47,7 @@ class PrefixRankedBarTree : public RankedTreeBase, public std::Components < Pref public: explicit PrefixRankedBarTree ( std::set < std::ranked_symbol < SymbolType, RankType > > bars, std::set < std::ranked_symbol < SymbolType, RankType > > alphabet, std::vector < std::ranked_symbol < SymbolType, RankType > > data ); explicit PrefixRankedBarTree ( std::set < std::ranked_symbol < SymbolType, RankType > > bars, std::vector < std::ranked_symbol < SymbolType, RankType > > data ); - explicit PrefixRankedBarTree ( SymbolType barBase, const RankedTree < > & tree ); + explicit PrefixRankedBarTree ( SymbolType barBase, const RankedTree < SymbolType, RankType > & tree ); explicit PrefixRankedBarTree ( const RankedTree < > & tree ); virtual RankedTreeBase * clone ( ) const; @@ -120,7 +120,7 @@ PrefixRankedBarTree < SymbolType, RankType >::PrefixRankedBarTree ( std::set < s } template < class SymbolType, class RankType > -PrefixRankedBarTree < SymbolType, RankType >::PrefixRankedBarTree ( SymbolType barBase, const RankedTree < > & tree ) : PrefixRankedBarTree ( TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ), tree.getAlphabet ( ) + TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ), toPrefixRankedBar ( tree.getContent ( ), barBase ) ) { +PrefixRankedBarTree < SymbolType, RankType >::PrefixRankedBarTree ( SymbolType barBase, const RankedTree < SymbolType, RankType > & tree ) : PrefixRankedBarTree ( TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ), tree.getAlphabet ( ) + TreeAuxiliary::computeBars ( tree.getAlphabet ( ), barBase ), toPrefixRankedBar ( tree.getContent ( ), barBase ) ) { } template < class SymbolType, class RankType > diff --git a/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h b/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h index 6e19b4a2f60204b0714984531c5084f9e1a13d99..e29d8c70817fe312e472989ba3998bca92dee802 100644 --- a/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h @@ -48,11 +48,11 @@ public: explicit PrefixRankedNonlinearPattern ( std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::set < std::ranked_symbol < SymbolType, RankType > > nonlinearVariables, std::set < std::ranked_symbol < SymbolType, RankType > > alphabet, std::vector < std::ranked_symbol < SymbolType, RankType > > data ); explicit PrefixRankedNonlinearPattern ( std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::set < std::ranked_symbol < SymbolType, RankType > > nonlinearVariables, std::vector < std::ranked_symbol < SymbolType, RankType > > data ); explicit PrefixRankedNonlinearPattern ( std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::vector < std::ranked_symbol < SymbolType, RankType > > data ); - explicit PrefixRankedNonlinearPattern ( const PrefixRankedTree < > & tree ); - explicit PrefixRankedNonlinearPattern ( const PrefixRankedPattern < > & tree ); - explicit PrefixRankedNonlinearPattern ( const RankedTree < > & tree ); - explicit PrefixRankedNonlinearPattern ( const RankedPattern < > & tree ); - explicit PrefixRankedNonlinearPattern ( const RankedNonlinearPattern < > & tree ); + explicit PrefixRankedNonlinearPattern ( const PrefixRankedTree < SymbolType, RankType > & tree ); + explicit PrefixRankedNonlinearPattern ( const PrefixRankedPattern < SymbolType, RankType > & tree ); + explicit PrefixRankedNonlinearPattern ( const RankedTree < SymbolType, RankType > & tree ); + explicit PrefixRankedNonlinearPattern ( const RankedPattern < SymbolType, RankType > & tree ); + explicit PrefixRankedNonlinearPattern ( const RankedNonlinearPattern < SymbolType, RankType > & tree ); virtual RankedTreeBase * clone ( ) const; virtual RankedTreeBase * plunder ( ) &&; @@ -136,23 +136,23 @@ PrefixRankedNonlinearPattern < SymbolType, RankType >::PrefixRankedNonlinearPatt } template < class SymbolType, class RankType > -PrefixRankedNonlinearPattern < SymbolType, RankType >::PrefixRankedNonlinearPattern ( const PrefixRankedTree < > & tree ) : PrefixRankedNonlinearPattern ( alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), { }, tree.getAlphabet ( ), tree.getContent ( ) ) { +PrefixRankedNonlinearPattern < SymbolType, RankType >::PrefixRankedNonlinearPattern ( const PrefixRankedTree < SymbolType, RankType > & tree ) : PrefixRankedNonlinearPattern ( alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), { }, tree.getAlphabet ( ), tree.getContent ( ) ) { } template < class SymbolType, class RankType > -PrefixRankedNonlinearPattern < SymbolType, RankType >::PrefixRankedNonlinearPattern ( const PrefixRankedPattern < > & tree ) : PrefixRankedNonlinearPattern ( tree.getSubtreeWildcard ( ), { }, tree.getAlphabet ( ), tree.getContent ( ) ) { +PrefixRankedNonlinearPattern < SymbolType, RankType >::PrefixRankedNonlinearPattern ( const PrefixRankedPattern < SymbolType, RankType > & tree ) : PrefixRankedNonlinearPattern ( tree.getSubtreeWildcard ( ), { }, tree.getAlphabet ( ), tree.getContent ( ) ) { } template < class SymbolType, class RankType > -PrefixRankedNonlinearPattern < SymbolType, RankType >::PrefixRankedNonlinearPattern ( const RankedTree < > & tree ) : PrefixRankedNonlinearPattern ( alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), { }, tree.getAlphabet ( ), toPrefixRanked ( tree.getContent ( ) ) ) { +PrefixRankedNonlinearPattern < SymbolType, RankType >::PrefixRankedNonlinearPattern ( const RankedTree < SymbolType, RankType > & tree ) : PrefixRankedNonlinearPattern ( alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), { }, tree.getAlphabet ( ), toPrefixRanked ( tree.getContent ( ) ) ) { } template < class SymbolType, class RankType > -PrefixRankedNonlinearPattern < SymbolType, RankType >::PrefixRankedNonlinearPattern ( const RankedPattern < > & tree ) : PrefixRankedNonlinearPattern ( tree.getSubtreeWildcard ( ), { }, tree.getAlphabet ( ), toPrefixRanked ( tree.getContent ( ) ) ) { +PrefixRankedNonlinearPattern < SymbolType, RankType >::PrefixRankedNonlinearPattern ( const RankedPattern < SymbolType, RankType > & tree ) : PrefixRankedNonlinearPattern ( tree.getSubtreeWildcard ( ), { }, tree.getAlphabet ( ), toPrefixRanked ( tree.getContent ( ) ) ) { } template < class SymbolType, class RankType > -PrefixRankedNonlinearPattern < SymbolType, RankType >::PrefixRankedNonlinearPattern ( const RankedNonlinearPattern < > & tree ) : PrefixRankedNonlinearPattern ( tree.getSubtreeWildcard ( ), tree.getNonlinearVariables ( ), tree.getAlphabet ( ), toPrefixRanked ( tree.getContent ( ) ) ) { +PrefixRankedNonlinearPattern < SymbolType, RankType >::PrefixRankedNonlinearPattern ( const RankedNonlinearPattern < SymbolType, RankType > & tree ) : PrefixRankedNonlinearPattern ( tree.getSubtreeWildcard ( ), tree.getNonlinearVariables ( ), tree.getAlphabet ( ), toPrefixRanked ( tree.getContent ( ) ) ) { } template < class SymbolType, class RankType > diff --git a/alib2data/src/tree/ranked/PrefixRankedPattern.h b/alib2data/src/tree/ranked/PrefixRankedPattern.h index b00f9fb82dfae41b3d3714fab32af35a3e3b227b..2480d6a81db15a129aee280ea39cd367093ffc80 100644 --- a/alib2data/src/tree/ranked/PrefixRankedPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedPattern.h @@ -46,8 +46,8 @@ class PrefixRankedPattern : public RankedTreeBase, public std::Components < Pref public: explicit PrefixRankedPattern ( std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::set < std::ranked_symbol < SymbolType, RankType > > alphabet, std::vector < std::ranked_symbol < SymbolType, RankType > > data ); explicit PrefixRankedPattern ( std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::vector < std::ranked_symbol < SymbolType, RankType > > data ); - explicit PrefixRankedPattern ( const PrefixRankedTree < > & tree ); - explicit PrefixRankedPattern ( const RankedPattern < > & tree ); + explicit PrefixRankedPattern ( const PrefixRankedTree < SymbolType, RankType > & tree ); + explicit PrefixRankedPattern ( const RankedPattern < SymbolType, RankType > & tree ); virtual RankedTreeBase * clone ( ) const; virtual RankedTreeBase * plunder ( ) &&; @@ -120,11 +120,11 @@ PrefixRankedPattern < SymbolType, RankType >::PrefixRankedPattern ( std::ranked_ } template < class SymbolType, class RankType > -PrefixRankedPattern < SymbolType, RankType >::PrefixRankedPattern ( const PrefixRankedTree < > & tree ) : PrefixRankedPattern ( alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), tree.getAlphabet ( ) + std::set < std::ranked_symbol < SymbolType, RankType > > { alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ) }, tree.getContent ( ) ) { +PrefixRankedPattern < SymbolType, RankType >::PrefixRankedPattern ( const PrefixRankedTree < SymbolType, RankType > & tree ) : PrefixRankedPattern ( alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ), tree.getAlphabet ( ) + std::set < std::ranked_symbol < SymbolType, RankType > > { alphabet::SubtreeWildcardSymbol::instance < std::ranked_symbol < SymbolType, RankType > > ( ) }, tree.getContent ( ) ) { } template < class SymbolType, class RankType > -PrefixRankedPattern < SymbolType, RankType >::PrefixRankedPattern ( const RankedPattern < > & tree ) : PrefixRankedPattern ( tree.getSubtreeWildcard ( ), tree.getAlphabet ( ), toPrefixRanked ( tree.getContent ( ) ) ) { +PrefixRankedPattern < SymbolType, RankType >::PrefixRankedPattern ( const RankedPattern < SymbolType, RankType > & tree ) : PrefixRankedPattern ( tree.getSubtreeWildcard ( ), tree.getAlphabet ( ), toPrefixRanked ( tree.getContent ( ) ) ) { } template < class SymbolType, class RankType > diff --git a/alib2data/src/tree/ranked/PrefixRankedTree.h b/alib2data/src/tree/ranked/PrefixRankedTree.h index bc5ebc06e1de4deb610672a89c5bfdedf318d5b8..fcb73f78e0b4599c04ffa1d8fe081527cfb587b8 100644 --- a/alib2data/src/tree/ranked/PrefixRankedTree.h +++ b/alib2data/src/tree/ranked/PrefixRankedTree.h @@ -43,7 +43,7 @@ class PrefixRankedTree : public RankedTreeBase, public std::Components < PrefixR public: explicit PrefixRankedTree ( std::set < std::ranked_symbol < SymbolType, RankType > > alphabet, std::vector < std::ranked_symbol < SymbolType, RankType > > data ); explicit PrefixRankedTree ( std::vector < std::ranked_symbol < SymbolType, RankType > > data ); - explicit PrefixRankedTree ( const RankedTree < > & tree ); + explicit PrefixRankedTree ( const RankedTree < SymbolType, RankType > & tree ); virtual RankedTreeBase * clone ( ) const; virtual RankedTreeBase * plunder ( ) &&; @@ -111,7 +111,7 @@ PrefixRankedTree < SymbolType, RankType >::PrefixRankedTree ( std::vector < std: } template < class SymbolType, class RankType > -PrefixRankedTree < SymbolType, RankType >::PrefixRankedTree ( const RankedTree < > & tree ) : PrefixRankedTree ( tree.getAlphabet ( ), toPrefixRanked ( tree.getContent ( ) ) ) { +PrefixRankedTree < SymbolType, RankType >::PrefixRankedTree ( const RankedTree < SymbolType, RankType > & tree ) : PrefixRankedTree ( tree.getAlphabet ( ), toPrefixRanked ( tree.getContent ( ) ) ) { } template < class SymbolType, class RankType > diff --git a/alib2data/src/tree/ranked/RankedNonlinearPattern.h b/alib2data/src/tree/ranked/RankedNonlinearPattern.h index 41856f92856fd2f6631f2c91b153dc8997e36c9b..464c70c8c57cf6474111e12165131597dcc46034 100644 --- a/alib2data/src/tree/ranked/RankedNonlinearPattern.h +++ b/alib2data/src/tree/ranked/RankedNonlinearPattern.h @@ -59,7 +59,7 @@ public: explicit RankedNonlinearPattern ( std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::set < std::ranked_symbol < SymbolType, RankType > > nonlinearVariables, std::set < std::ranked_symbol < SymbolType, RankType > > alphabet, std::tree < std::ranked_symbol < SymbolType, RankType > > pattern ); explicit RankedNonlinearPattern ( std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::set < std::ranked_symbol < SymbolType, RankType > > nonlinearVariables, std::tree < std::ranked_symbol < SymbolType, RankType > > pattern ); explicit RankedNonlinearPattern ( std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::tree < std::ranked_symbol < SymbolType, RankType > > pattern ); - explicit RankedNonlinearPattern ( const UnrankedNonlinearPattern < > & other ); + explicit RankedNonlinearPattern ( const UnrankedNonlinearPattern < SymbolType > & other ); /** * @return Root node of the regular expression pattern @@ -141,7 +141,7 @@ RankedNonlinearPattern < SymbolType, RankType >::RankedNonlinearPattern ( std::r } template < class SymbolType, class RankType > -RankedNonlinearPattern < SymbolType, RankType >::RankedNonlinearPattern ( const UnrankedNonlinearPattern < > & other ) : RankedNonlinearPattern ( std::ranked_symbol < SymbolType, RankType > ( other.getSubtreeWildcard ( ), 0 ), TreeAuxiliary::toRankedTree < SymbolType, RankType > ( other.getContent ( ) ) ) { +RankedNonlinearPattern < SymbolType, RankType >::RankedNonlinearPattern ( const UnrankedNonlinearPattern < SymbolType > & other ) : RankedNonlinearPattern ( std::ranked_symbol < SymbolType, RankType > ( other.getSubtreeWildcard ( ), 0 ), TreeAuxiliary::toRankedTree < SymbolType, RankType > ( other.getContent ( ) ) ) { } template < class SymbolType, class RankType > diff --git a/alib2data/src/tree/ranked/RankedPattern.h b/alib2data/src/tree/ranked/RankedPattern.h index 7bdd11ddfdce0a1c847dd6d7161de3b65bf7f944..527ff6dd08c5cce44fc4e6c6b9b19aa66b3d2526 100644 --- a/alib2data/src/tree/ranked/RankedPattern.h +++ b/alib2data/src/tree/ranked/RankedPattern.h @@ -57,7 +57,7 @@ public: explicit RankedPattern ( std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::set < std::ranked_symbol < SymbolType, RankType > > alphabet, std::tree < std::ranked_symbol < SymbolType, RankType > > pattern ); explicit RankedPattern ( std::ranked_symbol < SymbolType, RankType > subtreeWildcard, std::tree < std::ranked_symbol < SymbolType, RankType > > pattern ); - explicit RankedPattern ( const UnrankedPattern < > & other ); + explicit RankedPattern ( const UnrankedPattern < SymbolType > & other ); /** * @return Root node of the regular expression pattern @@ -131,7 +131,7 @@ RankedPattern < SymbolType, RankType >::RankedPattern ( std::ranked_symbol < Sym } template < class SymbolType, class RankType > -RankedPattern < SymbolType, RankType >::RankedPattern ( const UnrankedPattern < > & other ) : RankedPattern ( std::ranked_symbol < SymbolType, RankType > ( other.getSubtreeWildcard ( ), 0 ), TreeAuxiliary::toRankedTree < SymbolType, RankType > ( other.getContent ( ) ) ) { +RankedPattern < SymbolType, RankType >::RankedPattern ( const UnrankedPattern < SymbolType > & other ) : RankedPattern ( std::ranked_symbol < SymbolType, RankType > ( other.getSubtreeWildcard ( ), 0 ), TreeAuxiliary::toRankedTree < SymbolType, RankType > ( other.getContent ( ) ) ) { } template < class SymbolType, class RankType > diff --git a/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h b/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h index 073b450a8192410fb4beb1258c17b2b5bd21bc68..d6e45fed681bcf6bb72377bc155f692310846049 100644 --- a/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h +++ b/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h @@ -56,7 +56,8 @@ public: explicit UnrankedNonlinearPattern ( SymbolType subtreeWildcard, std::set < SymbolType > nonlinearVariables, std::set < SymbolType > alphabet, std::tree < SymbolType > pattern ); explicit UnrankedNonlinearPattern ( SymbolType subtreeWildcard, std::set < SymbolType > nonlinearVariables, std::tree < SymbolType > pattern ); explicit UnrankedNonlinearPattern ( SymbolType subtreeWildcard, std::tree < SymbolType > pattern ); - explicit UnrankedNonlinearPattern ( const RankedNonlinearPattern < > & other ); + template < class RankType > + explicit UnrankedNonlinearPattern ( const RankedNonlinearPattern < SymbolType, RankType > & other ); /** * @return Content of the pattern @@ -143,7 +144,8 @@ UnrankedNonlinearPattern < SymbolType >::UnrankedNonlinearPattern ( SymbolType s } template < class SymbolType > -UnrankedNonlinearPattern < SymbolType >::UnrankedNonlinearPattern ( const RankedNonlinearPattern < > & other ) : UnrankedNonlinearPattern ( other.getSubtreeWildcard ( ).getSymbol ( ), TreeAuxiliary::unrankSymbols ( other.getAlphabet ( ) ), TreeAuxiliary::toUnrankedTree ( other.getContent ( ) ) ) { +template < class RankType > +UnrankedNonlinearPattern < SymbolType >::UnrankedNonlinearPattern ( const RankedNonlinearPattern < SymbolType, RankType > & other ) : UnrankedNonlinearPattern ( other.getSubtreeWildcard ( ).getSymbol ( ), TreeAuxiliary::unrankSymbols ( other.getAlphabet ( ) ), TreeAuxiliary::toUnrankedTree ( other.getContent ( ) ) ) { } template < class SymbolType > diff --git a/alib2data/src/tree/unranked/UnrankedPattern.h b/alib2data/src/tree/unranked/UnrankedPattern.h index 9baa2acc4f4a074f713e89377a84b4a0beb677e4..09a89e49f2a28d986572c7ad453cabf51faf1243 100644 --- a/alib2data/src/tree/unranked/UnrankedPattern.h +++ b/alib2data/src/tree/unranked/UnrankedPattern.h @@ -54,7 +54,8 @@ public: explicit UnrankedPattern ( SymbolType subtreeWildcard, std::set < SymbolType > alphabet, std::tree < SymbolType > pattern ); explicit UnrankedPattern ( SymbolType subtreeWildcard, std::tree < SymbolType > pattern ); - explicit UnrankedPattern ( const RankedPattern < > & other ); + template < class RankType > + explicit UnrankedPattern ( const RankedPattern < SymbolType, RankType > & other ); /** * @return Content of the pattern @@ -127,7 +128,8 @@ UnrankedPattern < SymbolType >::UnrankedPattern ( SymbolType subtreeWildcard, st } template < class SymbolType > -UnrankedPattern < SymbolType >::UnrankedPattern ( const RankedPattern < > & other ) : UnrankedPattern ( other.getSubtreeWildcard ( ).getSymbol ( ), TreeAuxiliary::unrankSymbols ( other.getAlphabet ( ) ), TreeAuxiliary::toUnrankedTree ( other.getContent ( ) ) ) { +template < class RankType > +UnrankedPattern < SymbolType >::UnrankedPattern ( const RankedPattern < SymbolType, RankType > & other ) : UnrankedPattern ( other.getSubtreeWildcard ( ).getSymbol ( ), TreeAuxiliary::unrankSymbols ( other.getAlphabet ( ) ), TreeAuxiliary::toUnrankedTree ( other.getContent ( ) ) ) { } template < class SymbolType > diff --git a/alib2data/src/tree/unranked/UnrankedTree.h b/alib2data/src/tree/unranked/UnrankedTree.h index 403bef5a971b3ae5a44a3eb583156c194eddac54..f9a4825b89e9a63be2d271f22ef389f09b0d3d19 100644 --- a/alib2data/src/tree/unranked/UnrankedTree.h +++ b/alib2data/src/tree/unranked/UnrankedTree.h @@ -53,7 +53,8 @@ public: explicit UnrankedTree ( std::set < SymbolType > alphabet, std::tree < SymbolType > tree ); explicit UnrankedTree ( std::tree < SymbolType > tree ); - explicit UnrankedTree ( const RankedTree < > & other ); + template < class RankType > + explicit UnrankedTree ( const RankedTree < SymbolType, RankType > & other ); const std::set < SymbolType > & getAlphabet ( ) const { return this->template accessComponent < GeneralAlphabet > ( ).get ( ); @@ -122,7 +123,8 @@ UnrankedTree < SymbolType >::UnrankedTree ( std::tree < SymbolType > pattern ) : } template < class SymbolType > -UnrankedTree < SymbolType >::UnrankedTree ( const RankedTree < > & other ) : UnrankedTree ( TreeAuxiliary::unrankSymbols ( other.getAlphabet ( ) ), TreeAuxiliary::toUnrankedTree ( other.getContent ( ) ) ) { +template < class RankType > +UnrankedTree < SymbolType >::UnrankedTree ( const RankedTree < SymbolType, RankType > & other ) : UnrankedTree ( TreeAuxiliary::unrankSymbols ( other.getAlphabet ( ) ), TreeAuxiliary::toUnrankedTree ( other.getContent ( ) ) ) { } template < class SymbolType >