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 uniformly_gettable. 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 not values::index< Size >, int > = 0>
constexpr iota_view (Start start)
 Construct from an initial value, default-initializing Size.
 
constexpr iota_view () noexcept=default
 Default constructor.
 
- Public Member Functions inherited from OpenKalman::collections::generate_view< detail::iota_generator< Start >, Size >
constexpr generate_view (detail::iota_generator< Start > f, Size size)
 Construct from a callable object and a size.
 
constexpr generate_view (detail::iota_generator< Start > f) noexcept
 Construct from a callable object, if the view is unsized.
 
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::stdex::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 = values::unbounded_size_t>
struct OpenKalman::collections::iota_view< Start, Size >

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

In all cases, the result will be a std::range. If the Size parameter is values::fixed, then the result will also be a uniformly_gettable sequence effectively in the form of std::integral_constant<std::size_t, 0>{},...,std::integral_constant<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 values::unbounded_size_t.

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