mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-08-03 12:49:50 +00:00
support for VC++2015
This commit is contained in:
parent
f2c09dd3af
commit
b9440c0e9c
33 changed files with 353 additions and 253 deletions
|
@ -23,7 +23,11 @@ namespace sprout {
|
|||
// tuple_element
|
||||
//
|
||||
namespace detail {
|
||||
#if defined(_MSC_VER)
|
||||
template<std::size_t I, typename T, bool = true>
|
||||
#else
|
||||
template<std::size_t I, typename T, bool = sprout::has_value<std::tuple_size<T> >::value>
|
||||
#endif
|
||||
struct valid_tuple_index;
|
||||
template<std::size_t I, typename T>
|
||||
struct valid_tuple_index<I, T, false>
|
||||
|
@ -34,7 +38,11 @@ namespace sprout {
|
|||
: public sprout::bool_constant<(I < std::tuple_size<T>::value)>
|
||||
{};
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
template<std::size_t I, typename T, bool = true>
|
||||
#else
|
||||
template<std::size_t I, typename T, bool = sprout::has_type<std::tuple_element<I, T> >::value && sprout::tuples::detail::valid_tuple_index<I, T>::value>
|
||||
#endif
|
||||
struct tuple_element_default;
|
||||
template<std::size_t I, typename T>
|
||||
struct tuple_element_default<I, T, false>
|
||||
|
|
|
@ -21,7 +21,11 @@ namespace sprout {
|
|||
// tuple_size
|
||||
//
|
||||
namespace detail {
|
||||
#if defined(_MSC_VER)
|
||||
template<typename T, bool = true>
|
||||
#else
|
||||
template<typename T, bool = sprout::has_value<std::tuple_size<T> >::value>
|
||||
#endif
|
||||
struct tuple_size_default;
|
||||
template<typename T>
|
||||
struct tuple_size_default<T, false>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue