lumiera_documentation/tests/lib/meta
Ichthyostega 3a491855e7 Library: introduce a concept for the »Lumiera Forward Iterator«
Well, finally.

Lumiera Iterators were conceived as a concept from the very beginning,
and this idea dates back even before C++11. Furthermore, over time some
''trait templates'' have been developed, to detect if some template argument
might match the known pattern of functions associated with a Lumiera Iterator.

Meanwhile this concept is used pervasively in the whole code base, and also
the traits templates proved to be reliable. It therefore seems that the time is ripe
to gradually introduce a genuine **concept** `lum_iter`

I'll take a defensive approach here, since any mistake would lead to
a massive breakage of compilation. The new concept is defined simply
by delegating to to the tried-and-tested trait template, which is
also renamed `can_IterForEach` ⟼ `can_LumieraIter`

One immediate benefit is that the compiler is now able to select
overloads based on that concept, which allows to drop the tricky
selection of variants based on the SFINAE technique and `enable_if`.

For validation, one very heavily used case of that pattern was switched
in `lib/format-util.hpp', which notably lies in the code-path used by `util::join`
2026-05-14 16:32:54 +02:00
..
access-casted-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
common-result-test.cpp Library: deep dive into type reconciliation and tuple handling 2026-04-07 06:32:23 +02:00
duck-detector-extension-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
duck-detector-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
dummy-functions.hpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
fun-inline-test.cpp Library: investigate design for an opaque inline functor 2026-04-08 01:53:53 +02:00
fun-trampoline-test.cpp Library: deep dive into type reconciliation and tuple handling 2026-04-07 06:32:23 +02:00
function-closure-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
function-composition-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
function-erasure-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
function-signature-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
generator-combinations-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
generator-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
iterable-classification-test.cpp Library: introduce a concept for the »Lumiera Forward Iterator« 2026-05-14 16:32:54 +02:00
late-bind-instance-test.cpp Library: deep dive into type reconciliation and tuple handling 2026-04-07 06:32:23 +02:00
meta-utils-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
prop-builder-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
tuple-closure-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
tuple-diagnostics.hpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
tuple-helper-test.cpp Library: deep dive into type reconciliation and tuple handling 2026-04-07 06:32:23 +02:00
tuple-idx-adaptor-test.cpp Library: deep dive into type reconciliation and tuple handling 2026-04-07 06:32:23 +02:00
tuple-record-init-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
type-demangling-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
type-display-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
typelist-diagnostics.hpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
typelist-manip-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
typelist-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
typelist-util-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
typeseq-manip-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
value-type-binding-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
variadic-argument-picker-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
variadic-helper-test.cpp Library: deep dive into type reconciliation and tuple handling 2026-04-07 06:32:23 +02:00
virtual-copy-support-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00