---
name: "std::ranges::view_interface"
section: "3cxx"
platform: "linux"
package: "libstdc++-12-doc"
version: "12.4.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/std::ranges::view_interface/3cxx"
---

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

The ranges::view\_interface class template.

## NAME

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

## SYNOPSIS

`#include <ranges>`

Inherited by **std::ranges::subrange\< iterator\_t\< \_Vp \> \>**, std::ranges::basic\_istream\_view\< \_Val, \_CharT, \_Traits \>, std::ranges::iota\_view\< \_Winc, \_Bound \>, and **std::ranges::subrange\< \_It, \_Sent, \_Kind \>**.

### Public Member Functions

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** () noexcept(noexcept(\_S\_empty(\_M\_derived())))\
 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.
