Scroll to navigation

std::ranges::subrange::begin(3) C++ Standard Libary std::ranges::subrange::begin(3)

NAME

std::ranges::subrange::begin - std::ranges::subrange::begin

Synopsis


constexpr I begin() const requires std::copyable<I>; (1) (since C++20)
[[nodiscard]] constexpr I begin() requires (!std::copyable<I>); (2) (since C++20)


Obtains the iterator to the first element of the subrange, or the end iterator if
the view is empty.


range-begin-end.svg


1) Returns a copy of the stored iterator if the iterator type is copyable.
2) Returns an iterator move-constructed from the stored iterator if the iterator
type is not copyable.

Parameters


(none)

Return value


1) An iterator copy-constructed from the stored iterator.
2) An iterator move-constructed from the stored iterator.

Notes


A call to (2) may leave the stored iterator in a valid but unspecified state,
depending on the behavior of the move constructor of I.

Example


This section is incomplete
Reason: no example

See also


end obtains the sentinel
(C++20) (public member function)
begin
cbegin returns an iterator to the beginning of a container or array
(C++11) (function template)
(C++14)
ranges::begin returns an iterator to the beginning of a range
(C++20) (customization point object)

Category:


* Todo no example

2024.06.10 http://cppreference.com