Class expression_vtable¶
class expression_vtable<T, Dims> base¶
template <typename T, index_t Dims>
struct expression_vtable { … } Virtual table providing type-erased access to an expression of value type T and dimensionality Dims.
variable Nsizes ¶
constexpr static const size_t Nsizes = 1 + ilog2(maximum_expression_width<T>) Number of supported power-of-two block sizes (1 .. maximum_expression_width<T>).
Fully qualified name: kfr::expression_vtable<T, Dims>::Nsizes
Declared at base/handle.hpp:85
variable Nmax ¶
constexpr static const size_t Nmax = 1 << Nsizes Largest supported block size.
Fully qualified name: kfr::expression_vtable<T, Dims>::Nmax
Declared at base/handle.hpp:87
typedef func_get ¶
using func_get = void (*)(void*, shape<Dims>, T*) Signature of a get_elements callback: read N samples into dest.
Fully qualified name: kfr::expression_vtable<T, Dims>::func_get
Declared at base/handle.hpp:90
typedef func_set ¶
using func_set = void (*)(void*, shape<Dims>, const T*) Signature of a set_elements callback: write N samples from src.
Fully qualified name: kfr::expression_vtable<T, Dims>::func_set
Declared at base/handle.hpp:92
typedef func_shapeof ¶
using func_shapeof = void (*)(void*, shape<Dims>&) Signature of the shape query callback.
Fully qualified name: kfr::expression_vtable<T, Dims>::func_shapeof
Declared at base/handle.hpp:94
typedef func_substitute ¶
using func_substitute = bool (*)(void*, expression_handle<T, Dims>) Signature of the placeholder substitution callback.
Fully qualified name: kfr::expression_vtable<T, Dims>::func_substitute
Declared at base/handle.hpp:96
typedef func_pass ¶
Signature of the begin_pass/end_pass callbacks.
Fully qualified name: kfr::expression_vtable<T, Dims>::func_pass
Declared at base/handle.hpp:98
typedef func_reset ¶
using func_reset = void (*)(void*) Signature of the reset callback.
Fully qualified name: kfr::expression_vtable<T, Dims>::func_reset
Declared at base/handle.hpp:100
variable fn_shapeof ¶
func_shapeof fn_shapeof Shape query callback.
Fully qualified name: kfr::expression_vtable<T, Dims>::fn_shapeof
Declared at base/handle.hpp:102
variable fn_substitute ¶
func_substitute fn_substitute Placeholder substitution callback.
Fully qualified name: kfr::expression_vtable<T, Dims>::fn_substitute
Declared at base/handle.hpp:103
variable fn_begin_pass ¶
func_pass fn_begin_pass begin_pass callback.
Fully qualified name: kfr::expression_vtable<T, Dims>::fn_begin_pass
Declared at base/handle.hpp:104
variable fn_end_pass ¶
func_pass fn_end_pass end_pass callback.
Fully qualified name: kfr::expression_vtable<T, Dims>::fn_end_pass
Declared at base/handle.hpp:105
variable fn_reset ¶
func_reset fn_reset reset callback.
Fully qualified name: kfr::expression_vtable<T, Dims>::fn_reset
Declared at base/handle.hpp:106
variable fn_get_elements ¶
get_elements callbacks per axis/size.
Fully qualified name: kfr::expression_vtable<T, Dims>::fn_get_elements
Declared at base/handle.hpp:107
variable fn_set_elements ¶
set_elements callbacks per axis/size.
Fully qualified name: kfr::expression_vtable<T, Dims>::fn_set_elements
Declared at base/handle.hpp:108
function expression_vtable<T, Dims>(ctype_t<Expression>) ¶
template <typename Expression>
KFR_MEM_INTRINSIC expression_vtable(ctype_t<Expression> t) Build the vtable for concrete expression type Expression.
| Expression | Concrete expression type to bind. |
| t | Type tag selecting the expression type. |
Fully qualified name: kfr::expression_vtable<T, Dims>::expression_vtable<T, Dims>(ctype_t<Expression>)
Declared at base/handle.hpp:115
function static_get_elements(void *, shape<Dims>, T *) ¶
template <typename Expression, size_t N, index_t VecAxis>
static void static_get_elements(void* instance, shape<Dims> index, T* dest) get_elements trampoline: forwards to get_elements for Expression.
Fully qualified name: kfr::expression_vtable<T, Dims>::static_get_elements(void *, shape<Dims>, T *)
Declared at base/handle.hpp:140
function static_set_elements(void *, shape<Dims>, const T *) ¶
template <typename Expression, size_t N, index_t VecAxis>
static void static_set_elements(void* instance, shape<Dims> index, const T* src) set_elements trampoline: forwards to set_elements for Expression.
Fully qualified name: kfr::expression_vtable<T, Dims>::static_set_elements(void *, shape<Dims>, const T *)
Declared at base/handle.hpp:149
function static_shapeof(void *, shape<Dims> &) ¶
template <typename Expression>
static void static_shapeof(void* instance, shape<Dims>& result) shapeof trampoline: queries expression_traits::get_shape for Expression.
Fully qualified name: kfr::expression_vtable<T, Dims>::static_shapeof(void *, shape<Dims> &)
Declared at base/handle.hpp:158
function static_substitute(void *, expression_handle<T, Dims>) ¶
template <typename Expression>
static bool static_substitute(void* instance, expression_handle<T, Dims> ptr) substitute trampoline: invokes kfr::substitute on Expression.
Fully qualified name: kfr::expression_vtable<T, Dims>::static_substitute(void *, expression_handle<T, Dims>)
Declared at base/handle.hpp:164
function static_begin_pass(void *, shape<Dims>, shape<Dims>) ¶
template <typename Expression>
static void static_begin_pass(void* instance, shape<Dims> start, shape<Dims> stop) begin_pass trampoline: forwards to begin_pass for Expression.
Fully qualified name: kfr::expression_vtable<T, Dims>::static_begin_pass(void *, shape<Dims>, shape<Dims>)
Declared at base/handle.hpp:170
function static_end_pass(void *, shape<Dims>, shape<Dims>) ¶
template <typename Expression>
static void static_end_pass(void* instance, shape<Dims> start, shape<Dims> stop) end_pass trampoline: forwards to end_pass for Expression.
Fully qualified name: kfr::expression_vtable<T, Dims>::static_end_pass(void *, shape<Dims>, shape<Dims>)
Declared at base/handle.hpp:176
function static_reset(void *) ¶
template <typename Expression>
static void static_reset(void* instance) reset trampoline: forwards to reset for Expression.
Fully qualified name: kfr::expression_vtable<T, Dims>::static_reset(void *)
Declared at base/handle.hpp:182
Fully qualified name: kfr::expression_vtable<T, Dims>
Declared at base/handle.hpp:82