|
ScL Feature 0.0.1
C++20 composable proxy wrapper with pluggable executor strategy
|
Primary template for the reflection mixin chain. More...
Go to the source code of this file.
Classes | |
| class | scl::feature::reflect< Wrapper, Executor, Type > |
| Primary (terminal) template for the reflection mixin chain. More... | |
| class | scl::feature::reflect_operators< Wrapper, Executor > |
| CRTP mixin that reflects all standard C++ operators through the executor. More... | |
Namespaces | |
| namespace | scl |
| Root namespace of the ScL project. | |
| namespace | scl::feature |
| Namespace of the ScL Feature module. | |
Primary template for the reflection mixin chain.
Defines scl::feature::reflect<Wrapper, Executor, Type> — the CRTP mixin base that detail::wrapper inherits from to acquire all proxy members reflected for the held value type.
detail::wrapper<Value, Executor> publicly inherits:
Two partial specialisations (defined in detail/wrapper.h) peel the detail::wrapper layer off the third parameter:
The primary template (this file) is the terminal case: when Type is neither a detail::wrapper specialisation nor any other specialised form, the class body is empty. User-provided specialisations extend this chain for concrete value types.
Specialise reflect for your value type. SCL_REFLECT_TYPE must appear first to establish the internal type context that SCL_REFLECT_METHOD depends on: