table of contents
std::ranges::view_interface::front(3) | C++ Standard Libary | std::ranges::view_interface::front(3) |
NAME¶
std::ranges::view_interface::front - std::ranges::view_interface::front
Synopsis¶
constexpr decltype(auto) front() (1) (since C++20)
requires ranges::forward_range<D>;
constexpr decltype(auto) front() const (2) (since C++20)
requires ranges::forward_range<const D>;
The default implementation of front() member function returns the first
element in
the view of the derived type. Whether the element is returned by value or by
reference depends on the operator* of the iterator type.
1) Let derived be static_cast<D&>(*this). Equivalent to return
*ranges::begin(derived);. The behavior is undefined if empty() is true (i.e.
the
beginning iterator compares equal to the sentinel), even if the iterator
obtained in
the same way is dereferenceable.
2) Same as (1), except that derived is static_cast<const
D&>(*this).
Parameters¶
(none)
Return value¶
The first element in the view.
Notes¶
In C++20, no type derived from std::ranges::view_interface in the
standard library
provides their own front() member function. Almost all of these types use the
default implementation.
A notable exception is std::ranges::basic_istream_view. For it never
satisfies
forward_range, the view cannot use the inherited front().
The inherited front() member function is available for
std::ranges::empty_view, but
a call to it always results in undefined behavior.
Example¶
This section is incomplete
Reason: no example
See also¶
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)
ranges::cbegin returns an iterator to the beginning of a read-only range
(C++20) (customization point object)
Category:¶
* Todo no example
2024.06.10 | http://cppreference.com |