OpenKalman
Public Member Functions | List of all members
OpenKalman::internal::FixedSizeAdapter< NestedObject, Descriptors > Struct Template Reference
Inheritance diagram for OpenKalman::internal::FixedSizeAdapter< NestedObject, Descriptors >:
Inheritance graph
[legend]
Collaboration diagram for OpenKalman::internal::FixedSizeAdapter< NestedObject, Descriptors >:
Collaboration graph
[legend]

Public Member Functions

template<typename Arg , std::enable_if_t< compatible_with_vector_space_descriptors< Arg, Descriptors > and std::is_constructible_v< NestedObject, Arg &&> and(not fixed_size_adapter< Arg >), int > = 0>
constexpr FixedSizeAdapter (Arg &&arg, const Descriptors &)
 Construct from a compatible indexible object. More...
 
template<typename Arg , typename... Ds, std::enable_if_t< compatible_with_vector_space_descriptors< Arg, Vs... > and(... and coordinates::pattern< Ds >) and std::is_same_v< std::tuple< Ds... >, Descriptors > and std::is_constructible_v< NestedObject, Arg &&> and(not fixed_size_adapter< Arg >), int > = 0>
constexpr FixedSizeAdapter (Arg &&arg, const Ds &...)
 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 , std::enable_if_t< compatible_with_vector_space_descriptors< Arg, Descriptors > and std::is_constructible_v< NestedObject, nested_object_of_t< Arg &&>> and fixed_size_adapter< Arg >, int > = 0>
constexpr FixedSizeAdapter (Arg &&arg, const 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 , typename... Ds, std::enable_if_t< compatible_with_vector_space_descriptors< Arg, Vs... > and(... and coordinates::pattern< Ds >) and std::is_same_v< std::tuple< Ds... >, Descriptors > and std::is_constructible_v< NestedObject, nested_object_of_t< Arg &&>> and fixed_size_adapter< Arg >, int > = 0>
constexpr FixedSizeAdapter (Arg &&arg, const Ds &...)
 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 , std::enable_if_t< compatible_with_vector_space_descriptor_collection< Arg, Descriptors > and std::is_assignable_v< std::add_lvalue_reference_t< NestedObject >, Arg &&>, int > = 0>
constexpr FixedSizeAdapteroperator= (Arg &&arg)
 Assign from another compatible indexible object.
 
decltype(auto) constexpr nested_object () const &
 Get the nested object.
 
decltype(auto) constexpr nested_object () const &&
 
- Public Member Functions inherited from OpenKalman::internal::AdapterBase< FixedSizeAdapter< NestedObject, Descriptors >, const NestedObject >
constexpr AdapterBase ()
 Default constructor.
 
constexpr AdapterBase (Arg &&arg, typename std::enable_if< std::is_constructible< const NestedObject, Arg && >::value >::type *=0)
 Construct from a compatible indexible type.
 
constexpr const NestedObject & nested_object () &
 Get the nested object.
 
constexpr const const NestedObject & nested_object () const &
 
constexpr const NestedObject && nested_object () &&
 
constexpr const 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 &&
 

Additional Inherited Members

- Protected Member Functions inherited from OpenKalman::internal::AdapterBase< FixedSizeAdapter< NestedObject, Descriptors >, const NestedObject >
constexpr AdapterBaseoperator= (Arg &&arg)
 Assign from another compatible indexible object.
 

Constructor & Destructor Documentation

◆ FixedSizeAdapter() [1/4]

template<typename NestedObject, typename Descriptors>
template<typename Arg , std::enable_if_t< compatible_with_vector_space_descriptors< Arg, Descriptors > and std::is_constructible_v< NestedObject, Arg &&> and(not fixed_size_adapter< Arg >), int > = 0>
constexpr OpenKalman::internal::FixedSizeAdapter< NestedObject, Descriptors >::FixedSizeAdapter ( Arg &&  arg,
const Descriptors &   
)
inline

Construct from a compatible indexible object.

Template Parameters
ArgAn indexible object
DA compatible pattern_collection

◆ FixedSizeAdapter() [2/4]

template<typename NestedObject, typename Descriptors>
template<typename Arg , typename... Ds, std::enable_if_t< compatible_with_vector_space_descriptors< Arg, Vs... > and(... and coordinates::pattern< Ds >) and std::is_same_v< std::tuple< Ds... >, Descriptors > and std::is_constructible_v< NestedObject, Arg &&> and(not fixed_size_adapter< Arg >), int > = 0>
constexpr OpenKalman::internal::FixedSizeAdapter< NestedObject, Descriptors >::FixedSizeAdapter ( Arg &&  arg,
const Ds &  ... 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Template Parameters
DsA set of optional coordinates::pattern objects, which if included must be compatible with those of the FixedSizeAdapter

◆ FixedSizeAdapter() [3/4]

template<typename NestedObject, typename Descriptors>
template<typename Arg , std::enable_if_t< compatible_with_vector_space_descriptors< Arg, Descriptors > and std::is_constructible_v< NestedObject, nested_object_of_t< Arg &&>> and fixed_size_adapter< Arg >, int > = 0>
constexpr OpenKalman::internal::FixedSizeAdapter< NestedObject, Descriptors >::FixedSizeAdapter ( Arg &&  arg,
const Descriptors &  ... 
)
inline

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 FixedSizeAdapter.

◆ FixedSizeAdapter() [4/4]

template<typename NestedObject, typename Descriptors>
template<typename Arg , typename... Ds, std::enable_if_t< compatible_with_vector_space_descriptors< Arg, Vs... > and(... and coordinates::pattern< Ds >) and std::is_same_v< std::tuple< Ds... >, Descriptors > and std::is_constructible_v< NestedObject, nested_object_of_t< Arg &&>> and fixed_size_adapter< Arg >, int > = 0>
constexpr OpenKalman::internal::FixedSizeAdapter< NestedObject, Descriptors >::FixedSizeAdapter ( Arg &&  arg,
const Ds &  ... 
)
inline

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 FixedSizeAdapter.

Template Parameters
ArgA fixed_size_adapter
DsA set of optional coordinates::pattern objects, which if included must be compatible with those of the FixedSizeAdapter

Member Function Documentation

◆ nested_object()

template<typename NestedObject, typename Descriptors>
decltype(auto) constexpr OpenKalman::internal::FixedSizeAdapter< NestedObject, Descriptors >::nested_object ( ) const &&
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.


The documentation for this struct was generated from the following file: