---
name: "std::ranges::view_interface"
section: "3"
platform: "linux"
package: "gcc"
version: "16.2.1+r23+gd564253eb6c8-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/std::ranges::view_interface"
---

# std::ranges::view\_interface(3)

The ranges::view\_interface class template.

## NAME

std::ranges::view\_interface\< \_Derived \> - The ranges::view\_interface class template.

## SYNOPSIS

\#include \<ranges\>

Inherited by , and .

### Public Member Functions

constexpr decltype(auto) **back** ()\
 constexpr decltype(auto) **back** () const\
 constexpr auto **cbegin** ()\
 constexpr auto **cbegin** () const\
 constexpr auto **cend** ()\
 constexpr auto **cend** () 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

### 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.

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
