From cf7418dae8ec2c783d4460c3f9bf370f55b169fb Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Wed, 12 Apr 2017 10:12:12 +0200 Subject: [PATCH] make normalize return type match base type --- alib2data/src/alphabet/SymbolBase.h | 2 ++ alib2data/src/automaton/AutomatonBase.h | 2 ++ alib2data/src/grammar/GrammarBase.h | 2 ++ alib2data/src/label/LabelBase.h | 2 ++ alib2data/src/regexp/RegExpBase.h | 2 ++ alib2data/src/rte/RTEBase.h | 2 ++ alib2data/src/string/StringBase.h | 2 ++ alib2data/src/tree/RankedTreeBase.h | 2 ++ alib2data/src/tree/TreeBase.h | 2 ++ alib2data/src/tree/UnrankedTreeBase.h | 2 ++ alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h | 2 +- alib2data/src/tree/ranked/PrefixRankedBarPattern.h | 2 +- alib2data/src/tree/ranked/PrefixRankedBarTree.h | 2 +- alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h | 2 +- alib2data/src/tree/ranked/PrefixRankedPattern.h | 2 +- alib2data/src/tree/ranked/PrefixRankedTree.h | 2 +- alib2data/src/tree/ranked/RankedNonlinearPattern.h | 2 +- alib2data/src/tree/ranked/RankedPattern.h | 2 +- alib2data/src/tree/ranked/RankedTree.h | 2 +- alib2data/src/tree/unranked/PrefixBarTree.h | 2 +- alib2data/src/tree/unranked/UnrankedNonlinearPattern.h | 2 +- alib2data/src/tree/unranked/UnrankedPattern.h | 2 +- alib2data/src/tree/unranked/UnrankedTree.h | 2 +- 23 files changed, 33 insertions(+), 13 deletions(-) diff --git a/alib2data/src/alphabet/SymbolBase.h b/alib2data/src/alphabet/SymbolBase.h index 031a52ac77..ee2959782f 100644 --- a/alib2data/src/alphabet/SymbolBase.h +++ b/alib2data/src/alphabet/SymbolBase.h @@ -21,6 +21,8 @@ public: virtual SymbolBase* plunder() && = 0; virtual SymbolBase* inc() && = 0; + + virtual SymbolBase* normalize ( ) && = 0; }; } /* namespace alphabet */ diff --git a/alib2data/src/automaton/AutomatonBase.h b/alib2data/src/automaton/AutomatonBase.h index ed17dc3f05..946e493788 100644 --- a/alib2data/src/automaton/AutomatonBase.h +++ b/alib2data/src/automaton/AutomatonBase.h @@ -19,6 +19,8 @@ class AutomatonBase : public alib::ObjectBase { public: virtual AutomatonBase* clone() const = 0; virtual AutomatonBase* plunder() && = 0; + + virtual AutomatonBase* normalize ( ) && = 0; }; } /* namespace automaton */ diff --git a/alib2data/src/grammar/GrammarBase.h b/alib2data/src/grammar/GrammarBase.h index 873d92dc41..42642a72ed 100644 --- a/alib2data/src/grammar/GrammarBase.h +++ b/alib2data/src/grammar/GrammarBase.h @@ -19,6 +19,8 @@ class GrammarBase : public alib::ObjectBase { public: virtual GrammarBase* clone() const = 0; virtual GrammarBase* plunder() && = 0; + + virtual GrammarBase* normalize ( ) && = 0; }; } /* namespace grammar */ diff --git a/alib2data/src/label/LabelBase.h b/alib2data/src/label/LabelBase.h index 9acd07d6b7..3675c749c2 100644 --- a/alib2data/src/label/LabelBase.h +++ b/alib2data/src/label/LabelBase.h @@ -21,6 +21,8 @@ public: virtual LabelBase* plunder() && = 0; virtual LabelBase* inc() && = 0; + + virtual LabelBase* normalize ( ) && = 0; }; } /* namespace label */ diff --git a/alib2data/src/regexp/RegExpBase.h b/alib2data/src/regexp/RegExpBase.h index 3c23d3ce95..490046ec2b 100644 --- a/alib2data/src/regexp/RegExpBase.h +++ b/alib2data/src/regexp/RegExpBase.h @@ -19,6 +19,8 @@ class RegExpBase : public alib::ObjectBase { public: virtual RegExpBase* clone() const = 0; virtual RegExpBase* plunder() && = 0; + + virtual RegExpBase* normalize ( ) && = 0; }; } /* namespace regexp */ diff --git a/alib2data/src/rte/RTEBase.h b/alib2data/src/rte/RTEBase.h index e5407c54de..fe1f653025 100644 --- a/alib2data/src/rte/RTEBase.h +++ b/alib2data/src/rte/RTEBase.h @@ -21,6 +21,8 @@ public: virtual const std::set < std::ranked_symbol < > > & getAlphabet ( ) const = 0; virtual const std::set < std::ranked_symbol < > > & getSubstitutionAlphabet ( ) const = 0; + + virtual RTEBase* normalize ( ) && = 0; }; } /* namespace rte */ diff --git a/alib2data/src/string/StringBase.h b/alib2data/src/string/StringBase.h index fe7c47a54f..ee227b810c 100644 --- a/alib2data/src/string/StringBase.h +++ b/alib2data/src/string/StringBase.h @@ -21,6 +21,8 @@ class StringBase : public alib::ObjectBase { public: virtual StringBase * clone ( ) const = 0; virtual StringBase * plunder ( ) && = 0; + + virtual StringBase* normalize ( ) && = 0; }; } /* namespace string */ diff --git a/alib2data/src/tree/RankedTreeBase.h b/alib2data/src/tree/RankedTreeBase.h index e5183ee480..3f61023a0d 100644 --- a/alib2data/src/tree/RankedTreeBase.h +++ b/alib2data/src/tree/RankedTreeBase.h @@ -21,6 +21,8 @@ class RankedTreeBase : public TreeBase { public: virtual RankedTreeBase * clone ( ) const = 0; virtual RankedTreeBase * plunder ( ) && = 0; + + virtual RankedTreeBase* normalize ( ) && = 0; }; } /* namespace tree */ diff --git a/alib2data/src/tree/TreeBase.h b/alib2data/src/tree/TreeBase.h index caa1a7624e..65055eb8e1 100644 --- a/alib2data/src/tree/TreeBase.h +++ b/alib2data/src/tree/TreeBase.h @@ -19,6 +19,8 @@ class TreeBase : public alib::ObjectBase { public: virtual TreeBase* clone() const = 0; virtual TreeBase* plunder() && = 0; + + virtual TreeBase* normalize ( ) && = 0; }; } /* namespace tree */ diff --git a/alib2data/src/tree/UnrankedTreeBase.h b/alib2data/src/tree/UnrankedTreeBase.h index b106d4a340..ec7aa37f75 100644 --- a/alib2data/src/tree/UnrankedTreeBase.h +++ b/alib2data/src/tree/UnrankedTreeBase.h @@ -21,6 +21,8 @@ class UnrankedTreeBase : public TreeBase { public: virtual UnrankedTreeBase * clone ( ) const = 0; virtual UnrankedTreeBase * plunder ( ) && = 0; + + virtual UnrankedTreeBase* normalize ( ) && = 0; }; } /* namespace tree */ diff --git a/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h b/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h index 63d7ad9908..0551f639ec 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedBarNonlinearPattern.h @@ -128,7 +128,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::ranked_symbol < DefaultSymbolType, DefaultRankType > variablesBars = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < VariablesBarSymbol > ( ).get ( ) ) ); std::ranked_symbol < DefaultSymbolType, DefaultRankType > wildcard = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > nonlinearAlphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < NonlinearAlphabet > ( ).get ( ) ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h index 1688ef99ae..1e9d1cf828 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h @@ -117,7 +117,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::ranked_symbol < DefaultSymbolType, DefaultRankType > variablesBars = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < VariablesBarSymbol > ( ).get ( ) ) ); std::ranked_symbol < DefaultSymbolType, DefaultRankType > wildcard = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > bars = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < BarSymbols > ( ).get ( ) ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedBarTree.h b/alib2data/src/tree/ranked/PrefixRankedBarTree.h index c0605eea9a..82dfd8ee06 100644 --- a/alib2data/src/tree/ranked/PrefixRankedBarTree.h +++ b/alib2data/src/tree/ranked/PrefixRankedBarTree.h @@ -104,7 +104,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > bars = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < BarSymbols > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::vector < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > content = alphabet::SymbolNormalize::normalizeRankedSymbols ( std::move ( m_Data ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h b/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h index 2b40344f37..5f5d1fc9d1 100644 --- a/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedNonlinearPattern.h @@ -112,7 +112,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::ranked_symbol < DefaultSymbolType, DefaultRankType > wildcard = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > nonlinearAlphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < NonlinearAlphabet > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedPattern.h b/alib2data/src/tree/ranked/PrefixRankedPattern.h index edc1ae25ac..ec5681c0ca 100644 --- a/alib2data/src/tree/ranked/PrefixRankedPattern.h +++ b/alib2data/src/tree/ranked/PrefixRankedPattern.h @@ -103,7 +103,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::ranked_symbol < DefaultSymbolType, DefaultRankType > wildcard = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::vector < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > content = alphabet::SymbolNormalize::normalizeRankedSymbols ( std::move ( m_Data ) ); diff --git a/alib2data/src/tree/ranked/PrefixRankedTree.h b/alib2data/src/tree/ranked/PrefixRankedTree.h index 0ded0a3c8d..4b45896935 100644 --- a/alib2data/src/tree/ranked/PrefixRankedTree.h +++ b/alib2data/src/tree/ranked/PrefixRankedTree.h @@ -95,7 +95,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::vector < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > content = alphabet::SymbolNormalize::normalizeRankedSymbols ( std::move ( m_Data ) ); diff --git a/alib2data/src/tree/ranked/RankedNonlinearPattern.h b/alib2data/src/tree/ranked/RankedNonlinearPattern.h index 6b10f84e82..def29fc920 100644 --- a/alib2data/src/tree/ranked/RankedNonlinearPattern.h +++ b/alib2data/src/tree/ranked/RankedNonlinearPattern.h @@ -120,7 +120,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::ranked_symbol < DefaultSymbolType, DefaultRankType > wildcard = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > nonlinearAlphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < NonlinearAlphabet > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); diff --git a/alib2data/src/tree/ranked/RankedPattern.h b/alib2data/src/tree/ranked/RankedPattern.h index 7e236d12f2..1f3c9788b1 100644 --- a/alib2data/src/tree/ranked/RankedPattern.h +++ b/alib2data/src/tree/ranked/RankedPattern.h @@ -114,7 +114,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::ranked_symbol < DefaultSymbolType, DefaultRankType > wildcard = alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::tree < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > content = TreeNormalize::normalizeRankedTree ( std::move ( m_content ) ); diff --git a/alib2data/src/tree/ranked/RankedTree.h b/alib2data/src/tree/ranked/RankedTree.h index 233cfa1460..d72fdbf9ce 100644 --- a/alib2data/src/tree/ranked/RankedTree.h +++ b/alib2data/src/tree/ranked/RankedTree.h @@ -110,7 +110,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual RankedTreeBase * normalize ( ) && { std::set < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > alphabet = alphabet::SymbolNormalize::normalizeRankedAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::tree < std::ranked_symbol < DefaultSymbolType, DefaultRankType > > content = TreeNormalize::normalizeRankedTree ( std::move ( m_content ) ); diff --git a/alib2data/src/tree/unranked/PrefixBarTree.h b/alib2data/src/tree/unranked/PrefixBarTree.h index 1458e0829d..3c7b27078b 100644 --- a/alib2data/src/tree/unranked/PrefixBarTree.h +++ b/alib2data/src/tree/unranked/PrefixBarTree.h @@ -101,7 +101,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual UnrankedTreeBase * normalize ( ) && { DefaultSymbolType bar = alphabet::SymbolNormalize::normalizeSymbol ( std::move ( this->template accessElement < BarSymbol > ( ).get ( ) ) ); std::set < DefaultSymbolType > alphabet = alphabet::SymbolNormalize::normalizeAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::vector < DefaultSymbolType > content = alphabet::SymbolNormalize::normalizeSymbols ( std::move ( m_Data ) ); diff --git a/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h b/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h index 13acf19ae4..ecbe5f2c0c 100644 --- a/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h +++ b/alib2data/src/tree/unranked/UnrankedNonlinearPattern.h @@ -124,7 +124,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual UnrankedTreeBase * normalize ( ) && { DefaultSymbolType wildcard = alphabet::SymbolNormalize::normalizeSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < DefaultSymbolType > nonlinearAlphabet = alphabet::SymbolNormalize::normalizeAlphabet ( std::move ( this->template accessComponent < NonlinearAlphabet > ( ).get ( ) ) ); std::set < DefaultSymbolType > alphabet = alphabet::SymbolNormalize::normalizeAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); diff --git a/alib2data/src/tree/unranked/UnrankedPattern.h b/alib2data/src/tree/unranked/UnrankedPattern.h index f8fd599b68..97f754b23c 100644 --- a/alib2data/src/tree/unranked/UnrankedPattern.h +++ b/alib2data/src/tree/unranked/UnrankedPattern.h @@ -112,7 +112,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual UnrankedTreeBase * normalize ( ) && { DefaultSymbolType wildcard = alphabet::SymbolNormalize::normalizeSymbol ( std::move ( this->template accessElement < SubtreeWildcard > ( ).get ( ) ) ); std::set < DefaultSymbolType > alphabet = alphabet::SymbolNormalize::normalizeAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::tree < DefaultSymbolType > content = TreeNormalize::normalizeTree ( std::move ( m_content ) ); diff --git a/alib2data/src/tree/unranked/UnrankedTree.h b/alib2data/src/tree/unranked/UnrankedTree.h index 569d7a35fd..66973126a5 100644 --- a/alib2data/src/tree/unranked/UnrankedTree.h +++ b/alib2data/src/tree/unranked/UnrankedTree.h @@ -107,7 +107,7 @@ public: virtual alib::ObjectBase * inc ( ) &&; - virtual TreeBase * normalize ( ) && { + virtual UnrankedTreeBase * normalize ( ) && { std::set < DefaultSymbolType > alphabet = alphabet::SymbolNormalize::normalizeAlphabet ( std::move ( this->template accessComponent < GeneralAlphabet > ( ).get ( ) ) ); std::tree < DefaultSymbolType > content = TreeNormalize::normalizeTree ( std::move ( m_content ) ); -- GitLab