diff --git a/alib2/src/AlibException.h b/alib2/src/AlibException.h index 7a8c7e082ced9cf61006a200d4f96d645e9035e1..9c33fd60cb5d1eda01dcf5594a8a1a5d57df2885 100644 --- a/alib2/src/AlibException.h +++ b/alib2/src/AlibException.h @@ -24,7 +24,7 @@ protected: public: AlibException ( ); - AlibException ( const std::string & cause ); + explicit AlibException ( const std::string & cause ); virtual ~AlibException ( ) noexcept; /** diff --git a/alib2/src/alphabet/Blank.cpp b/alib2/src/alphabet/Blank.cpp index 0f604e22d84dc2c3d23a416b99a594be69169b84..060950e349c3a76f65ce558f577cb57f3fbf6d5b 100644 --- a/alib2/src/alphabet/Blank.cpp +++ b/alib2/src/alphabet/Blank.cpp @@ -13,4 +13,6 @@ Blank::Blank() : Symbol("") { } +Blank Blank::BLANK = Blank(); + } /* namespace alphabet */ diff --git a/alib2/src/alphabet/Blank.h b/alib2/src/alphabet/Blank.h index b65c10fa7465e5e55300b73af924a8b6f93ee991..f7a9708153e1392a4ed5c86d182314737d6c8e98 100644 --- a/alib2/src/alphabet/Blank.h +++ b/alib2/src/alphabet/Blank.h @@ -23,6 +23,7 @@ public: */ Blank(); + static Blank BLANK; }; } /* namespace alphabet */ diff --git a/alib2/src/alphabet/Symbol.h b/alib2/src/alphabet/Symbol.h index 41b44a0dcbaf7f42849aa1161e26905a1807ee06..a7c39ba3b372b765708b1228d2a6bca0e30da11c 100644 --- a/alib2/src/alphabet/Symbol.h +++ b/alib2/src/alphabet/Symbol.h @@ -24,8 +24,8 @@ public: * Creates new symbol with given name. * @param symbol name of the symbol */ - Symbol(const std::string& symbol); - Symbol(std::string&& symbol); + explicit Symbol(const std::string& symbol); + explicit Symbol(std::string&& symbol); /** * @return name of the symbol diff --git a/alib2/src/automaton/AutomatonException.h b/alib2/src/automaton/AutomatonException.h index 80f0662321839ceba449fe1ba2141d1c5619af7e..864312c09cc229d3494f0df222ce6d16412d795b 100644 --- a/alib2/src/automaton/AutomatonException.h +++ b/alib2/src/automaton/AutomatonException.h @@ -18,7 +18,7 @@ namespace automaton { class AutomatonException: public alib::AlibException { public: AutomatonException(); - AutomatonException(const std::string& cause); + explicit AutomatonException(const std::string& cause); virtual ~AutomatonException() throw (); }; diff --git a/alib2/src/automaton/UnknownAutomaton.cpp b/alib2/src/automaton/UnknownAutomaton.cpp index 9a3d7787d55ef50c3fdf6ef2f815d54ece061161..d8f79988a8cd39c36366cbede090e3cf5810162a 100644 --- a/alib2/src/automaton/UnknownAutomaton.cpp +++ b/alib2/src/automaton/UnknownAutomaton.cpp @@ -165,8 +165,9 @@ std::ostream& operator<<(std::ostream& out, const UnknownAutomaton& automaton) { << " stackAlphabet = " << automaton.stackAlphabet << " initialSymbols = " << automaton.initialSymbols << " tapeAlphabet = " << automaton.tapeAlphabet - << " blankSymbol = " << ((automaton.blankSymbol == NULL) ? (std::string) "NULL" : *automaton.blankSymbol) - << " transitions = " << automaton.transitions + << " blankSymbol = "; + if(automaton.blankSymbol == NULL) out << "NULL"; else out << *automaton.blankSymbol; + out << " transitions = " << automaton.transitions << ")"; return out; } diff --git a/alib2/src/regexp/Alternation.h b/alib2/src/regexp/Alternation.h index 5424fe016eee98f0204521bb6f63a88c2aff8e70..8d6b1498c25edfa5f17b64759e7ab97363d5a71c 100644 --- a/alib2/src/regexp/Alternation.h +++ b/alib2/src/regexp/Alternation.h @@ -47,8 +47,8 @@ protected: virtual void computeMinimalAlphabet( std::set<alphabet::Symbol>& alphabet ) const; public: - Alternation(RegExpElement&& left, RegExpElement&& right); - Alternation(const RegExpElement& left, const RegExpElement& right); + explicit Alternation(RegExpElement&& left, RegExpElement&& right); + explicit Alternation(const RegExpElement& left, const RegExpElement& right); Alternation(const Alternation& other); Alternation(Alternation&& other) noexcept; diff --git a/alib2/src/regexp/Concatenation.h b/alib2/src/regexp/Concatenation.h index f3cb0ad367933bfc06c6e69a3a3f72acb9aa1813..de3430d129ab9671f804fb0cd5f0a10571669335 100644 --- a/alib2/src/regexp/Concatenation.h +++ b/alib2/src/regexp/Concatenation.h @@ -44,8 +44,8 @@ protected: virtual void computeMinimalAlphabet( std::set<alphabet::Symbol>& alphabet ) const; public: - Concatenation(RegExpElement&& left, RegExpElement&& right); - Concatenation(const RegExpElement& left, const RegExpElement& right); + explicit Concatenation(RegExpElement&& left, RegExpElement&& right); + explicit Concatenation(const RegExpElement& left, const RegExpElement& right); Concatenation(const Concatenation& other); Concatenation(Concatenation&& other) noexcept; diff --git a/alib2/src/regexp/Iteration.h b/alib2/src/regexp/Iteration.h index f0eb5139e089bc4bb17e1e9356ef03cf40fe6a6e..18d226158c1d5cddb8ca4f55e236cc7809f8ea32 100644 --- a/alib2/src/regexp/Iteration.h +++ b/alib2/src/regexp/Iteration.h @@ -44,8 +44,8 @@ protected: virtual void computeMinimalAlphabet( std::set<alphabet::Symbol>& alphabet ) const; public: - Iteration(RegExpElement&&); - Iteration(const RegExpElement&); + explicit Iteration(RegExpElement&&); + explicit Iteration(const RegExpElement&); Iteration(const Iteration& other); Iteration(Iteration&& other) noexcept; diff --git a/alib2/src/regexp/RegExp.h b/alib2/src/regexp/RegExp.h index 11a50be84355962a34cbaeecfc9984aea06033cc..99b900f099509f16025ca117ad89b20c7d8afcd1 100644 --- a/alib2/src/regexp/RegExp.h +++ b/alib2/src/regexp/RegExp.h @@ -33,8 +33,8 @@ public: RegExp(); RegExp(const std::set<alphabet::Symbol>& alphabet, const RegExpElement& regExp); RegExp(std::set<alphabet::Symbol>&& alphabet, RegExpElement&& regExp); - RegExp(const RegExpElement& regExp); - RegExp(RegExpElement&& regExp); + explicit RegExp(const RegExpElement& regExp); + explicit RegExp(RegExpElement&& regExp); /** * Copy constructor. diff --git a/alib2/src/regexp/RegExpSymbol.h b/alib2/src/regexp/RegExpSymbol.h index e94d40bc9b1ba228258e7d2d723cbecbc5cc3de4..c32dea2405f177fe2dd17f08a2f27c83641f2d2d 100644 --- a/alib2/src/regexp/RegExpSymbol.h +++ b/alib2/src/regexp/RegExpSymbol.h @@ -41,8 +41,8 @@ protected: */ virtual void computeMinimalAlphabet( std::set<alphabet::Symbol>& alphabet ) const; public: - RegExpSymbol(const std::string& symbol); - RegExpSymbol(std::string&& symbol); + explicit RegExpSymbol(const std::string& symbol); + explicit RegExpSymbol(std::string&& symbol); RegExpSymbol(const RegExpSymbol& other); RegExpSymbol(RegExpSymbol&& other) noexcept; diff --git a/alib2/src/string/CyclicString.h b/alib2/src/string/CyclicString.h index 2db7f39cdc750746372988e62d7b0647db4a5811..79a65d9a3325038636bbd74310e64506988a8e5c 100644 --- a/alib2/src/string/CyclicString.h +++ b/alib2/src/string/CyclicString.h @@ -27,7 +27,7 @@ protected: public: CyclicString(); - CyclicString(std::vector<alphabet::Symbol>& data); + explicit CyclicString(std::vector<alphabet::Symbol>& data); /** * @return the input alphabet diff --git a/alib2/src/string/String.h b/alib2/src/string/String.h index 436163210bb0229786d3bf989a29939d6450d2c0..1f0e164e6dc3cc5ce68549538c549fe0c92d6651 100644 --- a/alib2/src/string/String.h +++ b/alib2/src/string/String.h @@ -27,7 +27,7 @@ protected: public: String(); - String(std::vector<alphabet::Symbol>& data); + explicit String(std::vector<alphabet::Symbol>& data); /** * @return the input alphabet