1// Copyright Louis Dionne 2013-2022
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
4
5#include <boost/hana/assert.hpp>
6#include <boost/hana/core/make.hpp>
7#include <boost/hana/equal.hpp>
8#include <boost/hana/integral_constant.hpp>
9#include <boost/hana/length.hpp>
10#include <boost/hana/range.hpp>
11namespace hana = boost::hana;
12
13
14int main() {
15 BOOST_HANA_CONSTANT_CHECK(hana::equal(
16 hana::length(hana::make_range(hana::int_c<0>, hana::int_c<0>)),
17 hana::size_c<0>
18 ));
19 BOOST_HANA_CONSTANT_CHECK(hana::equal(
20 hana::length(hana::make_range(hana::int_c<0>, hana::int_c<1>)),
21 hana::size_c<1>
22 ));
23 BOOST_HANA_CONSTANT_CHECK(hana::equal(
24 hana::length(hana::make_range(hana::int_c<0>, hana::int_c<2>)),
25 hana::size_c<2>
26 ));
27 BOOST_HANA_CONSTANT_CHECK(hana::equal(
28 hana::length(hana::make_range(hana::int_c<4>, hana::int_c<4>)),
29 hana::size_c<0>
30 ));
31 BOOST_HANA_CONSTANT_CHECK(hana::equal(
32 hana::length(hana::make_range(hana::int_c<4>, hana::int_c<10>)),
33 hana::size_c<6>
34 ));
35}
36

source code of boost/libs/hana/test/range/length.cpp