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

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

#include <from_tuple.hpp>

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

Classes

struct  iterator
 Iterator for from_tuple. More...
 

Public Member Functions

template<bool Enable = true, std::enable_if_t< Enable and std::is_default_constructible_v< TupBox >, int > = 0>
constexpr from_tuple ()
 Default constructor.
 
template<typename Arg , std::enable_if_t< std::is_constructible_v< TupBox, Arg &&> and(not std::is_same_v< remove_cvref_t< Arg >, from_tuple >), int > = 0>
constexpr from_tuple (Arg &&arg) noexcept
 Construct from a uniform_tuple_like object.
 
decltype(auto) constexpr base () &
 The base tuple.
 
decltype(auto) constexpr base () const &
 
decltype(auto) constexpr base () &&noexcept
 
decltype(auto) constexpr base () const &&noexcept
 
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.
 
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.
 
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::ranges::view_interface< from_tuple< 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< Tup >

A collection_view created from a uniform_tuple_like object.

Member Function Documentation

◆ back() [1/2]

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

◆ back() [2/2]

template<typename Tup >
decltype(auto) constexpr OpenKalman::collections::from_tuple< 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< 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< 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< Tup >::empty ( )
inlinestatic
Returns
Indicates whether the base object is empty.

◆ end() [1/2]

template<typename Tup >
constexpr auto OpenKalman::collections::from_tuple< 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< 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< Tup >::front ( )
inline
Returns
Returns the initial element.

◆ front() [2/2]

template<typename Tup >
decltype(auto) constexpr OpenKalman::collections::from_tuple< 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.


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