From b9e6bbe4ea92c17cbceba5fd54e463f6a27d4f97 Mon Sep 17 00:00:00 2001 From: Stephane Del Pino <stephane.delpino44@gmail.com> Date: Mon, 22 Feb 2021 21:36:37 +0100 Subject: [PATCH] Add an `is_std_tuple_v` type traits utility --- src/utils/PugsTraits.hpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/utils/PugsTraits.hpp b/src/utils/PugsTraits.hpp index f51b455cb..e1dc8b48d 100644 --- a/src/utils/PugsTraits.hpp +++ b/src/utils/PugsTraits.hpp @@ -3,6 +3,7 @@ #include <cstddef> #include <memory> +#include <tuple> #include <type_traits> #include <variant> #include <vector> @@ -40,7 +41,7 @@ inline constexpr bool is_shared_ptr_v = false; template <typename T> inline constexpr bool is_shared_ptr_v<std::shared_ptr<T>> = true; -// Traits is_shared_ptr +// Traits is_unique_ptr template <typename T> inline constexpr bool is_unique_ptr_v = false; @@ -76,6 +77,14 @@ inline constexpr bool is_std_vector_v = false; template <typename T> inline constexpr bool is_std_vector_v<std::vector<T>> = true; +// Traits is_std_tuple + +template <typename... T> +inline constexpr bool is_std_tuple_v = false; + +template <typename... T> +inline constexpr bool is_std_tuple_v<std::tuple<T...>> = true; + // Traits is_tiny_vector template <typename T> -- GitLab