37 using std::make_tuple;
71 auto cons = Builder::closeFront (1,2.3);
72 using FunType =
_Fun<
decltype(
cons)>;
73 CHECK (FunType() ==
true);
88 auto c1 = Builder::closeBack(
"π");
89 CHECK (showType<
_Fun<
decltype(
c1)>::Sig>() ==
"tuple<int, double, string> (tuple<int, double>)"_expect);
91 Tup
t1 =
c1(make_tuple (2,3.1415));
93 auto c2 = Builder::closeBack(3.14159265,
"pi");
94 CHECK (showType<
_Fun<
decltype(
c2)>::Sig>() ==
"tuple<int, double, string> (tuple<int>)"_expect);
96 Tup
t2 =
c2(make_tuple (-1));
97 CHECK (
t2 ==
"«tuple<int, double, string>»──(-1,3.1415927,pi)"_expect);
108 auto c1 = Builder::close<1>(3.1415927);
109 CHECK (showType<
_Fun<
decltype(
c1)>::Sig>() ==
"tuple<int, double, string> (tuple<int, string>)"_expect);
111 Tup
t1 =
c1({2,
"π"});
112 CHECK (
t1 ==
"«tuple<int, double, string>»──(2,3.1415927,π)"_expect);
114 auto c2 = Builder::close<3>(
"fantastic");
116 CHECK (showType<
_Fun<
decltype(
c2)>::Sig>() ==
"tuple<int, double, string> (tuple<int, double, string>)"_expect);
127 auto cons = Builder::closeFront (1u,2.3);
128 CHECK (showType<
_Fun<
decltype(
cons)>::Sig>() ==
"ArrayAdapt<int, int, int, int, int> (ArrayAdapt<int, int, int>)"_expect);
142 auto cons = Builder::close<3>(55);
143 CHECK (showType<
_Fun<
decltype(
cons)>::Sig>() ==
"ArrayAdapt<int, int, int, int, int> (ArrayAdapt<int, int, int, int>)"_expect);
163 using AA =
decltype(
arr);
183 arr = array{5,4,3,2,1};
188 AA axx{array{-1,-2,-3,-4,-5}};
string showType()
diagnostic type output, including const and similar adornments
Implementation namespace for support and library code.
Test runner and basic definitions for tests.
Simplistic test class runner.
#define LAUNCHER(_TEST_CLASS_, _GROUPS_)
A collection of frequently used helper functions to support unit testing.
Partial binding for construction of tuple-like records.