mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-08-03 12:49:50 +00:00
add type_traits for variable templates version
This commit is contained in:
parent
7e709630c6
commit
61dd3351fc
26 changed files with 205 additions and 48 deletions
|
@ -43,6 +43,15 @@ namespace sprout {
|
|||
} // namespace tuples
|
||||
|
||||
using sprout::tuples::tuple_element;
|
||||
|
||||
#if SPROUT_USE_TEMPLATE_ALIASES
|
||||
namespace tuples {
|
||||
template<std::size_t I, typename T>
|
||||
using tuple_element_t = typename sprout::tuples::tuple_element<I, T>::type;
|
||||
} // namespace tuples
|
||||
|
||||
using sprout::tuples::tuple_element_t;
|
||||
#endif // #if SPROUT_USE_TEMPLATE_ALIASES
|
||||
} // namespace sprout
|
||||
|
||||
#endif // #ifndef SPROUT_TUPLE_TUPLE_TUPLE_ELEMENT_HPP
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#ifndef SPROUT_TUPLE_TUPLE_TUPLE_SIZE_HPP
|
||||
#define SPROUT_TUPLE_TUPLE_TUPLE_SIZE_HPP
|
||||
|
||||
#include <cstddef>
|
||||
#include <tuple>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/type_traits/detail/type_traits_wrapper.hpp>
|
||||
|
@ -36,6 +37,15 @@ namespace sprout {
|
|||
} // namespace tuples
|
||||
|
||||
using sprout::tuples::tuple_size;
|
||||
|
||||
#if SPROUT_USE_VARIABLE_TEMPLATES
|
||||
namespace tuples {
|
||||
template<typename T>
|
||||
SPROUT_STATIC_CONSTEXPR std::size_t tuple_size_v = sprout::tuples::tuple_size<T>::value;
|
||||
} // namespace tuples
|
||||
|
||||
using sprout::tuples::tuple_size_v;
|
||||
#endif // #if SPROUT_USE_VARIABLE_TEMPLATES
|
||||
} // namespace sprout
|
||||
|
||||
#endif // #ifndef SPROUT_TUPLE_TUPLE_TUPLE_SIZE_HPP
|
||||
|
|
|
@ -36,6 +36,15 @@ namespace sprout {
|
|||
} // namespace tuples
|
||||
|
||||
using sprout::tuples::is_tuple;
|
||||
|
||||
#if SPROUT_USE_VARIABLE_TEMPLATES
|
||||
namespace tuples {
|
||||
template<typename T>
|
||||
SPROUT_STATIC_CONSTEXPR bool is_tuple_v = sprout::tuples::is_tuple_v<T>::value;
|
||||
} // namespace tuples
|
||||
|
||||
using sprout::tuples::is_tuple;
|
||||
#endif // #if SPROUT_USE_VARIABLE_TEMPLATES
|
||||
} // namespace sprout
|
||||
|
||||
#endif // #ifndef SPROUT_TUPLE_TUPLE_TYPE_TRAITS_HPP
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue