From 07b317f9ad68ce8b6942f231904c0af29ad507f4 Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Fri, 4 May 2018 23:40:14 +0200
Subject: [PATCH] documentation tuning

---
 alib2common/src/object/ObjectBase.h            |  4 ++--
 alib2data/src/grammar/GrammarBase.h            |  8 ++++----
 alib2data/src/regexp/formal/FormalRegExp.h     |  4 ++--
 .../src/regexp/unbounded/UnboundedRegExp.h     |  2 +-
 alib2data/src/rte/RTEBase.h                    |  7 +++++++
 alib2data/src/rte/formal/FormalRTE.h           | 16 ++++++++--------
 .../src/rte/formal/FormalRTEAlternation.h      | 16 ++++++++--------
 alib2data/src/rte/formal/FormalRTEElement.h    | 12 ++++++++++--
 alib2data/src/rte/formal/FormalRTEEmpty.h      | 18 +++++++++---------
 alib2data/src/rte/formal/FormalRTEIteration.h  | 18 +++++++++---------
 .../src/rte/formal/FormalRTESubstitution.h     | 18 +++++++++---------
 alib2data/src/rte/formal/FormalRTESymbol.h     |  2 +-
 .../src/rte/formal/FormalRTESymbolAlphabet.h   | 18 +++++++++---------
 .../src/rte/formal/FormalRTESymbolSubst.h      | 18 +++++++++---------
 14 files changed, 88 insertions(+), 73 deletions(-)

diff --git a/alib2common/src/object/ObjectBase.h b/alib2common/src/object/ObjectBase.h
index 7502ab04ef..c13755b15d 100644
--- a/alib2common/src/object/ObjectBase.h
+++ b/alib2common/src/object/ObjectBase.h
@@ -19,12 +19,12 @@ namespace object {
 class ObjectBase : public base::CommonBase<ObjectBase>, public ext::cow_shared_ptr_base {
 public:
 	/**
-	 * @copydoc base::CommonBase<ObjectBase>::clone()
+	 * @copydoc base::CommonBase < ObjectBase >::clone ( ) const &
 	 */
 	virtual ObjectBase * clone ( ) const & override = 0;
 
 	/**
-	 * @copydoc base::CommonBase<ObjectBase>::clone()
+	 * @copydoc base::CommonBase < ObjectBase >::clone ( ) &&
 	 */
 	virtual ObjectBase * clone() && override = 0;
 
diff --git a/alib2data/src/grammar/GrammarBase.h b/alib2data/src/grammar/GrammarBase.h
index ff3ced30b9..f61a937ff4 100644
--- a/alib2data/src/grammar/GrammarBase.h
+++ b/alib2data/src/grammar/GrammarBase.h
@@ -20,14 +20,14 @@ namespace grammar {
 class GrammarBase : public object::ObjectBase {
 public:
 	/**
-	 * @copydoc object::ObjectBase::clone()
+	 * @copydoc object::ObjectBase::clone ( ) const &
 	 */
-	virtual GrammarBase* clone ( ) const & override = 0;
+	virtual GrammarBase * clone ( ) const & override = 0;
 
 	/**
-	 * @copydoc object::ObjectBase::clone()
+	 * @copydoc object::ObjectBase::clone ( ) &&
 	 */
-	virtual GrammarBase* clone() && override = 0;
+	virtual GrammarBase * clone ( ) && override = 0;
 };
 
 } /* namespace grammar */
diff --git a/alib2data/src/regexp/formal/FormalRegExp.h b/alib2data/src/regexp/formal/FormalRegExp.h
index 29e94935eb..2d0069265b 100644
--- a/alib2data/src/regexp/formal/FormalRegExp.h
+++ b/alib2data/src/regexp/formal/FormalRegExp.h
@@ -50,7 +50,7 @@ class GeneralAlphabet;
  * \brief
  * Formal regular expression represents regular expression. It describes regular languages. The expression consists of the following nodes:
  *   - Alternation - the representation of + in the regular expression
- *   - Concatenation - the representation of . in the regular expression
+ *   - Concatenation - the representation of &sdot; in the regular expression
  *   - Iteration - the representation of * (Kleene star)
  *   - Epsilon - the representation of empty word
  *   - Empty - the representation of empty regular expression
@@ -97,7 +97,7 @@ public:
 	explicit FormalRegExp ( FormalRegExpStructure < SymbolType > regExp );
 
 	/**
-	 * \brief Created a new instance of the expression based on the FormalRegExp representation.
+	 * \brief Created a new instance of the expression based on the UnboundedRegExp representation.
 	 */
 	explicit FormalRegExp ( const UnboundedRegExp < SymbolType > & other );
 
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExp.h b/alib2data/src/regexp/unbounded/UnboundedRegExp.h
index 786455f205..f0f1519149 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExp.h
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExp.h
@@ -50,7 +50,7 @@ class GeneralAlphabet;
  * \brief
  * Unbounded regular expression represents regular expression. It describes regular languages. The expression consists of the following nodes:
  *   - Alternation - the representation of + in the regular expression
- *   - Concatenation - the representation of . in the regular expression
+ *   - Concatenation - the representation of &sdot; in the regular expression
  *   - Iteration - the representation of * (Kleene star)
  *   - Epsilon - the representation of empty word
  *   - Empty - the representation of empty regular expression
diff --git a/alib2data/src/rte/RTEBase.h b/alib2data/src/rte/RTEBase.h
index 7e40040de9..1fcafe974b 100644
--- a/alib2data/src/rte/RTEBase.h
+++ b/alib2data/src/rte/RTEBase.h
@@ -14,7 +14,14 @@ namespace rte {
 
 class RTEBase : public object::ObjectBase {
 public:
+	/**
+	 * @copydoc object::ObjectBase::clone ( ) const &
+	 */
 	virtual RTEBase * clone ( ) const & = 0;
+
+	/**
+	 * @copydoc object::ObjectBase::clone ( ) &&
+	 */
 	virtual RTEBase * clone ( ) &&  = 0;
 };
 
diff --git a/alib2data/src/rte/formal/FormalRTE.h b/alib2data/src/rte/formal/FormalRTE.h
index b2f22dbe25..603c11bff8 100644
--- a/alib2data/src/rte/formal/FormalRTE.h
+++ b/alib2data/src/rte/formal/FormalRTE.h
@@ -50,8 +50,8 @@ class ConstantAlphabet;
  * \brief
  * Formal regular tree expression represents regular tree expression. It describes regular tree languages. The expression consists of the following nodes:
  *   - Alternation - the representation of + in the regular tree expression
- *   - Substitution - the representation of \dot \square in the regular tree expression
- *   - Iteration - the representation of *,\square in the regular tree expression
+ *   - Substitution - the representation of &sdot; â–ˇ in the regular tree expression
+ *   - Iteration - the representation of *, â–ˇ in the regular tree expression
  *   - Empty - the representation of empty regular tree expression
  *   - SymbolAlphabet - the representation of a single symbol from symbol alphabet
  *   - SymbolSubst - the representation of a single symbol from the substitution alphabet
@@ -108,12 +108,12 @@ public:
 	explicit FormalRTE ( FormalRTEStructure < SymbolType, RankType > rte );
 
 	/**
-	 * @copydoc FormalRTEStructure::clone ( ) const &
+	 * @copydoc RTEBase::clone ( ) const &
 	 */
 	virtual RTEBase * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEStructure::clone ( ) const &
+	 * @copydoc RTEBase::clone ( ) &&
 	 */
 	virtual RTEBase * clone ( ) && override;
 
@@ -255,7 +255,7 @@ public:
 	void setRTE ( FormalRTEStructure < SymbolType, RankType > regExp );
 
 	/**
-	 * @copydoc alib::CommonBase<ObjectBase>::compare ( const ObjectBase & )
+	 * @copydoc base::CommonBase < ObjectBase >::compare ( const ObjectBase & ) const
 	 */
 	virtual int compare ( const ObjectBase & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -273,17 +273,17 @@ public:
 	int compare ( const FormalRTE & other ) const;
 
 	/**
-	 * @copydoc alib::CommonBase<ObjectBase>::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < ObjectBase >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase<ObjectBase>::operator std::string ( )
+	 * @copydoc base::CommonBase < ObjectBase >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc alib::GrammarBase::inc()
+	 * @copydoc object::ObjectBase::inc ( ) &&
 	 */
 	virtual object::ObjectBase * inc ( ) && override;
 };
diff --git a/alib2data/src/rte/formal/FormalRTEAlternation.h b/alib2data/src/rte/formal/FormalRTEAlternation.h
index 23d38feced..95394108da 100644
--- a/alib2data/src/rte/formal/FormalRTEAlternation.h
+++ b/alib2data/src/rte/formal/FormalRTEAlternation.h
@@ -75,22 +75,22 @@ public:
 	virtual FormalRTEAlternation < SymbolType, RankType > * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement::clone ( ) &&
 	 */
 	virtual FormalRTEAlternation < SymbolType, RankType > * clone ( ) && override;
 
 	/**
-	 * @copydoc FormalRTEElement::testSymbol() const
+	 * @copydoc FormalRTEElement::testSymbol ( const common::ranked_symbol < SymbolType, RankType > & ) const
 	 */
 	virtual bool testSymbol ( const common::ranked_symbol < SymbolType, RankType > & symbol ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::computeMinimalAlphabet()
+	 * @copydoc FormalRTEElement::computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > &, ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::checkAlphabet()
+	 * @copydoc FormalRTEElement::checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > &, const ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual bool checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
@@ -151,7 +151,7 @@ public:
 	void setRightElement ( const FormalRTEElement < SymbolType, RankType > & element );
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & )
+	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & ) const
 	 */
 	virtual int compare ( const FormalRTEElement < SymbolType, RankType > & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -169,17 +169,17 @@ public:
 	int compare ( const FormalRTEAlternation & ) const;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc regexp::FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
 	 */
 	virtual ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > normalize ( ) && override {
 		return ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > ( new FormalRTEAlternation < DefaultSymbolType, DefaultRankType > ( std::move ( * std::move ( getLeftElement ( ) ).normalize ( ) ), std::move ( * std::move ( getRightElement ( ) ).normalize ( ) ) ) );
diff --git a/alib2data/src/rte/formal/FormalRTEElement.h b/alib2data/src/rte/formal/FormalRTEElement.h
index 76da5668b9..60311830c7 100644
--- a/alib2data/src/rte/formal/FormalRTEElement.h
+++ b/alib2data/src/rte/formal/FormalRTEElement.h
@@ -40,7 +40,7 @@ namespace rte {
  * \tparam RankType used for the rank part of the ranked symbol
  */
 template < class SymbolType, class RankType >
-class FormalRTEElement : public base::CommonBaseMiddle < FormalRTEElement < SymbolType, RankType > >, public ext::BaseNode < FormalRTEElement < SymbolType, RankType > > {
+class FormalRTEElement : public base::CommonBase < FormalRTEElement < SymbolType, RankType > >, public ext::BaseNode < FormalRTEElement < SymbolType, RankType > > {
 protected:
 	/**
 	 * Visitor interface of the element
@@ -121,8 +121,14 @@ protected:
 	virtual void accept ( FormalRTEElement::Visitor & visitor ) const = 0;
 
 public:
+	/**
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType >::clone ( ) const &
+	 */
 	virtual FormalRTEElement < SymbolType, RankType > * clone ( ) const & override = 0;
 
+	/**
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType >::clone ( ) &&
+	 */
 	virtual FormalRTEElement < SymbolType, RankType > * clone ( ) && override = 0;
 
 	/**
@@ -160,7 +166,9 @@ public:
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const = 0;
 
 	/**
-	 * \copydoc RankedNode::computeMinimalAlphabet()
+	 * Traverses the rte tree computing minimal symbol alphabet and substitution alphabet needed by rte
+	 *
+	 * \return the minimal symbol and substitution alphabet needed by the rte
 	 */
 	std::pair < ext::set < common::ranked_symbol < SymbolType, RankType > >, ext::set < common::ranked_symbol < SymbolType, RankType > > > computeMinimalAlphabets ( ) const;
 
diff --git a/alib2data/src/rte/formal/FormalRTEEmpty.h b/alib2data/src/rte/formal/FormalRTEEmpty.h
index 0e227c6088..73d54025d9 100644
--- a/alib2data/src/rte/formal/FormalRTEEmpty.h
+++ b/alib2data/src/rte/formal/FormalRTEEmpty.h
@@ -55,32 +55,32 @@ public:
 	explicit FormalRTEEmpty ( );
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) const &
 	 */
 	virtual FormalRTEEmpty < SymbolType, RankType > * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) &&
 	 */
 	virtual FormalRTEEmpty < SymbolType, RankType > * clone ( ) && override;
 
 	/**
-	 * @copydoc FormalRTEElement::testSymbol() const
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::testSymbol ( const common::ranked_symbol < SymbolType, RankType > & ) const
 	 */
 	virtual bool testSymbol ( const common::ranked_symbol < SymbolType, RankType > & symbol ) const override;
 
 	/**
-	 * @copydoc RTEElement::computeMinimalAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > &, ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::checkAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > &, const ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual bool checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & ) const
 	 */
 	virtual int compare ( const FormalRTEElement < SymbolType, RankType > & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -98,17 +98,17 @@ public:
 	int compare ( const FormalRTEEmpty & ) const;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc regexp::FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
+	 * @copydoc FormalRTEElement::normalize ( ) &&
 	 */
 	virtual ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > normalize ( ) && override {
 		return ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > ( new FormalRTEEmpty < DefaultSymbolType, DefaultRankType > ( ) );
diff --git a/alib2data/src/rte/formal/FormalRTEIteration.h b/alib2data/src/rte/formal/FormalRTEIteration.h
index 17ded8c7e2..75f84d3b4a 100644
--- a/alib2data/src/rte/formal/FormalRTEIteration.h
+++ b/alib2data/src/rte/formal/FormalRTEIteration.h
@@ -76,27 +76,27 @@ public:
 	explicit FormalRTEIteration ( const FormalRTEElement < SymbolType, RankType > & element, FormalRTESymbolSubst < SymbolType, RankType > substitutionSymbol );
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) const &
 	 */
 	virtual FormalRTEIteration < SymbolType, RankType > * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) &&
 	 */
 	virtual FormalRTEIteration < SymbolType, RankType > * clone ( ) && override;
 
 	/**
-	 * @copydoc FormalRTEElement::testSymbol() const
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::testSymbol ( const common::ranked_symbol < SymbolType, RankType > & ) const
 	 */
 	virtual bool testSymbol ( const common::ranked_symbol < SymbolType, RankType > & symbol ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::computeMinimalAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > &, ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::checkAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > &, const ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual bool checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
@@ -150,7 +150,7 @@ public:
 	void setSubstitutionSymbol ( FormalRTESymbolSubst < SymbolType, RankType > element );
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & ) const
 	 */
 	virtual int compare ( const FormalRTEElement < SymbolType, RankType > & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -168,17 +168,17 @@ public:
 	int compare ( const FormalRTEIteration & ) const;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc regexp::FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
 	 */
 	virtual ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > normalize ( ) && override {
 		FormalRTESymbolSubst < DefaultSymbolType, DefaultRankType > subst ( alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( m_substitutionSymbol ).getSymbol ( ) ) );
diff --git a/alib2data/src/rte/formal/FormalRTESubstitution.h b/alib2data/src/rte/formal/FormalRTESubstitution.h
index 7a9dff58ba..a3bad01953 100644
--- a/alib2data/src/rte/formal/FormalRTESubstitution.h
+++ b/alib2data/src/rte/formal/FormalRTESubstitution.h
@@ -77,27 +77,27 @@ public:
 	explicit FormalRTESubstitution ( const FormalRTEElement < SymbolType, RankType > & left, const FormalRTEElement < SymbolType, RankType > & right, FormalRTESymbolSubst < SymbolType, RankType > substitutionSymbol );
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) const &
 	 */
 	virtual FormalRTESubstitution < SymbolType, RankType > * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) &&
 	 */
 	virtual FormalRTESubstitution < SymbolType, RankType > * clone ( ) && override;
 
 	/**
-	 * @copydoc FormalRTEElement::testSymbol() const
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::testSymbol ( const common::ranked_symbol < SymbolType, RankType > & ) const
 	 */
 	virtual bool testSymbol ( const common::ranked_symbol < SymbolType, RankType > & symbol ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::computeMinimalAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > &, ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::checkAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > &, const ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual bool checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
@@ -179,7 +179,7 @@ public:
 	void setSubstitutionSymbol ( FormalRTESymbolSubst < SymbolType, RankType > element );
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & ) const
 	 */
 	virtual int compare ( const FormalRTEElement < SymbolType, RankType > & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -197,17 +197,17 @@ public:
 	int compare ( const FormalRTESubstitution & ) const;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc regexp::FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
 	 */
 	virtual ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > normalize ( ) && override {
 		FormalRTESymbolSubst < DefaultSymbolType, DefaultRankType > subst ( alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( m_substitutionSymbol ).getSymbol ( ) ) );
diff --git a/alib2data/src/rte/formal/FormalRTESymbol.h b/alib2data/src/rte/formal/FormalRTESymbol.h
index 71d9208e16..a61a55b6a2 100644
--- a/alib2data/src/rte/formal/FormalRTESymbol.h
+++ b/alib2data/src/rte/formal/FormalRTESymbol.h
@@ -57,7 +57,7 @@ public:
 	virtual FormalRTESymbol < SymbolType, RankType > * clone ( ) const & override = 0;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement::clone ( ) &&
 	 */
 	virtual FormalRTESymbol < SymbolType, RankType > * clone ( ) && override = 0;
 
diff --git a/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h b/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h
index 7980552c2f..ae0fee2e9b 100644
--- a/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h
+++ b/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h
@@ -61,27 +61,27 @@ public:
 	explicit FormalRTESymbolAlphabet ( common::ranked_symbol < SymbolType, RankType > symbol, ext::ptr_vector < FormalRTEElement < SymbolType, RankType > > children );
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) const &
 	 */
 	virtual FormalRTESymbolAlphabet < SymbolType, RankType > * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) &&
 	 */
 	virtual FormalRTESymbolAlphabet < SymbolType, RankType > * clone ( ) && override;
 
 	/**
-	 * @copydoc FormalRTEElement::testSymbol() const
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::testSymbol ( const common::ranked_symbol < SymbolType, RankType > & ) const
 	 */
 	virtual bool testSymbol ( const common::ranked_symbol < SymbolType, RankType > & symbol ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::computeMinimalAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > &, ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::checkAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > &, const ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual bool checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
@@ -100,7 +100,7 @@ public:
 	ext::ptr_vector < FormalRTEElement < SymbolType, RankType > > & getElements ( );
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & ) const
 	 */
 	virtual int compare ( const FormalRTEElement < SymbolType, RankType > & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -118,17 +118,17 @@ public:
 	int compare ( const FormalRTESymbolAlphabet & ) const;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc regexp::FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
 	 */
 	virtual ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > normalize ( ) && override {
 		ext::ptr_vector < FormalRTEElement < DefaultSymbolType, DefaultRankType > > children;
diff --git a/alib2data/src/rte/formal/FormalRTESymbolSubst.h b/alib2data/src/rte/formal/FormalRTESymbolSubst.h
index bd51b5c70f..170d9b9952 100644
--- a/alib2data/src/rte/formal/FormalRTESymbolSubst.h
+++ b/alib2data/src/rte/formal/FormalRTESymbolSubst.h
@@ -60,32 +60,32 @@ public:
 	explicit FormalRTESymbolSubst ( common::ranked_symbol < SymbolType, RankType > symbol );
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) const &
 	 */
 	virtual FormalRTESymbolSubst < SymbolType, RankType > * clone ( ) const & override;
 
 	/**
-	 * @copydoc FormalRTEElement::clone ( ) const &
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::clone ( ) &&
 	 */
 	virtual FormalRTESymbolSubst < SymbolType, RankType > * clone ( ) && override;
 
 	/**
-	 * @copydoc FormalRTEElement::testSymbol() const
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::testSymbol ( const common::ranked_symbol < SymbolType, RankType > & ) const
 	 */
 	virtual bool testSymbol ( const common::ranked_symbol < SymbolType, RankType > & symbol ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::computeMinimalAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > &, ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual void computeMinimalAlphabet ( ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc FormalRTEElement::checkAlphabet()
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > &, const ext::set < common::ranked_symbol < SymbolType, RankType > > & ) const
 	 */
 	virtual bool checkAlphabet ( const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetF, const ext::set < common::ranked_symbol < SymbolType, RankType > > & alphabetK ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::compare ( const FormalRTEElement < SymbolType, RankType > & ) const
 	 */
 	virtual int compare ( const FormalRTEElement < SymbolType, RankType > & other ) const override {
 		if ( ext::type_index ( typeid ( * this ) ) == ext::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
@@ -103,17 +103,17 @@ public:
 	int compare ( const FormalRTESymbolSubst & ) const;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator >> ( std::ostream & ) const
 	 */
 	virtual void operator >>( std::ostream & out ) const override;
 
 	/**
-	 * @copydoc alib::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( )
+	 * @copydoc base::CommonBase < FormalRTEElement < SymbolType, RankType > >::operator std::string ( ) const
 	 */
 	virtual explicit operator std::string ( ) const override;
 
 	/**
-	 * @copydoc regexp::FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
+	 * @copydoc FormalRTEElement < SymbolType, RankType >::normalize ( ) &&
 	 */
 	virtual ext::smart_ptr < FormalRTEElement < DefaultSymbolType, DefaultRankType > > normalize ( ) && override {
 		FormalRTESymbolSubst < DefaultSymbolType, DefaultRankType > res ( alphabet::SymbolNormalize::normalizeRankedSymbol ( std::move ( this->m_symbol ) ) );
-- 
GitLab