Skip to content

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

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