1 /*============================================================================= 2 Copyright (C) 2015 Kohei Takahshi 3 4 Distributed under the Boost Software License, Version 1.0. (See accompanying 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 ==============================================================================*/ 7 #include <boost/fusion/tuple/tuple.hpp> 8 #include <boost/core/lightweight_test.hpp> 9 10 #define FUSION_SEQUENCE boost::fusion::tuple 11 #include "nest.hpp" 12 13 14 // tuple does not support conversion construction from sequence by design 15 template <typename T> 16 struct skip_constructor_conversion 17 { 18 template <typename Source, typename Expected> operator ()skip_constructor_conversion19 bool operator()(Source const& source, Expected const& expected) const 20 { 21 using namespace test_detail; 22 return 23 run< can_copy<T> >(source, expected) && 24 run< can_convert_using<can_assign>::to<T> >(source, expected) && 25 run< can_construct_from_elements<T> >(source, expected); 26 } 27 }; 28 29 int main()30main() 31 { 32 test<skip_constructor_conversion>(); 33 return boost::report_errors(); 34 } 35 36