STD::RANGES::VIEW_INTERFACE(3cxx)
π std::ranges::view_interface< _Derived > β 3cxx bestie edition π
okay so bestie, welcome to the <pink>std::ranges::view_interface< _Derived ></pink> manual page from section 3cxx. This is the ranges::view_interface class template, and yes we are keeping every signature exactly as shown. No cap. π«Ά
πΈ NAME πΈ
std::ranges::view_interface< _Derived > β the ranges::view_interface class template. That's the name, that's the vibe, periodt. π
β¨ SYNOPSIS β¨
Pull it in with:
#include <ranges>
Inherited by std::ranges::subrange< _It, _Sent, _Kind >. β¨
π Public Member Functions π
Here's the full member-function lineup, copied exactly character-for-character because we do not play with signatures:
constexpr decltype(auto) back ()
constexpr decltype(auto) back () const
constexpr auto data () const
noexcept(noexcept(ranges::begin(_M_derived())))
constexpr auto data () noexcept(noexcept(ranges::begin(_M_derived())))
constexpr bool empty () const noexcept(noexcept(_S_empty(_M_derived())))
constexpr bool empty () const
noexcept(noexcept(ranges::size(_M_derived())==0))
constexpr bool empty () noexcept(noexcept(_S_empty(_M_derived())))
constexpr bool empty ()
noexcept(noexcept(ranges::size(_M_derived())==0))
constexpr decltype(auto) front ()
constexpr decltype(auto) front () const
constexpr operator bool () const
noexcept(noexcept(ranges::empty(_M_derived())))
constexpr operator bool ()
noexcept(noexcept(ranges::empty(_M_derived())))
template<random_access_range _Range = _Derived> constexpr decltype(auto)
operator[] (range_difference_t< _Range > __n)
template<random_access_range _Range = const _Derived> constexpr
decltype(auto) operator[] (range_difference_t< _Range > __n) const
constexpr auto size () const noexcept(noexcept(_S_size(_M_derived())))
constexpr auto size () noexcept(noexcept(_S_size(_M_derived())))
π Detailed Description π
The template vibe is:
template<typename _Derived>
requires is_class_v<_Derived> && same_as<_Derived,
remove_cv_t<_Derived>>
class std::ranges::view_interface< _Derived >"The ranges::view_interface
class template.
Yep, that's the ranges::view_interface class template, kept exactly as shown β line break and all, bestie. π«Ά
π Author π
Generated automatically by Doxygen for libstdc++ from the source code. That's the whole author note, iconic and automatic. β¨
Cute sign-off: the footer's source/version vibes are libstdc++ with the 3cxx page set, and the date wasn't displayed on this page, so I'm not inventing one. Bye bestie, slay your ranges! πππ¦
π¦ where this page comes from
- ubuntu noble: libstdc++-14-doc 14-20240412-0ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms