mirror of
https://github.com/boostorg/hana.git
synced 2026-02-21 03:02:11 +00:00
List: add span, group and group_by
This commit is contained in:
37
example/list/span.cpp
Normal file
37
example/list/span.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
@copyright Louis Dionne 2014
|
||||
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 <boost/hana/detail/assert.hpp>
|
||||
#include <boost/hana/detail/constexpr.hpp>
|
||||
#include <boost/hana/functional.hpp>
|
||||
#include <boost/hana/integral.hpp>
|
||||
#include <boost/hana/list/instance.hpp>
|
||||
#include <boost/hana/pair.hpp>
|
||||
using namespace boost::hana;
|
||||
|
||||
|
||||
int main() {
|
||||
//! [main]
|
||||
BOOST_HANA_CONSTEXPR_LAMBDA auto xs = list(int_<1>, int_<2>, int_<3>, int_<4>);
|
||||
BOOST_HANA_CONSTANT_ASSERT(
|
||||
span(xs, _ < int_<3>)
|
||||
==
|
||||
pair(list(int_<1>, int_<2>), list(int_<3>, int_<4>))
|
||||
);
|
||||
|
||||
BOOST_HANA_CONSTANT_ASSERT(
|
||||
span(xs, _ < int_<0>)
|
||||
==
|
||||
pair(list(), xs)
|
||||
);
|
||||
|
||||
BOOST_HANA_CONSTANT_ASSERT(
|
||||
span(xs, _ < int_<5>)
|
||||
==
|
||||
pair(xs, list())
|
||||
);
|
||||
//! [main]
|
||||
}
|
||||
Reference in New Issue
Block a user