aboutsummaryrefslogtreecommitdiffstats
path: root/src/catch2/internal/catch_move_and_forward.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/catch2/internal/catch_move_and_forward.hpp')
-rw-r--r--src/catch2/internal/catch_move_and_forward.hpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/catch2/internal/catch_move_and_forward.hpp b/src/catch2/internal/catch_move_and_forward.hpp
new file mode 100644
index 0000000..383d85c
--- /dev/null
+++ b/src/catch2/internal/catch_move_and_forward.hpp
@@ -0,0 +1,19 @@
+
+// Copyright Catch2 Authors
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE.txt or copy at
+// https://www.boost.org/LICENSE_1_0.txt)
+
+// SPDX-License-Identifier: BSL-1.0
+#ifndef CATCH_MOVE_AND_FORWARD_HPP_INCLUDED
+#define CATCH_MOVE_AND_FORWARD_HPP_INCLUDED
+
+#include <type_traits>
+
+//! Replacement for std::move with better compile time performance
+#define CATCH_MOVE(...) static_cast<std::remove_reference_t<decltype(__VA_ARGS__)>&&>(__VA_ARGS__)
+
+//! Replacement for std::forward with better compile time performance
+#define CATCH_FORWARD(...) static_cast<decltype(__VA_ARGS__)&&>(__VA_ARGS__)
+
+#endif // CATCH_MOVE_AND_FORWARD_HPP_INCLUDED