aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/syntax-highlighting/src/lib/state.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/3rdparty/syntax-highlighting/src/lib/state.h')
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/state.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/state.h b/src/libs/3rdparty/syntax-highlighting/src/lib/state.h
index 726ff32a884..3003a9b7cbf 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/state.h
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/state.h
@@ -10,11 +10,15 @@
#include "ksyntaxhighlighting_export.h"
#include <QExplicitlySharedDataPointer>
+#include <QHash>
namespace KSyntaxHighlighting
{
+class State;
class StateData;
+KSYNTAXHIGHLIGHTING_EXPORT std::size_t qHash(const State &state, std::size_t seed = 0);
+
/** Opaque handle to the state of the highlighting engine.
* This needs to be fed into AbstractHighlighter for every line of text
* and allows concrete highlighter implementations to store state per
@@ -29,9 +33,11 @@ public:
* in a document.
*/
State();
- State(const State &other);
+ State(State &&other) noexcept;
+ State(const State &other) noexcept;
~State();
- State &operator=(const State &rhs);
+ State &operator=(State &&rhs) noexcept;
+ State &operator=(const State &rhs) noexcept;
/** Compares two states for equality.
* For two equal states and identical text input, AbstractHighlighter
@@ -56,13 +62,13 @@ public:
private:
friend class StateData;
+ KSYNTAXHIGHLIGHTING_EXPORT friend std::size_t qHash(const State &, std::size_t);
QExplicitlySharedDataPointer<StateData> d;
};
-
}
QT_BEGIN_NAMESPACE
-Q_DECLARE_TYPEINFO(KSyntaxHighlighting::State, Q_MOVABLE_TYPE);
+Q_DECLARE_TYPEINFO(KSyntaxHighlighting::State, Q_RELOCATABLE_TYPE);
QT_END_NAMESPACE
#endif // KSYNTAXHIGHLIGHTING_STATE_H