univector¶
abstract_vector class¶
template <typename T,
          univector_tag Tag = tag_dynamic_vector>
abstract_vector
template <typename T, univector_tag Size> abstract_vector
template <typename T> abstract_vector
template <typename T> abstract_vector
univector class¶
template <typename T,
          univector_tag Tag = tag_dynamic_vector>
univector
Class that represent data in KFR. Many KFR functions can take this class as an argument. Can inherit from std::vector, std::array or keep only reference to data and its size.
univector<float> is inherited from std::vector<float> univector<float, 10> is inherited from std::array<float, 10> univector<float, 0> contains only reference to data
To convert a plain pointer to univector, call make_univector:
double* buffer;
size_t size;
univector<double, 0\> v = make_univector(buffer, size);
// or pass result vector directly to a function:
some_function(make_univector(buffer, size));
univector_base class¶
template <typename T, typename Class, bool is_expression>
univector_base
Base class for all univector specializations.
template <typename T, typename Class> univector_base
slice function (univector_base::slice)¶
univector<T, 0> slice(size_t start = 0,
                      size_t size = max_size_t)
Returns subrange of the vector. If start is greater or equal to this->size, returns empty univector If requested size is greater than this->size, returns only available elements
univector<const T, 0> slice(size_t start = 0,
                            size_t size = max_size_t) const
Returns subrange of the vector. If start is greater or equal to this->size, returns empty univector If requested size is greater than this->size, returns only available elements
truncate function (univector_base::truncate)¶
univector<T, 0> truncate(size_t size = max_size_t)
Returns subrange of the vector starting from 0. If requested size is greater than this->size, returns only available elements
univector<const T, 0>
truncate(size_t size = max_size_t) const
Returns subrange of the vector starting from 0. If requested size is greater than this->size, returns only available elements
univector_base class¶
template <typename T, typename Class> univector_base
univector class¶
template <typename T, size_t Size> univector
Class that represent data in KFR. Many KFR functions can take this class as an argument. Can inherit from std::vector, std::array or keep only reference to data and its size.
univector<float> is inherited from std::vector<float> univector<float, 10> is inherited from std::array<float, 10> univector<float, 0> contains only reference to data
To convert a plain pointer to univector, call make_univector:
double* buffer;
size_t size;
univector<double, 0\> v = make_univector(buffer, size);
// or pass result vector directly to a function:
some_function(make_univector(buffer, size));
template <typename T> univector
template <typename T> univector
expression_traits class¶
template <typename T, univector_tag Tag> expression_traits
univector_ref typedef¶
template <typename T>
univector_ref = univector<T, tag_array_ref>
Alias for univector<T, tag_array_ref\>;
univector_ref = univector<T, tag_array_ref>
Alias for univector<T, tag_array_ref\>;
univector_dyn typedef¶
template <typename T>
univector_dyn = univector<T, tag_dynamic_vector>
Alias for univector<T, tag_dynamic_vector\>;
univector_dyn = univector<T, tag_dynamic_vector>
Alias for univector<T, tag_dynamic_vector\>;
make_univector function¶
template <typename T>
univector_ref<T> make_univector(T *data, size_t size)
Creates univector from data and size
template <typename T>
univector_ref<const T> make_univector(const T *data,
                                      size_t size)
Creates univector from data and size
template <has_data_size Container,
          typename T = value_type_of<Container>>
univector_ref<const T>
make_univector(const Container &container)
Creates univector from a container (must have data() and size() methods)
template <has_data_size Container,
          typename T = value_type_of<Container>>
univector_ref<T> make_univector(Container &container)
Creates univector from a container (must have data() and size() methods)
template <typename T, size_t N>
univector_ref<T> make_univector(T (&arr)[N])
Creates univector from a sized array
template <typename T, size_t N>
univector_ref<const T> make_univector(const T (&arr)[N])
Creates univector from a sized array
lockfree_ring_buffer class¶
template <typename T> lockfree_ring_buffer
Single producer single consumer lock-free ring buffer
render function (generic::render)¶
template <typename Expr,
          typename T = expression_value_type<Expr>>
univector<T> render(Expr &&expr)
Converts an expression to univector
template <typename Expr,
          typename T = expression_value_type<Expr>>
univector<T> render(Expr &&expr, size_t size,
                    size_t offset = 0)
Converts an expression to univector
template <typename Expr, size_t Size,
          typename T = expression_value_type<Expr>>
univector<T, Size> render(Expr &&expr, csize_t<Size>)
Converts an expression to univector
representation class¶
template <typename T, kfr::univector_tag Tag> representation
template <char t, int width, int prec, typename T,
          kfr::univector_tag Tag>
representation
Auto-generated from sources, Revision , https://github.com/kfrlib/kfr/blob//include/kfr/