summaryrefslogtreecommitdiff
path: root/Utilities/std/cm
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2020-01-07 11:29:32 +0100
committerMarc Chevrier <marc.chevrier@gmail.com>2020-01-17 11:09:48 +0100
commit04c2f67492c5ccc59592e8575a7c66f66aca71a6 (patch)
tree42a9373864bdf8a3d8bb6eb6709e9b9945c0deb8 /Utilities/std/cm
parent1e728706de1457a25fe531d5905c28570a208a08 (diff)
downloadcmake-04c2f67492c5ccc59592e8575a7c66f66aca71a6.tar.gz
STL Support: extends type_traits for future developments
Diffstat (limited to 'Utilities/std/cm')
-rw-r--r--Utilities/std/cm/type_traits10
1 files changed, 10 insertions, 0 deletions
diff --git a/Utilities/std/cm/type_traits b/Utilities/std/cm/type_traits
index 4dfe17bc8c..e32c2c676d 100644
--- a/Utilities/std/cm/type_traits
+++ b/Utilities/std/cm/type_traits
@@ -33,6 +33,8 @@ using std::bool_constant;
using std::invoke_result;
using std::invoke_result_t;
+using std::void_t;
+
#else
// Helper classes
@@ -46,6 +48,14 @@ using invoke_result = std::result_of<F(ArgTypes...)>;
template <class F, typename... ArgTypes>
using invoke_result_t = typename invoke_result<F, ArgTypes...>::type;
+template <typename... ArgTypes>
+struct make_void
+{
+ typedef void type;
+};
+template <typename... ArgTypes>
+using void_t = typename make_void<ArgTypes...>::type;
+
#endif
} // namespace cm