1
0
Fork 0
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:
bolero-MURAKAMI 2014-03-15 18:11:11 +09:00
parent 7e709630c6
commit 61dd3351fc
26 changed files with 205 additions and 48 deletions

View file

@ -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

View file

@ -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

View file

@ -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