|
template<typename B = Base, std::enable_if_t< std::is_default_constructible< B >::value and fixed_pattern_tuple< Descriptors >, int > = 0> |
constexpr | VectorSpaceAdapter () |
| Default constructor.
|
|
template<typename Arg , typename... Ds, std::enable_if_t< internal::maybe_same_shape_as_vector_space_descriptors< Arg, Descriptors > and(not internal::vector_space_adapter< Arg >) and std::is_constructible_v< Base, Arg &&>, int > = 0> |
constexpr | VectorSpaceAdapter (Arg &&arg, const std::decay_t< Descriptors > &descriptors) |
| Construct from a compatible indexible object. More...
|
|
template<typename Arg , std::enable_if_t< internal::maybe_same_shape_as_vector_space_descriptors< Arg, Descriptors > and internal::maybe_same_shape_as_vector_space_descriptors< Arg, Descriptors > and internal::vector_space_adapter< Arg > and std::is_constructible_v< Base, typename nested_object_of< Arg &&>::type >, int > = 0> |
constexpr | VectorSpaceAdapter (Arg &&arg, const std::decay_t< Descriptors > &descriptors) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
|
|
template<typename Arg > |
constexpr VectorSpaceAdapter & | operator= (Arg &&arg) |
| Assign from another compatible indexible object.
|
|
template<typename B = Base, typename = std::void_t< decltype(std::declval<Base&>() += std::declval<const VectorSpaceAdapter&>().nested_object())>> |
auto & | operator+= (const VectorSpaceAdapter &other) |
| Increment from another VectorSpaceAdapter.
|
|
template<typename B = Base, typename = std::void_t< decltype(std::declval<Base&>() -= std::declval<const VectorSpaceAdapter&>().nested_object())>> |
auto & | operator-= (const VectorSpaceAdapter &other) |
| Decrement from another VectorSpaceAdapter.
|
|
constexpr | AdapterBase () |
| Default constructor.
|
|
constexpr | AdapterBase (Arg &&arg, typename std::enable_if< std::is_constructible< NestedObject, Arg && >::value >::type *=0) |
| Construct from a compatible indexible type.
|
|
constexpr NestedObject & | nested_object () & |
| Get the nested object.
|
|
constexpr const NestedObject & | nested_object () const & |
|
constexpr NestedObject && | nested_object () && |
|
constexpr const NestedObject && | nested_object () const && |
|
constexpr auto | operator[] (const Indices &indices) & |
| Access a component at a set of indices. More...
|
|
constexpr auto | operator[] (const Indices &indices) && |
|
constexpr auto | operator[] (const Indices &indices) const & |
|
constexpr auto | operator[] (const Indices &indices) const && |
|
template<typename NestedObject, typename Descriptors>
struct OpenKalman::VectorSpaceAdapter< NestedObject, Descriptors >
An adapter that adds vector space descriptors for each index.
Any vector space descriptors associated with NestedObject are overwritten.
- Template Parameters
-
Arg | An indexible object. Vs A set of coordinates::pattern objects |
template<typename NestedObject , typename Descriptors >
template<typename Arg , typename... Ds, std::enable_if_t< internal::maybe_same_shape_as_vector_space_descriptors< Arg, Descriptors > and(not internal::vector_space_adapter< Arg >) and std::is_constructible_v< Base, Arg &&>, int > = 0>
Construct from a compatible indexible object.
- Template Parameters
-
Arg | An indexible object. Any of its vector space descriptors will be overwritten. |
- Parameters
-
descriptors | A set of coordinates::pattern objects |
template<typename NestedObject , typename Descriptors >
template<typename Arg , std::enable_if_t< internal::maybe_same_shape_as_vector_space_descriptors< Arg, Descriptors > and internal::maybe_same_shape_as_vector_space_descriptors< Arg, Descriptors > and internal::vector_space_adapter< Arg > and std::is_constructible_v< Base, typename nested_object_of< Arg &&>::type >, int > = 0>
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Construct from another VectorSpaceAdapter, overwriting its vector space descriptors.