// Copyright Louis Dionne 2013-2016 // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) #include #include #include #include #include #include namespace hana = boost::hana; int main() { constexpr auto sequences = hana::make_tuple( hana::make_tuple(1, 2, 3), hana::make_tuple('x', 'y', 'z'), hana::range_c, hana::tuple_t, hana::range_c, hana::make_tuple(123.4, nullptr) ); constexpr auto grouped = hana::group.by(hana::comparing(hana::length), sequences); static_assert(grouped == hana::make_tuple( hana::make_tuple( hana::make_tuple(1, 2, 3), hana::make_tuple('x', 'y', 'z') ), hana::make_tuple( hana::range_c ), hana::make_tuple( hana::tuple_t, hana::range_c, hana::make_tuple(123.4, nullptr) ) ), ""); }