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