OpenKalman
Classes | Namespaces | Functions | Variables
concatenate.hpp File Reference

Functions that concatenate other objects into a larger object. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenKalman::detail::constant_concatenate_arguments_impl< T, typename, Ts >
 
struct  OpenKalman::detail::constant_concatenate_arguments_impl< T, std::enable_if_t<(values::internal::near(constant_coefficient< T >::value, constant_coefficient< Ts >::value) and ...)>, Ts... >
 

Namespaces

 OpenKalman
 The root namespace for OpenKalman.
 
 OpenKalman::detail
 T is an acceptable noise perturbation input to a tests.
 

Functions

template<typename T , typename U , std::size_t... indices, std::size_t... I>
constexpr bool OpenKalman::detail::concatenate_dimensions_match_impl (std::index_sequence< I... >)
 
template<std::size_t I, std::size_t... indices, typename DTup , typename... DTups>
decltype(auto) constexpr OpenKalman::detail::concatenate_vector_space_descriptor_impl (DTup &&d_tup, DTups &&...d_tups)
 
template<std::size_t... indices, std::size_t... I, typename... DTups>
decltype(auto) constexpr OpenKalman::detail::concatenate_vector_space_descriptor (std::index_sequence< I... >, DTups &&...d_tups)
 
template<std::size_t index, std::size_t... indices, typename Args_tup , std::size_t... all_indices, std::size_t... pos>
constexpr auto OpenKalman::detail::concatenate_diag_impl (Args_tup &&args_tup, std::index_sequence< all_indices... >, std::index_sequence< pos... >)
 
template<std::size_t... indices, typename Ds_tup , typename Args_tup , std::size_t... all_indices, typename... Pos_seq>
constexpr auto OpenKalman::detail::concatenate_diag (Ds_tup &&ds_tup, Args_tup &&args_tup, std::index_sequence< all_indices... > all_indices_seq, Pos_seq...pos_seq)
 
template<std::size_t... args_ix, std::size_t... pos>
constexpr auto OpenKalman::detail::get_cat_indices (std::index_sequence<>, std::index_sequence<>, std::index_sequence< args_ix... >, std::index_sequence< pos... > pos_seq)
 
template<std::size_t ix, std::size_t... ixs, std::size_t... args_ix, std::size_t... pos>
constexpr auto OpenKalman::detail::get_cat_indices (std::index_sequence< ix, ixs... >, std::index_sequence<> index_seq, std::index_sequence< args_ix... > arg_ix_seq, std::index_sequence< pos... >)
 
template<std::size_t ix, std::size_t... ixs, std::size_t index, std::size_t... indices, std::size_t... args_ix, std::size_t... pos>
constexpr auto OpenKalman::detail::get_cat_indices (std::index_sequence< ix, ixs... > ix_seq, std::index_sequence< index, indices... > index_seq, std::index_sequence< args_ix... > arg_ix_seq, std::index_sequence< pos... > pos_seq)
 
template<std::size_t... indices, typename Arg , typename... Args, std::enable_if_t<(sizeof...(indices) > 0>
decltype(auto) constexpr OpenKalman::concatenate (Arg &&arg, Args &&...args)
 Concatenate some number of objects along one or more indices. More...
 

Variables

template<typename T , typename U , std::size_t... indices>
constexpr bool OpenKalman::detail::concatenate_dimensions_match
 
template<typename T , typename... Ts>
constexpr bool OpenKalman::detail::constant_concatenate_arguments = constant_concatenate_arguments_impl<T, void, Ts...>::value
 

Detailed Description

Functions that concatenate other objects into a larger object.