33 using LERR_(ITER_EXHAUST);
64 return util::unConst(n);
101 checked_and_protected();
102 value_and_reference_yield();
103 verify_TypeReconciliation();
137 CHECK (*it == uint(-1));
149 CHECK (isSameObject(*it, it.n));
159 CHECK (cc.checkPoint());
160 CHECK (cc.yield() == 2u);
162 CHECK (cc.yield() == 1u);
164 CHECK (not cc.checkPoint());
205 using StepDown::StepDown;
206 int yield()
const {
return StepDown::yield(); }
213 CHECK (not isSameObject(*it, it.n));
214 CHECK (
showType<decltype(*it)>() ==
"int"_expect);
217 CHECK (ix.yield() == 2u);
218 CHECK ( isSameObject(ix.yield(), ix.n));
219 CHECK ( isSameObject(ix.yield(), it.n));
220 CHECK (
showType<decltype(ix.yield())>() ==
"uint&"_expect);
241 CHECK (not C1::value);
245 CHECK (not C2::value);
250 CHECK (showType<C3::ResType>() ==
"string"_expect );
253 CHECK (showType<C4::ResType>() ==
"string"_expect );
256 CHECK (showType<C5::ResType>() ==
"string&"_expect );
259 CHECK (showType<C6::ResType>() ==
"string"_expect );
262 CHECK (showType<C7::ResType>() ==
"string"_expect );
265 CHECK (showType<C8::ResType>() ==
"string const&"_expect );
268 CHECK (showType<C9::ResType>() ==
"string const&"_expect );
271 CHECK (showType<C10::ResType>() ==
"const string"_expect );
274 CHECK (showType<C11::ResType>() ==
"const string"_expect );
277 CHECK (showType<C12::ResType>() ==
"const long"_expect );
280 CHECK (showType<C13::ResType>() ==
"double const&"_expect );
283 template<
typename T1,
typename T2>
A test »*State Core*« which steps down a number to zero.
Helper template(s) for creating Lumiera Forward Iterators.
void value_and_reference_yield()
Adapter to add sanity checks to a »state core«.
bool operator==(PtrDerefIter< I1 > const &il, PtrDerefIter< I2 > const &ir)
Supporting equality comparisons...
#define VERIFY_ERROR(ERROR_ID, ERRONEOUS_STATEMENT)
Macro to verify that a statement indeed raises an exception.
Implementation namespace for support and library code.
void checked_and_protected()
Simplistic test class runner.
Another Lumiera Forward Iterator building block, based on incorporating a state type as »*State Core*...
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
A collection of frequently used helper functions to support unit testing.
string showType()
diagnostic type output, including const and similar adornments
Decorator-Adapter to make a »*State Core*« iterable as Lumiera Forward Iterator.
void verify_TypeReconciliation()
bool isSameObject(A const &a, B const &b)
compare plain object identity, based directly on the referee's memory identities. ...