EnTT  3.10.0
tuple.hpp
1 #ifndef ENTT_CORE_TUPLE_HPP
2 #define ENTT_CORE_TUPLE_HPP
3 
4 #include <tuple>
5 #include <type_traits>
6 #include <utility>
7 #include "../config/config.h"
8 
9 namespace entt {
10 
18 template<typename Type>
19 constexpr decltype(auto) unwrap_tuple(Type &&value) ENTT_NOEXCEPT {
20  if constexpr(std::tuple_size_v<std::remove_reference_t<Type>> == 1u) {
21  return std::get<0>(std::forward<Type>(value));
22  } else {
23  return std::forward<Type>(value);
24  }
25 }
26 
27 } // namespace entt
28 
29 #endif
EnTT default namespace.
Definition: dense_map.hpp:22
constexpr decltype(auto) unwrap_tuple(Type &&value)
Utility function to unwrap tuples of a single element.
Definition: tuple.hpp:19