Class expression_handle¶
class expression_handle<T, Dims> base¶
template <typename T, index_t Dims = 1>
struct expression_handle { … } Opaque type-erased handle to an expression (forward declaration).
variable instance ¶
void* instance Pointer to the concrete expression instance.
Fully qualified name: kfr::expression_handle<T, Dims>::instance
Declared at base/handle.hpp:245
variable vtable ¶
const expression_vtable<T, Dims>* vtable Pointer to the static vtable for the instance type.
Fully qualified name: kfr::expression_handle<T, Dims>::vtable
Declared at base/handle.hpp:246
variable resource ¶
std::shared_ptr<expression_resource> resource Owning resource, or null for a non-owning handle.
Fully qualified name: kfr::expression_handle<T, Dims>::resource
Declared at base/handle.hpp:247
constructor expression_handle<T, Dims>() ¶
expression_handle() noexcept Construct an empty (invalid) handle.
Fully qualified name: kfr::expression_handle<T, Dims>::expression_handle<T, Dims>()
Declared at base/handle.hpp:250
constructor expression_handle<T, Dims>(const void *, const expression_vtable<T, Dims> *, std::shared_ptr<expression_resource>) ¶
expression_handle(const void* instance, const expression_vtable<T, Dims>* vtable,
std::shared_ptr<expression_resource> resource = nullptr) Construct a handle referencing instance with vtable vtable.
| instance | Pointer to the concrete expression instance (not owned unless resource is set). |
| vtable | Vtable for the instance type. |
| resource | Optional owning resource; when set the handle keeps the instance alive. |
Fully qualified name: kfr::expression_handle<T, Dims>::expression_handle<T, Dims>(const void *, const expression_vtable<T, Dims> *, std::shared_ptr<expression_resource>)
Declared at base/handle.hpp:255
operator operator bool() ¶
explicit operator bool() const true if the handle references a valid instance.
Fully qualified name: kfr::expression_handle<T, Dims>::operator bool()
Declared at base/handle.hpp:262
function substitute(expression_handle<T, Dims>) ¶
bool substitute(expression_handle<T, Dims> new_handle) Replace the placeholder inside the referenced expression with new_handle.
| new_handle | Handle to substitute into the placeholder slot. |
true if a placeholder was found and substituted. |
Fully qualified name: kfr::expression_handle<T, Dims>::substitute(expression_handle<T, Dims>)
Declared at base/handle.hpp:268
Fully qualified name: kfr::expression_handle<T, Dims>
Declared at base/handle.hpp:243