16 #ifndef OPENKALMAN_FILL_COMPONENTS_HPP 17 #define OPENKALMAN_FILL_COMPONENTS_HPP 35 (
sizeof...(S) == 0 or interface::fill_components_defined_for<Arg, layout, std::add_lvalue_reference_t<Arg>, S...>)
40 internal::may_hold_components<Arg, S...> and
41 (
sizeof...(S) == 0 or interface::fill_components_defined_for<Arg, layout, std::add_lvalue_reference_t<Arg>, S...>),
int> = 0>
46 if constexpr (
sizeof...(S) == 0)
48 return std::forward<Arg>(arg);
54 Trait::template fill_components<layout>(arg,
static_cast<const Scalar
>(s)...);
55 return std::forward<Arg>(arg);
62 #endif //OPENKALMAN_FILL_COMPONENTS_HPP Row-major storage (C or C++ style): contiguous storage in which the right-most index has a stride of ...
typename scalar_type_of< T >::type scalar_type_of_t
helper template for scalar_type_of.
Definition: scalar_type_of.hpp:54
constexpr bool indexible
T is a generalized tensor type.
Definition: indexible.hpp:32
constexpr bool number
T is a numerical type.
Definition: number.hpp:33
The root namespace for OpenKalman.
Definition: basics.hpp:34
An interface to various routines from the linear algebra library associated with indexible object T...
Definition: library_interface.hpp:37
Column-major storage (Fortran, Matlab, or Eigen style): contiguous storage in which the left-most ext...
Arg && fill_components(Arg &&arg, S...s)
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: fill_components.hpp:44
Layout
The layout format of a multidimensional array.
Definition: global-definitions.hpp:47