OpenKalman
Classes | Public Member Functions | List of all members
OpenKalman::collections::to_tuple< V > Struct Template Reference

A collection_view created from a std::ranges::random_access_range that is a std::ranges::viewable_range. More...

#include <to_tuple.hpp>

Inheritance diagram for OpenKalman::collections::to_tuple< V >:
Inheritance graph
[legend]
Collaboration diagram for OpenKalman::collections::to_tuple< V >:
Collaboration graph
[legend]

Public Member Functions

template<bool Enable = true, std::enable_if_t< Enable and std::is_default_constructible_v< RangeBox >, int > = 0>
constexpr to_tuple ()
 Default constructor.
 
template<typename Arg , std::enable_if_t< std::is_constructible_v< RangeBox, Arg &&> and(not std::is_same_v< remove_cvref_t< Arg >, to_tuple >), int > = 0>
constexpr to_tuple (Arg &&arg) noexcept
 Construct from a std::ranges::random_access_range.
 
constexpr V & base () &
 The base tuple.
 
constexpr const V & base () const &
 
constexpr V && base () &&noexcept
 
constexpr const V && base () const &&noexcept
 
constexpr auto begin ()
 An iterator to the beginning of the range.
 
constexpr auto begin () const
 
constexpr auto end ()
 An iterator to the end of the range.
 
constexpr auto end () const
 
template<bool Enable = true, std::enable_if_t< Enable and sized< V >, int > = 0>
constexpr auto size () const
 The size of the resulting object.
 
template<bool Enable = true, std::enable_if_t< Enable and(sized< V > or ranges::forward_range< V >), int > = 0>
constexpr auto empty () const
 
decltype(auto) constexpr front ()
 
decltype(auto) constexpr front () const
 
template<bool Enable = true, std::enable_if_t< Enable and(ranges::bidirectional_range< V > and ranges::common_range< V >) or back_gettable< V >::value, int > = 0>
decltype(auto) constexpr back ()
 
template<bool Enable = true, std::enable_if_t< Enable and(ranges::bidirectional_range< V > and ranges::common_range< V >) or back_gettable< V >::value, int > = 0>
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< to_tuple< V > >
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 V>
struct OpenKalman::collections::to_tuple< V >

A collection_view created from a std::ranges::random_access_range that is a std::ranges::viewable_range.

Presumably, V is not uniform_tuple_like, but may have some tuple-like properties such as a defined std::tuple_size.

Member Function Documentation

◆ back() [1/2]

template<typename V >
template<bool Enable = true, std::enable_if_t< Enable and(ranges::bidirectional_range< V > and ranges::common_range< V >) or back_gettable< V >::value, int > = 0>
decltype(auto) constexpr OpenKalman::collections::to_tuple< V >::back ( )
inline
Returns
Returns the final element.

◆ back() [2/2]

template<typename V >
template<bool Enable = true, std::enable_if_t< Enable and(ranges::bidirectional_range< V > and ranges::common_range< V >) or back_gettable< V >::value, int > = 0>
decltype(auto) constexpr OpenKalman::collections::to_tuple< V >::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()

template<typename V >
constexpr auto OpenKalman::collections::to_tuple< V >::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 V >
template<bool Enable = true, std::enable_if_t< Enable and(sized< V > or ranges::forward_range< V >), int > = 0>
constexpr auto OpenKalman::collections::to_tuple< V >::empty ( ) const
inline
Returns
Indicates whether the base object is empty.

◆ end()

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

◆ front() [2/2]

template<typename V >
decltype(auto) constexpr OpenKalman::collections::to_tuple< V >::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: