|
ScL Feature 0.0.1
C++20 composable proxy wrapper with pluggable executor strategy
|
Built-in executor strategies for scl::wrapper.
More...
Files | |
| file | src/scl/feature/executors.h |
| ScL Feature built-in executor implementations. | |
| file | src/scl/feature/executor/inplace/plain.h |
| Executor that proxies calls directly to the held value with no overhead. | |
| file | src/scl/feature/executor/inplace/uninitialized.h |
| Executor that holds a value in uninitialized aligned storage. | |
Classes | |
| class | scl::feature::inplace::plain< Value > |
| Executor that proxies calls directly to the held value with no overhead. More... | |
| class | scl::feature::inplace::uninitialized< Value > |
Executor that holds Value in uninitialized aligned storage. More... | |
Built-in executor strategies for scl::wrapper.
An executor is a class template that controls how the wrapper stores the held value and dispatches method calls to it. Each executor must provide two static member function templates:
execute(self, func, args...) — runs func with args and returns its result; may add cross-cutting behaviour around the call.access(self) — returns a reference to the held value, propagating the cv-ref qualifiers of self.| Executor | Storage | Overhead |
|---|---|---|
scl::feature::inplace::plain | in-place, direct | none |
scl::feature::inplace::uninitialized | in-place, raw aligned storage | none |