![]() |
Lumiera 0.pre.04
»edit your freedom«
|
#include "lib/iter-adapter.hpp"
Decorator-Adapter to make a »*State Core*« iterable as Lumiera Forward Iterator.
This is a fundamental (and low-level) building block and works essentially the same as IterStateWrapper — with the significant difference however that the Core is mixed in by inheritance and thus its full interface remains publicly accessible. Another notable difference is that this adapter deliberately performs no sanity-checks. This can be dangerous, but allows to use this setup even in performance critical code.
| COR | type of the »state core«. The resulting iterator will mix-in this type, and thus inherit properties like copy, move, compare, VTable, „POD-ness“. The COR must implement the following iteration control API:
|
Definition at line 681 of file iter-adapter.hpp.
Public Types | |
| using | YieldRes = iter::CoreYield< COR > |
| using | value_type = meta::RefTraits< YieldRes >::Value |
| using | reference = meta::RefTraits< YieldRes >::Reference |
| using | pointer = meta::RefTraits< YieldRes >::Pointer |
Public Member Functions | |
| template<typename... ARGS> | |
| IterableDecorator (ARGS &&...init) | |
| by default, pass anything down for initialisation of the core. | |
| IterableDecorator ()=default | |
| IterableDecorator (IterableDecorator &&)=default | |
| IterableDecorator (IterableDecorator const &)=default | |
| IterableDecorator & | operator= (IterableDecorator &&)=default |
| IterableDecorator & | operator= (IterableDecorator const &)=default |
| operator bool () const | |
| YieldRes | operator* () const |
| pointer | operator-> () const |
| IterableDecorator & | operator++ () |
| bool | isValid () const |
| bool | empty () const |
| ENABLE_USE_IN_STD_RANGE_FOR_LOOPS (IterableDecorator) | |
Friends | |
| bool | operator== (IterableDecorator const &il, IterableDecorator const &ir) |
| Supporting equality comparisons of equivalent iterators (equivalent state core)... | |
| bool | operator!= (IterableDecorator const &il, IterableDecorator const &ir) |
Protected Member Functions | |
| void | __throw_if_empty () const |
Private Member Functions | |
| COR & | _core () |
| COR const & | _core () const |
by default, pass anything down for initialisation of the core.
Definition at line 708 of file iter-adapter.hpp.
|
default |
|
default |
|
default |
| using YieldRes = iter::CoreYield<COR> |
Definition at line 696 of file iter-adapter.hpp.
| using value_type = meta::RefTraits<YieldRes>::Value |
Definition at line 697 of file iter-adapter.hpp.
| using reference = meta::RefTraits<YieldRes>::Reference |
Definition at line 698 of file iter-adapter.hpp.
| using pointer = meta::RefTraits<YieldRes>::Pointer |
Definition at line 699 of file iter-adapter.hpp.
|
inlineprivate |
Definition at line 684 of file iter-adapter.hpp.
Referenced by IterableDecorator< COR >::isValid(), IterableDecorator< COR >::operator*(), IterableDecorator< COR >::operator++(), and IterableDecorator< COR >::operator->().
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 685 of file iter-adapter.hpp.
|
inlineprotected |
Definition at line 689 of file iter-adapter.hpp.
References IterableDecorator< COR >::isValid().
Here is the call graph for this function:
|
default |
|
default |
|
inlineexplicit |
Definition at line 721 of file iter-adapter.hpp.
References IterableDecorator< COR >::isValid().
Here is the call graph for this function:
|
inline |
Definition at line 724 of file iter-adapter.hpp.
References IterableDecorator< COR >::_core().
Here is the call graph for this function:
|
inline |
Definition at line 730 of file iter-adapter.hpp.
References IterableDecorator< COR >::_core().
Here is the call graph for this function:
|
inline |
Definition at line 741 of file iter-adapter.hpp.
References IterableDecorator< COR >::_core().
Here is the call graph for this function:
|
inline |
Definition at line 748 of file iter-adapter.hpp.
References IterableDecorator< COR >::_core().
Referenced by IterableDecorator< COR >::__throw_if_empty(), IterableDecorator< COR >::empty(), and IterableDecorator< COR >::operator bool().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 754 of file iter-adapter.hpp.
References IterableDecorator< COR >::isValid().
Here is the call graph for this function:| ENABLE_USE_IN_STD_RANGE_FOR_LOOPS | ( | IterableDecorator< COR > | ) |
|
friend |
Supporting equality comparisons of equivalent iterators (equivalent state core)...
Definition at line 766 of file iter-adapter.hpp.
|
friend |
Definition at line 772 of file iter-adapter.hpp.
Inheritance diagram for IterableDecorator< COR >:
Collaboration diagram for IterableDecorator< COR >: