OpenKalman
Classes | Public Member Functions | List of all members
OpenKalman::patterns::transpose_view< P, indexa, indexb > Struct Template Reference

A view representing a transpose of a pattern_collection. More...

#include <transpose.hpp>

Inheritance diagram for OpenKalman::patterns::transpose_view< P, indexa, indexb >:
Inheritance graph
[legend]
Collaboration diagram for OpenKalman::patterns::transpose_view< P, indexa, indexb >:
Collaboration graph
[legend]

Classes

struct  iterator
 Iterator for transpose_view. More...
 

Public Member Functions

template<bool Enable = true, std::enable_if_t< Enable and stdex::default_initializable< P >, int > = 0>
constexpr transpose_view ()
 Default constructor.
 
constexpr transpose_view (P &&p)
 Construct from a collection.
 
constexpr P & base () &
 The base view.
 
constexpr const P & base () const &
 
constexpr P && base () &&noexcept
 
constexpr const P && base () const &&noexcept
 
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::random_access_range< P >, int > = 0>
constexpr auto begin ()
 
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::random_access_range< P >, int > = 0>
constexpr auto begin () const
 
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::random_access_range< P >, int > = 0>
constexpr auto end ()
 
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::random_access_range< P >, int > = 0>
constexpr auto end () const
 
template<bool Enable = true, std::enable_if_t< collections::sized< P >, int > = 0>
constexpr auto size () const noexcept
 
template<std::size_t i>
decltype(auto) constexpr get () &
 Get element i.
 
template<std::size_t i>
decltype(auto) constexpr get () const &
 
template<std::size_t i>
decltype(auto) constexpr get () &&noexcept
 
template<std::size_t i>
decltype(auto) constexpr get () const &&noexcept
 
- Public Member Functions inherited from OpenKalman::stdex::ranges::view_interface< transpose_view< P, indexa, indexb > >
constexpr bool empty ()
 
constexpr bool empty () const
 
constexpr auto cbegin ()
 
constexpr auto cbegin () const
 
constexpr auto cend ()
 
constexpr auto cend () const
 
constexpr operator bool ()
 
constexpr operator bool () const
 
constexpr auto size ()
 
constexpr auto size () const
 
decltype(auto) constexpr front ()
 
decltype(auto) constexpr front () const
 
decltype(auto) constexpr back ()
 
decltype(auto) constexpr back () const
 
decltype(auto) constexpr operator[] (range_difference_t< D > n)
 
decltype(auto) constexpr operator[] (range_difference_t< D > n) const
 

Detailed Description

template<typename P, std::size_t indexa = 0, std::size_t indexb = 1>
struct OpenKalman::patterns::transpose_view< P, indexa, indexb >

A view representing a transpose of a pattern_collection.

Template Parameters
indexaThe first index to be swapped
indexbThe second index to be swapped
See also
views::transpose, patterns::transpose

Member Function Documentation

◆ begin()

template<typename P , std::size_t indexa = 0, std::size_t indexb = 1>
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::random_access_range< P >, int > = 0>
constexpr auto OpenKalman::patterns::transpose_view< P, indexa, indexb >::begin ( )
inline
Returns
An iterator at the beginning, if the base object is a std::ranges::random_access_range.

◆ end() [1/2]

template<typename P , std::size_t indexa = 0, std::size_t indexb = 1>
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::random_access_range< P >, int > = 0>
constexpr auto OpenKalman::patterns::transpose_view< P, indexa, indexb >::end ( )
inline
Returns
An iterator at the end, if the base object is a std::ranges::random_access_range.

◆ end() [2/2]

template<typename P , std::size_t indexa = 0, std::size_t indexb = 1>
template<bool Enable = true, std::enable_if_t< Enable and stdex::ranges::random_access_range< P >, int > = 0>
constexpr auto OpenKalman::patterns::transpose_view< P, indexa, indexb >::end ( ) const
inline

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

◆ size()

template<typename P , std::size_t indexa = 0, std::size_t indexb = 1>
template<bool Enable = true, std::enable_if_t< collections::sized< P >, int > = 0>
constexpr auto OpenKalman::patterns::transpose_view< P, indexa, indexb >::size ( ) const
inlinenoexcept
Returns
The size of the object.

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