From 86fd02622e9cdf9fedc6a3f408aba2e9ba5b7bdf Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Fri, 23 Nov 2018 12:02:03 +0100
Subject: [PATCH] fix moving CharSequence implementation classes

---
 alib2cli/src/lexer/StringCharSequence.h | 12 ++++++++++++
 aql2/src/prompt/ReadlineCharSequence.h  |  8 ++++++++
 2 files changed, 20 insertions(+)

diff --git a/alib2cli/src/lexer/StringCharSequence.h b/alib2cli/src/lexer/StringCharSequence.h
index 0da555d0f0..aa7bb3c547 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 5d77e24e22..e4b12f7e8a 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 ) {
-- 
GitLab