diff --git a/alib2cli/src/lexer/StringCharSequence.h b/alib2cli/src/lexer/StringCharSequence.h index 0da555d0f05184fa217d52181bd6bea7c93d093f..aa7bb3c547dbd4b769a642bf7aded83b5f104472 100644 --- a/alib2cli/src/lexer/StringCharSequence.h +++ b/alib2cli/src/lexer/StringCharSequence.h @@ -19,6 +19,18 @@ public: this->linePtr = m_line.c_str ( ); } + StringCharSequence ( StringCharSequence && other ) : CharSequenceBase ( std::move ( other ) ) { + size_t dist = this->linePtr - other.m_line.c_str ( ); + m_line = std::move ( other.m_line ); + this->linePtr = m_line.c_str ( ) + dist; + } + + StringCharSequence ( const StringCharSequence & ) = delete; + + StringCharSequence & operator = ( StringCharSequence && ) = delete; + + StringCharSequence & operator = ( const StringCharSequence & ) = delete; + virtual std::string getLine ( ) const override { return m_line; } diff --git a/aql2/src/prompt/ReadlineCharSequence.h b/aql2/src/prompt/ReadlineCharSequence.h index 5d77e24e22ae529112c085f0402cb0887cb7ac23..e4b12f7e8a746cd008244c19462dab9824192d5c 100644 --- a/aql2/src/prompt/ReadlineCharSequence.h +++ b/aql2/src/prompt/ReadlineCharSequence.h @@ -56,6 +56,14 @@ public: fetch ( true ); } + ReadlineCharSequence ( ReadlineCharSequence && ) = default; + + ReadlineCharSequence ( const ReadlineCharSequence & ) = delete; + + ReadlineCharSequence & operator = ( ReadlineCharSequence && ) = delete; + + ReadlineCharSequence & operator = ( const ReadlineCharSequence & ) = delete; + virtual std::string getLine ( ) const override { std::string res; for ( const std::string & line : m_lines ) {