OpenKalman
Public Member Functions | List of all members
OpenKalman::pattern_adapter< Nested, PatternCollection > Struct Template Reference

An adapter that attaches a pattern_collection to an indexible object. More...

#include <pattern_adapter.hpp>

Inheritance diagram for OpenKalman::pattern_adapter< Nested, PatternCollection >:
Inheritance graph
[legend]
Collaboration diagram for OpenKalman::pattern_adapter< Nested, PatternCollection >:
Collaboration graph
[legend]

Public Member Functions

constexpr pattern_adapter ()=default
 Default constructor.
 
template<typename Arg , typename P , std::enable_if_t< stdex::constructible_from< Nested, Arg &&> and stdex::constructible_from< PatternCollection, P &&>, int > = 0>
constexpr pattern_adapter (Arg &&arg, P &&p)
 Construct from an indexible object and a pattern_collection.
 
template<typename Arg , typename P , std::enable_if_t< stdex::constructible_from< Nested, Arg &&> and stdex::default_initializable< PatternCollection >, int > = 0>
constexpr pattern_adapter (Arg &&arg)
 Construct from an indexible object.
 
template<typename N , typename P , std::enable_if_t< stdex::constructible_from< Nested, const N &> and stdex::constructible_from< PatternCollection, P &&>, int > = 0>
constexpr pattern_adapter (const pattern_adapter< N, P > &arg, P &&p)
 Copy construct from another pattern_adapter, attaching a different pattern_collection.
 
template<typename N , typename P , std::enable_if_t< stdex::constructible_from< Nested, N &&> and stdex::constructible_from< PatternCollection, P &&>, int > = 0>
constexpr pattern_adapter (pattern_adapter< N, P > &&arg, P &&p)
 Move construct from another pattern_adapter, attaching a different pattern_collection.
 
constexpr PatternCollection & pattern_collection () &
 Get the associated pattern_collection.
 
constexpr const PatternCollection & pattern_collection () const &
 
constexpr PatternCollection && pattern_collection () &&
 
constexpr const PatternCollection && pattern_collection () const &&
 
- Public Member Functions inherited from OpenKalman::internal::AdapterBase< pattern_adapter< Nested, PatternCollection >, Nested >
constexpr AdapterBase ()=default
 Default constructor.
 
constexpr AdapterBase (Arg &&arg)
 Construct from the nested type.
 
constexpr Nested & nested_object () &
 Get the nested object.
 
constexpr const Nested & nested_object () const &
 
constexpr Nested && nested_object () &&
 
constexpr const Nested && nested_object () const &&
 

Detailed Description

template<typename Nested, typename PatternCollection>
struct OpenKalman::pattern_adapter< Nested, PatternCollection >

An adapter that attaches a pattern_collection to an indexible object.

Any vector space descriptors associated with the nested object are effectively overwritten.

Member Function Documentation

◆ pattern_collection() [1/3]

template<typename Nested, typename PatternCollection>
constexpr const PatternCollection& OpenKalman::pattern_adapter< Nested, PatternCollection >::pattern_collection ( ) const &
inline

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

◆ pattern_collection() [2/3]

template<typename Nested, typename PatternCollection>
constexpr PatternCollection&& OpenKalman::pattern_adapter< Nested, PatternCollection >::pattern_collection ( ) &&
inline

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

◆ pattern_collection() [3/3]

template<typename Nested, typename PatternCollection>
constexpr const PatternCollection&& OpenKalman::pattern_adapter< Nested, PatternCollection >::pattern_collection ( ) 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: