1
0
Fork 0
mirror of https://github.com/bolero-MURAKAMI/Sprout synced 2025-08-03 12:49:50 +00:00

fix container_traits for array-like classes

fix coding style algorithm/
This commit is contained in:
bolero-MURAKAMI 2012-09-29 17:10:46 +09:00
parent 06f1933220
commit 0c00166c5f
123 changed files with 1608 additions and 2224 deletions

View file

@ -6,13 +6,15 @@
#include <sprout/utility/forward.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/tuple/tuple/get.hpp>
#include <sprout/adl/not_found.hpp>
namespace sprout_adl {
sprout::adl_not_found generated_value(...);
} // namespace sprout_adl
namespace sprout_generator_detail {
using sprout::tuples::get;
struct not_found_adl_generated_value {};
sprout_generator_detail::not_found_adl_generated_value generated_value(...);
using sprout_adl::generated_value;
template<typename T>
struct has_mem_generated_value_test {
@ -35,7 +37,7 @@ namespace sprout_generator_detail {
template<
typename U = T,
typename sprout::enabler_if<
!std::is_same<decltype(generated_value(std::declval<U>())), sprout_generator_detail::not_found_adl_generated_value>::value
!std::is_same<decltype(generated_value(std::declval<U>())), sprout::adl_not_found>::value
>::type = sprout::enabler
>
static std::true_type test(int);

View file

@ -6,13 +6,15 @@
#include <sprout/utility/forward.hpp>
#include <sprout/type_traits/enabler_if.hpp>
#include <sprout/tuple/tuple/get.hpp>
#include <sprout/adl/not_found.hpp>
namespace sprout_adl {
sprout::adl_not_found next_generator(...);
} // namespace sprout_adl
namespace sprout_generator_detail {
using sprout::tuples::get;
struct not_found_adl_next_generator {};
sprout_generator_detail::not_found_adl_next_generator next_generator(...);
using sprout_adl::next_generator;
template<typename T>
struct has_mem_next_generator_test {
@ -35,7 +37,7 @@ namespace sprout_generator_detail {
template<
typename U = T,
typename sprout::enabler_if<
!std::is_same<decltype(next_generator(std::declval<U>())), sprout_generator_detail::not_found_adl_next_generator>::value
!std::is_same<decltype(next_generator(std::declval<U>())), sprout::adl_not_found>::value
>::type = sprout::enabler
>
static std::true_type test(int);