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