diff --git a/src/utils/PugsTraits.hpp b/src/utils/PugsTraits.hpp index f51b455cb5ea4efa678dd980d1fec2721ab1fd2a..e1dc8b48d6b15fa05ac9b9b9378385e351fadb2b 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>