OpenKalman
Public Member Functions | List of all members
OpenKalman::collections::iota_view< Start, Size > Struct Template Reference

An iota collection that is a std::range and may also be tuple_like. More...

#include <iota.hpp>

Inheritance diagram for OpenKalman::collections::iota_view< Start, Size >:
Inheritance graph
[legend]
Collaboration diagram for OpenKalman::collections::iota_view< Start, Size >:
Collaboration graph
[legend]

Public Member Functions

template<bool Enable = true, std::enable_if_t< Enable and values::index< Size >, int > = 0>
constexpr iota_view (Start start, Size_ size)
 Construct from an initial value and size.
 
template<bool Enable = true, std::enable_if_t< Enable and values::fixed< Start > and values::index< Size >, int > = 0>
constexpr iota_view (Size_ size)
 Construct from a size, default-initializing Start.
 
constexpr iota_view () noexcept=default
 Default constructor.
 
- Public Member Functions inherited from OpenKalman::collections::generate_view< detail::iota_generator< Start >, Size >
constexpr generate_view (Arg &&arg, Size_ size) noexcept
 Construct from a callable object and a size.
 
constexpr generate_view (const detail::iota_generator< Start > &) noexcept
 Construct from a statically constructable callable object, if the view is unsized.
 
constexpr generate_view (Arg &&arg) noexcept
 Construct from a callable object, if the view is unsized.
 
constexpr generate_view (Size_ size) noexcept
 Construct from a size if the function can be defined statically.
 
constexpr generate_view ()=default
 Default constructor.
 
constexpr auto begin ()
 
constexpr auto begin () const
 
constexpr auto end ()
 
constexpr auto end () const
 
constexpr auto size () const noexcept
 The size of the resulting object.
 
decltype(auto) constexpr get () &
 Get element i.
 
decltype(auto) constexpr get () const &
 
decltype(auto) constexpr get () &&noexcept
 
decltype(auto) constexpr get () const &&noexcept
 
- Public Member Functions inherited from OpenKalman::ranges::view_interface< generate_view< detail::iota_generator< Start >, Size > >
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 Start = std::integral_constant<std::size_t, 0>, typename Size = unreachable_sentinel_t>
struct OpenKalman::collections::iota_view< Start, Size >

An iota collection that is a std::range and may also be tuple_like.

In all cases, the result will be a std::range. If the Size parameter is values::fixed, then the result will also be a tuple_like sequence effectively in the form of std::integral_sequence<std::size_t, 0>{},...,std::integral_sequence<std::size_t, N>{}

Template Parameters
StartThe start value of the iota.
SizeThe size of the resulting collection. The view is unsized if Size is void.

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