libstdc++
range_access.h File Reference

Go to the source code of this file.

Namespaces

 std
 

Macros

#define __cpp_lib_nonmember_container_access
 
#define __cpp_lib_ssize
 

Functions

template<typename _Container >
constexpr auto std::begin (_Container &__cont) -> decltype(__cont.begin())
 
template<typename _Tp , size_t _Nm>
constexpr _Tp * std::begin (_Tp(&__arr)[_Nm]) noexcept
 
template<typename _Container >
constexpr auto std::begin (const _Container &__cont) -> decltype(__cont.begin())
 
template<class _Tp >
const _Tp * std::begin (const valarray< _Tp > &__va) noexcept
 
template<class _Tp >
_Tp * std::begin (valarray< _Tp > &__va) noexcept
 
template<typename _Container >
constexpr auto std::cbegin (const _Container &__cont) noexcept(noexcept(std::begin(__cont))) -> decltype(std::begin(__cont))
 
template<typename _Container >
constexpr auto std::cend (const _Container &__cont) noexcept(noexcept(std::end(__cont))) -> decltype(std::end(__cont))
 
template<typename _Container >
constexpr auto std::crbegin (const _Container &__cont) -> decltype(std::rbegin(__cont))
 
template<typename _Container >
constexpr auto std::crend (const _Container &__cont) -> decltype(std::rend(__cont))
 
template<typename _Container >
constexpr auto std::data (_Container &__cont) noexcept(noexcept(__cont.data())) -> decltype(__cont.data())
 
template<typename _Tp , size_t _Nm>
constexpr _Tp * std::data (_Tp(&__array)[_Nm]) noexcept
 
template<typename _Container >
constexpr auto std::data (const _Container &__cont) noexcept(noexcept(__cont.data())) -> decltype(__cont.data())
 
template<typename _Tp >
constexpr const _Tp * std::data (initializer_list< _Tp > __il) noexcept
 
template<typename _Container >
constexpr auto std::empty (const _Container &__cont) noexcept(noexcept(__cont.empty())) -> decltype(__cont.empty())
 
template<typename _Tp , size_t _Nm>
constexpr bool std::empty (const _Tp(&)[_Nm]) noexcept
 
template<typename _Tp >
constexpr bool std::empty (initializer_list< _Tp > __il) noexcept
 
template<typename _Container >
constexpr auto std::end (_Container &__cont) -> decltype(__cont.end())
 
template<typename _Tp , size_t _Nm>
constexpr _Tp * std::end (_Tp(&__arr)[_Nm]) noexcept
 
template<typename _Container >
constexpr auto std::end (const _Container &__cont) -> decltype(__cont.end())
 
template<class _Tp >
const _Tp * std::end (const valarray< _Tp > &__va) noexcept
 
template<class _Tp >
_Tp * std::end (valarray< _Tp > &__va) noexcept
 
template<typename _Container >
constexpr auto std::rbegin (_Container &__cont) -> decltype(__cont.rbegin())
 
template<typename _Tp , size_t _Nm>
constexpr reverse_iterator< _Tp * > std::rbegin (_Tp(&__arr)[_Nm]) noexcept
 
template<typename _Container >
constexpr auto std::rbegin (const _Container &__cont) -> decltype(__cont.rbegin())
 
template<typename _Tp >
constexpr reverse_iterator< const _Tp * > std::rbegin (initializer_list< _Tp > __il) noexcept
 
template<typename _Container >
constexpr auto std::rend (_Container &__cont) -> decltype(__cont.rend())
 
template<typename _Tp , size_t _Nm>
constexpr reverse_iterator< _Tp * > std::rend (_Tp(&__arr)[_Nm]) noexcept
 
template<typename _Container >
constexpr auto std::rend (const _Container &__cont) -> decltype(__cont.rend())
 
template<typename _Tp >
constexpr reverse_iterator< const _Tp * > std::rend (initializer_list< _Tp > __il) noexcept
 
template<typename _Container >
constexpr auto std::size (const _Container &__cont) noexcept(noexcept(__cont.size())) -> decltype(__cont.size())
 
template<typename _Tp , size_t _Nm>
constexpr size_t std::size (const _Tp(&)[_Nm]) noexcept
 
template<typename _Container >
constexpr auto std::ssize (const _Container &__cont) noexcept(noexcept(__cont.size())) -> common_type_t< ptrdiff_t, make_signed_t< decltype(__cont.size())>>
 
template<typename _Tp , ptrdiff_t _Num>
constexpr ptrdiff_t std::ssize (const _Tp(&)[_Num]) noexcept
 

Detailed Description

This is an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <iterator>.

Definition in file range_access.h.