A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/language/../language/../algorithm/../ranges/repeat_view.html below:

std::ranges::views::repeat, std::ranges::repeat_view - cppreference.com

1) A range factory that generates a sequence of elements by repeatedly producing the same value. Can be either bounded or unbounded (infinite).

2) views::repeat(e)

and

views::repeat(e, f)

are

expression-equivalent

to

repeat_view<std::decay_t<decltype((E))>>(e)

and

repeat_view(e, f)

respectively for any suitable subexpressions

e

and

f

.

repeat_view models random_access_range. If Bound is not std::unreachable_sentinel_t, repeat_view also models sized_range and common_range.

Customization point objects

The name views::repeat denotes a customization point object, which is a const function object of a literal semiregular class type. See CustomizationPointObject for details.

[edit] Data members Member Definition movable-box <W> value_ the repeating element of the view
(exposition-only member object*) Bound bound_ the sentinel value
(exposition-only member object*) [edit] Member functions creates a repeat_view
(public member function) obtains the beginning iterator of a repeat_view
(public member function) obtains the sentinel denoting the end of a repeat_view
(public member function) obtains the size of a repeat_view if it is sized
(public member function) Inherited from std::ranges::view_interface returns whether the derived view is empty, provided only if it satisfies sized_range or forward_range
(public member function of std::ranges::view_interface<D>) [edit] returns a constant iterator to the beginning of the range
(public member function of std::ranges::view_interface<D>) [edit] returns a sentinel for the constant iterator of the range
(public member function of std::ranges::view_interface<D>) [edit] returns whether the derived view is not empty, provided only if ranges::empty is applicable to it
(public member function of std::ranges::view_interface<D>) [edit] returns the first element in the derived view, provided if it satisfies forward_range
(public member function of std::ranges::view_interface<D>) [edit] returns the last element in the derived view, provided only if it satisfies bidirectional_range and common_range
(public member function of std::ranges::view_interface<D>) [edit] returns the nth element in the derived view, provided only if it satisfies random_access_range
(public member function of std::ranges::view_interface<D>) [edit] std::ranges::repeat_view::repeat_view 1)

Default-initializes

value_

and value-initializes

bound_

 .

2)

Initializes

value_

with

value

and initializes

bound_

with

bound

.

3)

Initializes

value_

with

std::move(value)

and initializes

bound_

with

bound

.

Parameters value - the value to be repeatedly produced bound - the bound value_args - the tuple containing the initializers of value_ bound_args - the tuple containing the initializers of bound_ std::ranges::repeat_view::end [edit] Deduction guides (since C++23) [edit] Nested classes the iterator type
(exposition-only member class*) [edit] Notes [edit] Example
#include <iostream>
#include <ranges>
#include <string_view>
using namespace std::literals;
 
int main()
{
    // bounded overload
    for (auto s : std::views::repeat("C++"sv, 3))
        std::cout << s << ' ';
    std::cout << '\n';
 
    // unbounded overload
    for (auto s : std::views::repeat("I know that you know that"sv)
                | std::views::take(3))
        std::cout << s << ' ';
    std::cout << "...\n";
}

Output:

C++ C++ C++
I know that you know that I know that you know that I know that you know that ...
[edit] Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior LWG 4053 C++20 unary calls to views::repeat did not decay the argument decay the argument LWG 4054 C++20 calling views::repeat with a repeat_view
did not create a nested repeat_view creates a nested
repeat_view [edit] See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4