Class expression_traits¶
class expression_traits<T> base¶
template <typename T>
struct expression_traits Primary traits template for expressions.
Specializations of this template provide the value type, dimensionality and shape of an expression. The primary template is intentionally left undefined; users and library code provide specializations for concrete expression types.
| T | Expression type to query. |
Fully qualified name: kfr::expression_traits<T>
Declared at base/expression.hpp:62
Class expression_traits¶
class expression_traits<const T> base¶
template <has_expression_traits T>
struct expression_traits<const T> : expression_traits<T> { … } Pass-through specialization that forwards traits for const-qualified expression types.
| T | Expression type. |
Fully qualified name: kfr::expression_traits<const T>
Declared at base/expression.hpp:124
Class expression_traits¶
class expression_traits<T &> base¶
template <has_expression_traits T>
struct expression_traits<T&> : expression_traits<T> { … } Pass-through specialization that forwards traits for lvalue reference expression types.
| T | Expression type. |
Fully qualified name: kfr::expression_traits<T &>
Declared at base/expression.hpp:133
Class expression_traits¶
class expression_traits<T &&> base¶
template <has_expression_traits T>
struct expression_traits<T&&> : expression_traits<T> { … } Pass-through specialization that forwards traits for rvalue reference expression types.
| T | Expression type. |
Fully qualified name: kfr::expression_traits<T &&>
Declared at base/expression.hpp:142
Class expression_traits¶
class expression_traits<const T &> base¶
template <has_expression_traits T>
struct expression_traits<const T&> : expression_traits<T> { … } Pass-through specialization that forwards traits for const lvalue reference expression types.
| T | Expression type. |
Fully qualified name: kfr::expression_traits<const T &>
Declared at base/expression.hpp:151
Class expression_traits¶
class expression_traits<const T &&> base¶
template <has_expression_traits T>
struct expression_traits<const T&&> : expression_traits<T> { … } Pass-through specialization that forwards traits for const rvalue reference expression types.
| T | Expression type. |
Fully qualified name: kfr::expression_traits<const T &&>
Declared at base/expression.hpp:160
Class expression_traits¶
class expression_traits<T> base¶
template <expr_element T>
struct expression_traits<T> : expression_traits_defaults { … } Specialization of expression_traits for scalar vector element types.
A scalar element is treated as a zero-dimensional expression whose shape is empty and which is not an explicit operand (it can be used as an implicit argument to expression functions).
| T | Scalar element type. |
typedef value_type ¶
using value_type = T Fully qualified name: kfr::expression_traits<T>::value_type
Declared at base/expression.hpp:316
variable dims ¶
constexpr static size_t dims = 0 Fully qualified name: kfr::expression_traits<T>::dims
Declared at base/expression.hpp:317
function get_shape(const T &) ¶
constexpr static shape<dims> get_shape(const T& self) { … } Fully qualified name: kfr::expression_traits<T>::get_shape(const T &)
Declared at base/expression.hpp:320
function get_shape() ¶
constexpr static shape<dims> get_shape() { … } Fully qualified name: kfr::expression_traits<T>::get_shape()
Declared at base/expression.hpp:321
variable explicit_operand ¶
constexpr static inline bool explicit_operand = false Fully qualified name: kfr::expression_traits<T>::explicit_operand
Declared at base/expression.hpp:318
variable random_access ¶
constexpr static inline bool random_access = T::random_access Fully qualified name: kfr::expression_traits<T>::random_access
Declared at base/expression.hpp:183
Fully qualified name: kfr::expression_traits<T>
Declared at base/expression.hpp:314
Class expression_traits¶
class expression_traits<expression_scalar<T>> base¶
template <typename T>
struct expression_traits<expression_scalar<T>> : expression_traits_defaults { … } typedef value_type ¶
using value_type = T Fully qualified name: kfr::expression_traits<expression_scalar<T>>::value_type
Declared at base/basic_expressions.hpp:48
variable dims ¶
constexpr static size_t dims = 0 Fully qualified name: kfr::expression_traits<expression_scalar<T>>::dims
Declared at base/basic_expressions.hpp:49
function get_shape(const expression_scalar<T> &) ¶
constexpr static shape<0> get_shape(const expression_scalar<T>& self) { … } Fully qualified name: kfr::expression_traits<expression_scalar<T>>::get_shape(const expression_scalar<T> &)
Declared at base/basic_expressions.hpp:51
function get_shape() ¶
constexpr static shape<0> get_shape() { … } Fully qualified name: kfr::expression_traits<expression_scalar<T>>::get_shape()
Declared at base/basic_expressions.hpp:52
Fully qualified name: kfr::expression_traits<expression_scalar<T>>
Declared at base/basic_expressions.hpp:46
Class expression_traits¶
class expression_traits<expression_counter<T, Dims>> base¶
template <typename T, index_t Dims>
struct expression_traits<expression_counter<T, Dims>> : expression_traits_defaults { … } typedef value_type ¶
using value_type = T Fully qualified name: kfr::expression_traits<expression_counter<T, Dims>>::value_type
Declared at base/basic_expressions.hpp:126
variable dims ¶
constexpr static size_t dims = Dims Fully qualified name: kfr::expression_traits<expression_counter<T, Dims>>::dims
Declared at base/basic_expressions.hpp:127
function get_shape(const expression_counter<T, Dims> &) ¶
constexpr static shape<dims> get_shape(const expression_counter<T, Dims>& self) { … } Fully qualified name: kfr::expression_traits<expression_counter<T, Dims>>::get_shape(const expression_counter<T, Dims> &)
Declared at base/basic_expressions.hpp:129
function get_shape() ¶
constexpr static shape<dims> get_shape() { … } Fully qualified name: kfr::expression_traits<expression_counter<T, Dims>>::get_shape()
Declared at base/basic_expressions.hpp:133
Fully qualified name: kfr::expression_traits<expression_counter<T, Dims>>
Declared at base/basic_expressions.hpp:124
Class expression_traits¶
class expression_traits<expression_slice<Arg>> base¶
template <typename Arg>
struct expression_traits<expression_slice<Arg>> : expression_traits_defaults { … } typedef ArgTraits ¶
using ArgTraits = expression_traits<Arg> Fully qualified name: kfr::expression_traits<expression_slice<Arg>>::ArgTraits
Declared at base/basic_expressions.hpp:223
typedef value_type ¶
using value_type = typename ArgTraits::value_type Fully qualified name: kfr::expression_traits<expression_slice<Arg>>::value_type
Declared at base/basic_expressions.hpp:225
variable dims ¶
constexpr static size_t dims = ArgTraits::dims Fully qualified name: kfr::expression_traits<expression_slice<Arg>>::dims
Declared at base/basic_expressions.hpp:226
variable random_access ¶
constexpr static bool random_access = ArgTraits::random_access Fully qualified name: kfr::expression_traits<expression_slice<Arg>>::random_access
Declared at base/basic_expressions.hpp:227
function get_shape(const expression_slice<Arg> &) ¶
Fully qualified name: kfr::expression_traits<expression_slice<Arg>>::get_shape(const expression_slice<Arg> &)
Declared at base/basic_expressions.hpp:229
function get_shape() ¶
Fully qualified name: kfr::expression_traits<expression_slice<Arg>>::get_shape()
Declared at base/basic_expressions.hpp:233
Fully qualified name: kfr::expression_traits<expression_slice<Arg>>
Declared at base/basic_expressions.hpp:221
Class expression_traits¶
class expression_traits<expression_cast<T, Arg>> base¶
template <typename T, typename Arg>
struct expression_traits<expression_cast<T, Arg>> : expression_traits_defaults { … } typedef ArgTraits ¶
using ArgTraits = expression_traits<Arg> Fully qualified name: kfr::expression_traits<expression_cast<T, Arg>>::ArgTraits
Declared at base/basic_expressions.hpp:305
typedef value_type ¶
using value_type = T Fully qualified name: kfr::expression_traits<expression_cast<T, Arg>>::value_type
Declared at base/basic_expressions.hpp:307
variable dims ¶
constexpr static size_t dims = ArgTraits::dims Fully qualified name: kfr::expression_traits<expression_cast<T, Arg>>::dims
Declared at base/basic_expressions.hpp:308
variable random_access ¶
constexpr static bool random_access = ArgTraits::random_access Fully qualified name: kfr::expression_traits<expression_cast<T, Arg>>::random_access
Declared at base/basic_expressions.hpp:309
function get_shape(const expression_cast<T, Arg> &) ¶
Fully qualified name: kfr::expression_traits<expression_cast<T, Arg>>::get_shape(const expression_cast<T, Arg> &)
Declared at base/basic_expressions.hpp:311
function get_shape() ¶
Fully qualified name: kfr::expression_traits<expression_cast<T, Arg>>::get_shape()
Declared at base/basic_expressions.hpp:315
Fully qualified name: kfr::expression_traits<expression_cast<T, Arg>>
Declared at base/basic_expressions.hpp:303
Class expression_traits¶
class expression_traits<expression_lambda<T, Dims, Fn, Rnd>> base¶
template <typename T, index_t Dims, typename Fn, bool Rnd>
struct expression_traits<expression_lambda<T, Dims, Fn, Rnd>> : expression_traits_defaults { … } typedef value_type ¶
using value_type = T Fully qualified name: kfr::expression_traits<expression_lambda<T, Dims, Fn, Rnd>>::value_type
Declared at base/basic_expressions.hpp:388
variable dims ¶
constexpr static size_t dims = Dims Fully qualified name: kfr::expression_traits<expression_lambda<T, Dims, Fn, Rnd>>::dims
Declared at base/basic_expressions.hpp:389
variable random_access ¶
constexpr static inline bool random_access = Rnd Fully qualified name: kfr::expression_traits<expression_lambda<T, Dims, Fn, Rnd>>::random_access
Declared at base/basic_expressions.hpp:390
function get_shape(const expression_lambda<T, Dims, Fn, Rnd> &) ¶
Fully qualified name: kfr::expression_traits<expression_lambda<T, Dims, Fn, Rnd>>::get_shape(const expression_lambda<T, Dims, Fn, Rnd> &)
Declared at base/basic_expressions.hpp:392
function get_shape() ¶
Fully qualified name: kfr::expression_traits<expression_lambda<T, Dims, Fn, Rnd>>::get_shape()
Declared at base/basic_expressions.hpp:396
Fully qualified name: kfr::expression_traits<expression_lambda<T, Dims, Fn, Rnd>>
Declared at base/basic_expressions.hpp:386
Class expression_traits¶
class expression_traits<expression_padded<Arg>> base¶
template <typename Arg>
struct expression_traits<expression_padded<Arg>> : expression_traits_defaults { … } typedef ArgTraits ¶
using ArgTraits = expression_traits<Arg> Fully qualified name: kfr::expression_traits<expression_padded<Arg>>::ArgTraits
Declared at base/basic_expressions.hpp:524
typedef value_type ¶
using value_type = typename ArgTraits::value_type Fully qualified name: kfr::expression_traits<expression_padded<Arg>>::value_type
Declared at base/basic_expressions.hpp:526
variable dims ¶
constexpr static size_t dims = ArgTraits::dims Fully qualified name: kfr::expression_traits<expression_padded<Arg>>::dims
Declared at base/basic_expressions.hpp:527
variable random_access ¶
constexpr static bool random_access = ArgTraits::random_access Fully qualified name: kfr::expression_traits<expression_padded<Arg>>::random_access
Declared at base/basic_expressions.hpp:528
function get_shape(const expression_padded<Arg> &) ¶
Fully qualified name: kfr::expression_traits<expression_padded<Arg>>::get_shape(const expression_padded<Arg> &)
Declared at base/basic_expressions.hpp:530
function get_shape() ¶
Fully qualified name: kfr::expression_traits<expression_padded<Arg>>::get_shape()
Declared at base/basic_expressions.hpp:534
Fully qualified name: kfr::expression_traits<expression_padded<Arg>>
Declared at base/basic_expressions.hpp:522
Class expression_traits¶
class expression_traits<expression_reverse<Arg>> base¶
template <typename Arg>
struct expression_traits<expression_reverse<Arg>> : expression_traits_defaults { … } typedef ArgTraits ¶
using ArgTraits = expression_traits<Arg> Fully qualified name: kfr::expression_traits<expression_reverse<Arg>>::ArgTraits
Declared at base/basic_expressions.hpp:605
typedef value_type ¶
using value_type = typename ArgTraits::value_type Fully qualified name: kfr::expression_traits<expression_reverse<Arg>>::value_type
Declared at base/basic_expressions.hpp:607
variable dims ¶
constexpr static size_t dims = ArgTraits::dims Fully qualified name: kfr::expression_traits<expression_reverse<Arg>>::dims
Declared at base/basic_expressions.hpp:608
function get_shape(const expression_reverse<Arg> &) ¶
Fully qualified name: kfr::expression_traits<expression_reverse<Arg>>::get_shape(const expression_reverse<Arg> &)
Declared at base/basic_expressions.hpp:611
function get_shape() ¶
Fully qualified name: kfr::expression_traits<expression_reverse<Arg>>::get_shape()
Declared at base/basic_expressions.hpp:615
Fully qualified name: kfr::expression_traits<expression_reverse<Arg>>
Declared at base/basic_expressions.hpp:603
Class expression_traits¶
class expression_traits<expression_fixshape<Arg, fixed_shape_t<ShapeValues...>>> base¶
template <typename Arg, index_t... ShapeValues>
struct expression_traits<expression_fixshape<Arg, fixed_shape_t<ShapeValues...>>> : expression_traits_defaults { … } typedef ArgTraits ¶
using ArgTraits = expression_traits<Arg> Fully qualified name: kfr::expression_traits<expression_fixshape<Arg, fixed_shape_t<ShapeValues...>>>::ArgTraits
Declared at base/basic_expressions.hpp:700
typedef value_type ¶
using value_type = typename ArgTraits::value_type Fully qualified name: kfr::expression_traits<expression_fixshape<Arg, fixed_shape_t<ShapeValues...>>>::value_type
Declared at base/basic_expressions.hpp:702
variable dims ¶
constexpr static size_t dims = sizeof...(ShapeValues) Fully qualified name: kfr::expression_traits<expression_fixshape<Arg, fixed_shape_t<ShapeValues...>>>::dims
Declared at base/basic_expressions.hpp:703
variable random_access ¶
constexpr static bool random_access = ArgTraits::random_access Fully qualified name: kfr::expression_traits<expression_fixshape<Arg, fixed_shape_t<ShapeValues...>>>::random_access
Declared at base/basic_expressions.hpp:704
function get_shape(const expression_fixshape<Arg, fixed_shape_t<ShapeValues...>> &) ¶
Fully qualified name: kfr::expression_traits<expression_fixshape<Arg, fixed_shape_t<ShapeValues...>>>::get_shape(const expression_fixshape<Arg, fixed_shape_t<ShapeValues...>> &)
Declared at base/basic_expressions.hpp:706
function get_shape() ¶
Fully qualified name: kfr::expression_traits<expression_fixshape<Arg, fixed_shape_t<ShapeValues...>>>::get_shape()
Declared at base/basic_expressions.hpp:711
Fully qualified name: kfr::expression_traits<expression_fixshape<Arg, fixed_shape_t<ShapeValues...>>>
Declared at base/basic_expressions.hpp:698
Class expression_traits¶
class expression_traits<expression_reshape<Arg, OutDims>> base¶
template <typename Arg, index_t OutDims>
struct expression_traits<expression_reshape<Arg, OutDims>> : expression_traits_defaults { … } typedef ArgTraits ¶
using ArgTraits = expression_traits<Arg> Fully qualified name: kfr::expression_traits<expression_reshape<Arg, OutDims>>::ArgTraits
Declared at base/basic_expressions.hpp:791
typedef value_type ¶
using value_type = typename ArgTraits::value_type Fully qualified name: kfr::expression_traits<expression_reshape<Arg, OutDims>>::value_type
Declared at base/basic_expressions.hpp:793
variable dims ¶
constexpr static size_t dims = OutDims Fully qualified name: kfr::expression_traits<expression_reshape<Arg, OutDims>>::dims
Declared at base/basic_expressions.hpp:794
variable random_access ¶
constexpr static bool random_access = ArgTraits::random_access Fully qualified name: kfr::expression_traits<expression_reshape<Arg, OutDims>>::random_access
Declared at base/basic_expressions.hpp:795
function get_shape(const expression_reshape<Arg, OutDims> &) ¶
Fully qualified name: kfr::expression_traits<expression_reshape<Arg, OutDims>>::get_shape(const expression_reshape<Arg, OutDims> &)
Declared at base/basic_expressions.hpp:797
function get_shape() ¶
Fully qualified name: kfr::expression_traits<expression_reshape<Arg, OutDims>>::get_shape()
Declared at base/basic_expressions.hpp:801
Fully qualified name: kfr::expression_traits<expression_reshape<Arg, OutDims>>
Declared at base/basic_expressions.hpp:789
Class expression_traits¶
class expression_traits<expression_linspace<T, truncated>> base¶
template <typename T, bool truncated>
struct expression_traits<expression_linspace<T, truncated>> : expression_traits_defaults { … } typedef value_type ¶
using value_type = T Fully qualified name: kfr::expression_traits<expression_linspace<T, truncated>>::value_type
Declared at base/basic_expressions.hpp:952
variable dims ¶
constexpr static size_t dims = 1 Fully qualified name: kfr::expression_traits<expression_linspace<T, truncated>>::dims
Declared at base/basic_expressions.hpp:953
function get_shape(const expression_linspace<T, truncated> &) ¶
constexpr static shape<dims> get_shape(const expression_linspace<T, truncated>& self) { … } Fully qualified name: kfr::expression_traits<expression_linspace<T, truncated>>::get_shape(const expression_linspace<T, truncated> &)
Declared at base/basic_expressions.hpp:955
function get_shape() ¶
constexpr static shape<dims> get_shape() { … } Fully qualified name: kfr::expression_traits<expression_linspace<T, truncated>>::get_shape()
Declared at base/basic_expressions.hpp:959
Fully qualified name: kfr::expression_traits<expression_linspace<T, truncated>>
Declared at base/basic_expressions.hpp:950
Class expression_traits¶
class expression_traits<expression_concatenate<Arg1, Arg2, ConcatAxis>> base¶
template <typename Arg1, typename Arg2, index_t ConcatAxis>
struct expression_traits<expression_concatenate<Arg1, Arg2, ConcatAxis>> : expression_traits_defaults { … } typedef ArgTraits1 ¶
using ArgTraits1 = expression_traits<Arg1> Fully qualified name: kfr::expression_traits<expression_concatenate<Arg1, Arg2, ConcatAxis>>::ArgTraits1
Declared at base/basic_expressions.hpp:1082
typedef ArgTraits2 ¶
using ArgTraits2 = expression_traits<Arg2> Fully qualified name: kfr::expression_traits<expression_concatenate<Arg1, Arg2, ConcatAxis>>::ArgTraits2
Declared at base/basic_expressions.hpp:1083
typedef value_type ¶
using value_type = typename ArgTraits1::value_type Fully qualified name: kfr::expression_traits<expression_concatenate<Arg1, Arg2, ConcatAxis>>::value_type
Declared at base/basic_expressions.hpp:1085
variable dims ¶
constexpr static size_t dims = ArgTraits1::dims Fully qualified name: kfr::expression_traits<expression_concatenate<Arg1, Arg2, ConcatAxis>>::dims
Declared at base/basic_expressions.hpp:1086
variable random_access ¶
constexpr static bool random_access = ArgTraits1::random_access && ArgTraits2::random_access Fully qualified name: kfr::expression_traits<expression_concatenate<Arg1, Arg2, ConcatAxis>>::random_access
Declared at base/basic_expressions.hpp:1087
function concat_shape(const shape<dims> &, const shape<dims> &) ¶
Fully qualified name: kfr::expression_traits<expression_concatenate<Arg1, Arg2, ConcatAxis>>::concat_shape(const shape<dims> &, const shape<dims> &)
Declared at base/basic_expressions.hpp:1089
function get_shape(const expression_concatenate<Arg1, Arg2, ConcatAxis> &) ¶
Fully qualified name: kfr::expression_traits<expression_concatenate<Arg1, Arg2, ConcatAxis>>::get_shape(const expression_concatenate<Arg1, Arg2, ConcatAxis> &)
Declared at base/basic_expressions.hpp:1097
function get_shape() ¶
Fully qualified name: kfr::expression_traits<expression_concatenate<Arg1, Arg2, ConcatAxis>>::get_shape()
Declared at base/basic_expressions.hpp:1103
Fully qualified name: kfr::expression_traits<expression_concatenate<Arg1, Arg2, ConcatAxis>>
Declared at base/basic_expressions.hpp:1080
Class expression_traits¶
class expression_traits<univector<T, Tag>> base¶
template <typename T, univector_tag Tag>
struct expression_traits<univector<T, Tag>> : public expression_traits_defaults { … } Expression traits for univector , allowing it to participate in KFR expression evaluation.
typedef value_type ¶
using value_type = std::remove_const_t<T> Fully qualified name: kfr::expression_traits<univector<T, Tag>>::value_type
Declared at base/univector.hpp:631
variable dims ¶
constexpr static size_t dims = 1 Fully qualified name: kfr::expression_traits<univector<T, Tag>>::dims
Declared at base/univector.hpp:632
function get_shape(const univector<T, Tag> &) ¶
Returns the runtime shape of u.
Fully qualified name: kfr::expression_traits<univector<T, Tag>>::get_shape(const univector<T, Tag> &)
Declared at base/univector.hpp:634
function get_shape() ¶
constexpr static shape<dims> get_shape() { … } Returns the static shape of the univector type. For fixed-size vectors this is the compile-time size; otherwise it is undefined_size .
Fully qualified name: kfr::expression_traits<univector<T, Tag>>::get_shape()
Declared at base/univector.hpp:637
Fully qualified name: kfr::expression_traits<univector<T, Tag>>
Declared at base/univector.hpp:629
Class expression_traits¶
class expression_traits<expression_handle<T, Dims>> base¶
template <typename T, index_t Dims>
struct expression_traits<expression_handle<T, Dims>> : expression_traits_defaults { … } expression_traits specialization for expression_handle .
typedef value_type ¶
using value_type = T Fully qualified name: kfr::expression_traits<expression_handle<T, Dims>>::value_type
Declared at base/handle.hpp:280
variable dims ¶
constexpr static size_t dims = Dims Number of dimensions.
Fully qualified name: kfr::expression_traits<expression_handle<T, Dims>>::dims
Declared at base/handle.hpp:281
function get_shape(const expression_handle<T, Dims> &) ¶
constexpr static shape<dims> get_shape(const expression_handle<T, Dims>& self) { … } Query the shape of the referenced expression via its vtable.
Fully qualified name: kfr::expression_traits<expression_handle<T, Dims>>::get_shape(const expression_handle<T, Dims> &)
Declared at base/handle.hpp:283
function get_shape() ¶
constexpr static shape<dims> get_shape() { … } Static shape query: undefined for an unbound handle.
Fully qualified name: kfr::expression_traits<expression_handle<T, Dims>>::get_shape()
Declared at base/handle.hpp:290
variable random_access ¶
constexpr static inline bool random_access = false Handles are not random-access.
Fully qualified name: kfr::expression_traits<expression_handle<T, Dims>>::random_access
Declared at base/handle.hpp:292
Fully qualified name: kfr::expression_traits<expression_handle<T, Dims>>
Declared at base/handle.hpp:278
Class expression_traits¶
class expression_traits<expression_placeholder<T, Dims, Key>> base¶
template <typename T, index_t Dims, size_t Key>
struct expression_traits<expression_placeholder<T, Dims, Key>> : public expression_traits_defaults { … } expression_traits specialization for expression_placeholder .
typedef value_type ¶
using value_type = T Fully qualified name: kfr::expression_traits<expression_placeholder<T, Dims, Key>>::value_type
Declared at base/handle.hpp:449
variable dims ¶
constexpr static size_t dims = Dims Number of dimensions.
Fully qualified name: kfr::expression_traits<expression_placeholder<T, Dims, Key>>::dims
Declared at base/handle.hpp:450
function get_shape(const expression_placeholder<T, Dims, Key> &) ¶
constexpr static shape<dims> get_shape(const expression_placeholder<T, Dims, Key>& self) { … } Shape of the bound expression, or infinite_size when unbound.
Fully qualified name: kfr::expression_traits<expression_placeholder<T, Dims, Key>>::get_shape(const expression_placeholder<T, Dims, Key> &)
Declared at base/handle.hpp:452
function get_shape() ¶
constexpr static shape<dims> get_shape() { … } Static shape query: undefined for an unbound placeholder.
Fully qualified name: kfr::expression_traits<expression_placeholder<T, Dims, Key>>::get_shape()
Declared at base/handle.hpp:457
Fully qualified name: kfr::expression_traits<expression_placeholder<T, Dims, Key>>
Declared at base/handle.hpp:447
Class expression_traits¶
class expression_traits<tensor<T, Dims>> base¶
template <typename T, index_t Dims>
struct expression_traits<tensor<T, Dims>> : expression_traits_defaults { … } Expression traits for tensor, enabling its use as an expression argument.
| T | element type. |
| Dims | number of dimensions. |
typedef value_type ¶
using value_type = T Fully qualified name: kfr::expression_traits<tensor<T, Dims>>::value_type
Declared at base/tensor.hpp:1266
variable dims ¶
constexpr static size_t dims = Dims Fully qualified name: kfr::expression_traits<tensor<T, Dims>>::dims
Declared at base/tensor.hpp:1267
function get_shape(const tensor<T, Dims> &) ¶
Returns the shape of self.
Fully qualified name: kfr::expression_traits<tensor<T, Dims>>::get_shape(const tensor<T, Dims> &)
Declared at base/tensor.hpp:1270
function get_shape() ¶
Returns the static shape of the expression, with undefined extents.
Fully qualified name: kfr::expression_traits<tensor<T, Dims>>::get_shape()
Declared at base/tensor.hpp:1275
Fully qualified name: kfr::expression_traits<tensor<T, Dims>>
Declared at base/tensor.hpp:1264