OpenKalman
Classes | Public Member Functions | Static Public Member Functions | List of all members
OpenKalman::collections::from_tuple_like< Tup > Struct Template Reference

A collection_view created from a viewable_tuple_like object. More...

#include <from_tuple_like.hpp>

Inheritance diagram for OpenKalman::collections::from_tuple_like< Tup >:
Inheritance graph
[legend]
Collaboration diagram for OpenKalman::collections::from_tuple_like< Tup >:
Collaboration graph
[legend]

Classes

struct  iterator
 Iterator for from_tuple_like. More...
 

Public Member Functions

template<bool Enable = true, std::enable_if_t< Enable and stdex::default_initializable< TupBox >, int > = 0>
constexpr from_tuple_like ()
 Default constructor.
 
template<typename Arg , std::enable_if_t<(not std::is_same_v< stdex::remove_cvref_t< Arg >, from_tuple_like >), int > = 0>
constexpr from_tuple_like (Arg &&arg) noexcept
 Construct from a viewable_tuple_like object.
 
constexpr auto begin ()
 An iterator to the beginning of the tuple (treated as a std::ranges::range). More...
 
constexpr auto begin () const
 
constexpr auto end ()
 An iterator to the end of the tuple (treated as a std::ranges::range). More...
 
constexpr auto end () const
 
decltype(auto) constexpr front ()
 
decltype(auto) constexpr front () const
 
decltype(auto) constexpr back ()
 
decltype(auto) constexpr back () const
 
template<typename I , std::enable_if_t< values::index< I >, int > = 0>
decltype(auto) constexpr operator[] (I i) &
 Subscript operator. More...
 
template<typename I , std::enable_if_t< values::index< I >, int > = 0>
decltype(auto) constexpr operator[] (I i) const &
 
template<typename I , std::enable_if_t< values::index< I >, int > = 0>
decltype(auto) constexpr operator[] (I i) &&noexcept
 
template<typename I , std::enable_if_t< values::index< I >, int > = 0>
decltype(auto) constexpr operator[] (I i) const &&noexcept
 
template<std::size_t i>
decltype(auto) constexpr get () &
 Get element i. More...
 
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< from_tuple_like< Tup > >
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
 

Static Public Member Functions

static constexpr auto size ()
 The size of the resulting object.
 
static constexpr auto empty ()
 

Detailed Description

template<typename Tup>
struct OpenKalman::collections::from_tuple_like< Tup >

A collection_view created from a viewable_tuple_like object.

Member Function Documentation

◆ back() [1/2]

template<typename Tup >
decltype(auto) constexpr OpenKalman::collections::from_tuple_like< Tup >::back ( )
inline
Returns
Returns the final element.

◆ back() [2/2]

template<typename Tup >
decltype(auto) constexpr OpenKalman::collections::from_tuple_like< Tup >::back ( ) const
inline

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

◆ begin() [1/2]

template<typename Tup >
constexpr auto OpenKalman::collections::from_tuple_like< Tup >::begin ( )
inline

An iterator to the beginning of the tuple (treated as a std::ranges::range).

Note
This incurs some overhead if the tuple-like object is not already a std::ranges::range, because it must construct a call call_table to each element.

◆ begin() [2/2]

template<typename Tup >
constexpr auto OpenKalman::collections::from_tuple_like< Tup >::begin ( ) const
inline

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

◆ empty()

template<typename Tup >
static constexpr auto OpenKalman::collections::from_tuple_like< Tup >::empty ( )
inlinestatic
Returns
Indicates whether the base object is empty.

◆ end() [1/2]

template<typename Tup >
constexpr auto OpenKalman::collections::from_tuple_like< Tup >::end ( )
inline

An iterator to the end of the tuple (treated as a std::ranges::range).

Note
This incurs some overhead if the tuple-like object is not already a std::range, because it must construct a call call_table to each element.

◆ end() [2/2]

template<typename Tup >
constexpr auto OpenKalman::collections::from_tuple_like< Tup >::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.

◆ front() [1/2]

template<typename Tup >
decltype(auto) constexpr OpenKalman::collections::from_tuple_like< Tup >::front ( )
inline
Returns
Returns the initial element.

◆ front() [2/2]

template<typename Tup >
decltype(auto) constexpr OpenKalman::collections::from_tuple_like< Tup >::front ( ) const
inline

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

◆ get()

template<typename Tup >
template<std::size_t i>
decltype(auto) constexpr OpenKalman::collections::from_tuple_like< Tup >::get ( ) &
inline

Get element i.

Note
Performs no runtime bounds checking

◆ operator[]()

template<typename Tup >
template<typename I , std::enable_if_t< values::index< I >, int > = 0>
decltype(auto) constexpr OpenKalman::collections::from_tuple_like< Tup >::operator[] ( i) &
inline

Subscript operator.

Note
Performs no runtime bounds checking

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