• Home
Name
Date
Size
#Lines
LOC

..--

README.mdD12-May-20241.6 KiB4534

all_of.hppD12-May-20243.9 KiB121103

any_of.hppD12-May-20245.9 KiB174155

ap.hppD12-May-20242.5 KiB7763

at.hppD12-May-20242.5 KiB9270

cartesian_product.hppD12-May-20246.3 KiB235200

drop_back.hppD12-May-20243.3 KiB10081

drop_front.hppD12-May-20245.5 KiB161132

drop_while.hppD12-May-20242.5 KiB7359

for_each.hppD12-May-20241.9 KiB6544

group.hppD12-May-20245.4 KiB151126

index_if.hppD12-May-20242.8 KiB8266

insert.hppD12-May-20243.3 KiB8570

insert_range.hppD12-May-20243.4 KiB10692

intersperse.hppD12-May-20241.9 KiB5542

is_empty.hppD12-May-20241.7 KiB5637

length.hppD12-May-20241.4 KiB4933

lexicographical_compare.hppD12-May-20243.5 KiB11082

make.hppD12-May-20241.1 KiB4228

none_of.hppD12-May-20243 KiB9175

partition.hppD12-May-20242.7 KiB7559

permutations.hppD12-May-20243.6 KiB8872

remove_at.hppD12-May-20244.8 KiB131112

remove_range.hppD12-May-20244.5 KiB11597

reverse.hppD12-May-20241.6 KiB5643

scans.hppD12-May-20248 KiB217195

sequence.hppD12-May-2024417 145

slice.hppD12-May-20246.4 KiB183149

sort.hppD12-May-20244.3 KiB11292

span.hppD12-May-20243 KiB8567

take_back.hppD12-May-20242.7 KiB8368

take_front.hppD12-May-20242.7 KiB7865

take_while.hppD12-May-20242.2 KiB6954

test_case.hppD12-May-2024405 147

transform.hppD12-May-20242 KiB7555

unfolds.hppD12-May-20245.4 KiB171148

unique.hppD12-May-20245.4 KiB159132

zips.hppD12-May-202412.4 KiB343299

README.md

1The headers in this directory provide facilities for automatic unit testing.
2Basically, each header defines unit tests for an algorithm or a set of related
3algorithms. To get the tests for these algorithms, simply include the header
4at global scope. However, before including the header, you must define the
5following macros:
6
7    `MAKE_TUPLE(...)`
8        Must expand to a sequence holding `__VA_ARGS__`. A valid definition
9        would be `hana::make_tuple(__VA_ARGS__)`.
10
11    `TUPLE_TYPE(...)`
12        Must expand to the type of a sequence holding objects of type `__VA_ARGS__`.
13        A valid definition would be `hana::tuple<__VA_ARGS__>`.
14
15    `TUPLE_TAG`
16        Must expand to the tag of the sequence. A valid definition would
17        be `hana::tuple_tag`.
18
19
20The following macros may or may not be defined:
21
22    `MAKE_TUPLE_NO_CONSTEXPR`
23        Must be defined if the `MAKE_TUPLE` macro can't be used inside a
24        constant expression. Otherwise, `MAKE_TUPLE` is assumed to be able
25        to construct a `constexpr` container.
26
27The following directories contain automatic unit tests, and the following is
28sufficient when adding a new automatic unit test (in a file `${FILE}`):
29
30```sh
31DIRECTORIES=$(find test -type d -name auto | grep -v test/_include/auto)
32for d in ${DIRECTORIES}; do
33    cat > ${d}/${FILE}.cpp <<EOF
34// Copyright Louis Dionne 2013-2017
35// Distributed under the Boost Software License, Version 1.0.
36// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
37
38#include "_specs.hpp"
39#include <auto/${FILE}.hpp>
40
41int main() { }
42EOF
43done
44```
45