diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-10-05 13:10:06 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-10-06 11:32:18 +0200 |
commit | 92a4a2a0ed7a8a391406030d1db813de7dd31429 (patch) | |
tree | c601d58eb97099c343f2c496aced18f9d0988530 /sources/shiboken6/tests/libminimal | |
parent | dc11b2d45959ebd4a088dcd7dbcc24a1753a62b3 (diff) |
shiboken tests: Fix special functions (simple cases)
Introduce convenience macros similar to the Qt macros
and specify the special functions where missing.
Pick-to: 6.6
Task-number: PYSIDE-2479
Change-Id: I761a08e3e3c9393e1f2bb0514e2ad4de52cd99a0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Diffstat (limited to 'sources/shiboken6/tests/libminimal')
-rw-r--r-- | sources/shiboken6/tests/libminimal/libminimalmacros.h | 24 | ||||
-rw-r--r-- | sources/shiboken6/tests/libminimal/listuser.h | 4 | ||||
-rw-r--r-- | sources/shiboken6/tests/libminimal/minbool.h | 5 | ||||
-rw-r--r-- | sources/shiboken6/tests/libminimal/obj.cpp | 2 | ||||
-rw-r--r-- | sources/shiboken6/tests/libminimal/obj.h | 6 | ||||
-rw-r--r-- | sources/shiboken6/tests/libminimal/val.h | 4 |
6 files changed, 39 insertions, 6 deletions
diff --git a/sources/shiboken6/tests/libminimal/libminimalmacros.h b/sources/shiboken6/tests/libminimal/libminimalmacros.h index e0dfdd196..099c1f1de 100644 --- a/sources/shiboken6/tests/libminimal/libminimalmacros.h +++ b/sources/shiboken6/tests/libminimal/libminimalmacros.h @@ -22,4 +22,28 @@ # define LIBMINIMAL_API LIBMINIMAL_IMPORT #endif +#define LIBMINIMAL_DEFAULT_COPY(Class) \ + Class(const Class &) noexcept = default; \ + Class &operator=(const Class &) noexcept = default; + +#define LIBMINIMAL_DISABLE_COPY(Class) \ + Class(const Class &) = delete;\ + Class &operator=(const Class &) = delete; + +#define LIBMINIMAL_DEFAULT_MOVE(Class) \ + Class(Class &&) noexcept = default; \ + Class &operator=(Class &&) noexcept = default; + +#define LIBMINIMAL_DEFAULT_COPY_MOVE(Class) \ + LIBMINIMAL_DEFAULT_COPY(Class) \ + LIBMINIMAL_DEFAULT_MOVE(Class) + +#define LIBMINIMAL_DISABLE_MOVE(Class) \ + Class(Class &&) = delete; \ + Class &operator=(Class &&) = delete; + +#define LIBMINIMAL_DISABLE_COPY_MOVE(Class) \ + LIBMINIMAL_DISABLE_COPY(Class) \ + LIBMINIMAL_DISABLE_MOVE(Class) + #endif // LIBMINIMALMACROS_H diff --git a/sources/shiboken6/tests/libminimal/listuser.h b/sources/shiboken6/tests/libminimal/listuser.h index e11f7638b..9904ef27d 100644 --- a/sources/shiboken6/tests/libminimal/listuser.h +++ b/sources/shiboken6/tests/libminimal/listuser.h @@ -14,6 +14,10 @@ struct LIBMINIMAL_API ListUser { + LIBMINIMAL_DEFAULT_COPY(ListUser) + LIBMINIMAL_DISABLE_MOVE(ListUser) + + ListUser() noexcept = default; virtual ~ListUser() = default; // List of C++ primitive type items diff --git a/sources/shiboken6/tests/libminimal/minbool.h b/sources/shiboken6/tests/libminimal/minbool.h index 168ca4863..e460f466b 100644 --- a/sources/shiboken6/tests/libminimal/minbool.h +++ b/sources/shiboken6/tests/libminimal/minbool.h @@ -31,7 +31,10 @@ inline bool operator!=(MinBool b1, MinBool b2) { return (!b1).value() != (!b2).v class LIBMINIMAL_API MinBoolUser { public: - MinBoolUser() : m_minbool(MinBool(false)) {} + LIBMINIMAL_DEFAULT_COPY(MinBoolUser) + LIBMINIMAL_DISABLE_MOVE(MinBoolUser) + + MinBoolUser() noexcept : m_minbool(MinBool(false)) {} virtual ~MinBoolUser() = default; inline MinBool minBool() { return m_minbool; } inline void setMinBool(MinBool minBool) { m_minbool = minBool; } diff --git a/sources/shiboken6/tests/libminimal/obj.cpp b/sources/shiboken6/tests/libminimal/obj.cpp index f21fb5454..a63a9c3c9 100644 --- a/sources/shiboken6/tests/libminimal/obj.cpp +++ b/sources/shiboken6/tests/libminimal/obj.cpp @@ -3,7 +3,7 @@ #include "obj.h" -Obj::Obj(int objId) : m_objId(objId) +Obj::Obj(int objId) noexcept : m_objId(objId) { } diff --git a/sources/shiboken6/tests/libminimal/obj.h b/sources/shiboken6/tests/libminimal/obj.h index 55a798c02..be0bfb52b 100644 --- a/sources/shiboken6/tests/libminimal/obj.h +++ b/sources/shiboken6/tests/libminimal/obj.h @@ -9,7 +9,9 @@ class LIBMINIMAL_API Obj { public: - explicit Obj(int objId); + LIBMINIMAL_DISABLE_COPY_MOVE(Obj) + + explicit Obj(int objId) noexcept; virtual ~Obj(); int objId() const { return m_objId; } @@ -25,8 +27,6 @@ public: Obj* callPassObjectTypeReference(Obj& obj) { return passObjectTypeReference(obj); } private: - Obj(const Obj&); - Obj& operator=(const Obj&); int m_objId; }; diff --git a/sources/shiboken6/tests/libminimal/val.h b/sources/shiboken6/tests/libminimal/val.h index f6a19c166..50f090a7d 100644 --- a/sources/shiboken6/tests/libminimal/val.h +++ b/sources/shiboken6/tests/libminimal/val.h @@ -9,7 +9,9 @@ class LIBMINIMAL_API Val { public: - explicit Val(int valId) : m_valId(valId) {} + explicit Val(int valId) noexcept : m_valId(valId) {} + LIBMINIMAL_DEFAULT_COPY_MOVE(Val) + virtual ~Val() = default; int valId() const { return m_valId; } |