14#ifndef RANGES_V3_VIEW_REPEAT_N_HPP
15#define RANGES_V3_VIEW_REPEAT_N_HPP
24#include <range/v3/utility/static_const.hpp>
27#include <range/v3/detail/prologue.hpp>
41 template<
typename Val>
46 semiregular_box_t<Val> value_;
57 cursor(Val
const & value, std::ptrdiff_t n)
58 : value_(std::addressof(value))
61 Val
const & read()
const
69 bool equal(cursor
const & that)
const
75 RANGES_EXPECT(0 != n_);
82 void advance(std::ptrdiff_t n)
86 std::ptrdiff_t distance_to(cursor
const & that)
const
91 cursor begin_cursor()
const
99 : value_(detail::move(value))
100 , n_((RANGES_EXPECT(0 <= n), n))
112 template(
typename Val)(
113 requires copy_constructible<Val>)
127#include <range/v3/detail/epilogue.hpp>
128#include <range/v3/detail/satisfy_boost_range.hpp>
RANGES_INLINE_VARIABLE(detail::to_container_fn< detail::from_range< std::vector > >, to_vector) template< template< typename... > class ContT > auto to(RANGES_HIDDEN_DETAIL(detail
For initializing a container of the specified type with the elements of an Range.
Definition: conversion.hpp:399
std::integral_constant< std::size_t, N > size_t
An integral constant wrapper for std::size_t.
Definition: meta.hpp:163
repeat_n_c< N::type::value, T > repeat_n
Generate list<T,T,T...T> of size N arguments.
Definition: meta.hpp:1899
Definition: default_sentinel.hpp:26
Definition: repeat_n.hpp:43
A utility for constructing a view from a (derived) type that implements begin and end cursors.
Definition: facade.hpp:66
Definition: repeat_n.hpp:111