Class compound_type_traits¶
class compound_type_traits<T> meta¶
template <typename T>
struct compound_type_traits { … } Traits describing how a type composes scalar elements. Specialized for compound types (e.g. std::pair ) to expose width, subtype and accessors.
variable width ¶
constexpr static size_t width = 1 Fully qualified name: kfr::compound_type_traits<T>::width
Declared at meta.hpp:59
variable deep_width ¶
constexpr static size_t deep_width = width Fully qualified name: kfr::compound_type_traits<T>::deep_width
Declared at meta.hpp:60
typedef subtype ¶
using subtype = T Fully qualified name: kfr::compound_type_traits<T>::subtype
Declared at meta.hpp:61
typedef deep_subtype ¶
using deep_subtype = T Fully qualified name: kfr::compound_type_traits<T>::deep_subtype
Declared at meta.hpp:62
variable depth ¶
constexpr static size_t depth = 0 Fully qualified name: kfr::compound_type_traits<T>::depth
Declared at meta.hpp:63
variable is_scalar ¶
constexpr static bool is_scalar = true Fully qualified name: kfr::compound_type_traits<T>::is_scalar
Declared at meta.hpp:64
typedef rebind ¶
using rebind = U Fully qualified name: kfr::compound_type_traits<T>::rebind
Declared at meta.hpp:67
typedef deep_rebind ¶
using deep_rebind = U Fully qualified name: kfr::compound_type_traits<T>::deep_rebind
Declared at meta.hpp:69
function at(const T &, size_t) ¶
Fully qualified name: kfr::compound_type_traits<T>::at(const T &, size_t)
Declared at meta.hpp:71
Fully qualified name: kfr::compound_type_traits<T>
Declared at meta.hpp:57
Class compound_type_traits¶
class compound_type_traits<std::pair<T, T>> meta¶
template <typename T>
struct compound_type_traits<std::pair<T, T>> { … } Specialization of compound_type_traits for std::pair<T, T>
variable width ¶
constexpr static size_t width = 2 Fully qualified name: kfr::compound_type_traits<std::pair<T, T>>::width
Declared at meta.hpp:106
variable deep_width ¶
constexpr static size_t deep_width = width * compound_type_traits<T>::width Fully qualified name: kfr::compound_type_traits<std::pair<T, T>>::deep_width
Declared at meta.hpp:107
typedef subtype ¶
using subtype = T Fully qualified name: kfr::compound_type_traits<std::pair<T, T>>::subtype
Declared at meta.hpp:108
typedef deep_subtype ¶
using deep_subtype = kfr::deep_subtype<T> Fully qualified name: kfr::compound_type_traits<std::pair<T, T>>::deep_subtype
Declared at meta.hpp:109
variable is_scalar ¶
constexpr static bool is_scalar = false Fully qualified name: kfr::compound_type_traits<std::pair<T, T>>::is_scalar
Declared at meta.hpp:110
variable depth ¶
constexpr static size_t depth = kfr::compound_type_traits<T>::depth + 1 Fully qualified name: kfr::compound_type_traits<std::pair<T, T>>::depth
Declared at meta.hpp:111
typedef rebind ¶
using rebind = std::pair<U, U> Fully qualified name: kfr::compound_type_traits<std::pair<T, T>>::rebind
Declared at meta.hpp:114
typedef deep_rebind ¶
using deep_rebind = std::pair<typename compound_type_traits<subtype>::template deep_rebind<U>,
typename compound_type_traits<subtype>::template deep_rebind<U>> Fully qualified name: kfr::compound_type_traits<std::pair<T, T>>::deep_rebind
Declared at meta.hpp:116
function at(const std::pair<subtype, subtype> &, size_t) ¶
Fully qualified name: kfr::compound_type_traits<std::pair<T, T>>::at(const std::pair<subtype, subtype> &, size_t)
Declared at meta.hpp:119
Fully qualified name: kfr::compound_type_traits<std::pair<T, T>>
Declared at meta.hpp:104