1 2 // Copyright 2015-2017 Peter Dimov. 3 // 4 // Distributed under the Boost Software License, Version 1.0. 5 // 6 // See accompanying file LICENSE_1_0.txt or copy at 7 // http://www.boost.org/LICENSE_1_0.txt 8 9 10 #include <boost/core/lightweight_test_trait.hpp> 11 #include <boost/mp11/list.hpp> 12 #include <boost/mp11/algorithm.hpp> 13 #include <type_traits> 14 #include <tuple> 15 #include <utility> 16 17 template<class T> struct W; 18 main()19int main() 20 { 21 using boost::mp11::mp_list; 22 using boost::mp11::mp_append; 23 using boost::mp11::mp_iota_c; 24 using boost::mp11::mp_transform; 25 using boost::mp11::mp_rename; 26 using boost::mp11::mp_push_front; 27 28 using L1 = mp_iota_c<125>; 29 using L2 = mp_transform<W, L1>; 30 using L3 = mp_push_front<L2, mp_list<>>; 31 using L4 = mp_rename<L3, mp_append>; 32 33 BOOST_TEST_TRAIT_TRUE((std::is_same<L4, L1>)); 34 35 // 36 37 return boost::report_errors(); 38 } 39