Skip to content

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

using func_pass = void (*)(void*, shape<Dims>, shape<Dims>)

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

std::array<std::array<func_get, Nsizes>, Dims> 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

std::array<std::array<func_set, Nsizes>, Dims> 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.

Template parameters
Expression Concrete expression type to bind.
Parameters
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

This file was generated by cxxdox, a C++ documentation generator based on MkDocs Material and libclang.