Classes | Typedefs | Functions
absl::span_internal Namespace Reference

Classes

struct  ElementType
 
struct  ElementType< T(&)[N]>
 
struct  IsConvertible
 
struct  IsConvertibleHelper
 

Typedefs

template<typename C >
using ElementT = typename ElementType< C >::type
 
template<typename From , typename To >
using EnableIfConvertibleTo = typename std::enable_if< IsConvertible< From, To >::value >::type
 
template<typename T >
using EnableIfMutable = typename std::enable_if<!std::is_const< T >::value, int >::type
 
template<typename T , typename C >
using HasData = std::is_convertible< absl::decay_t< decltype(GetData(std::declval< C & >()))> *, T *const * >
 
template<typename C >
using HasSize = std::is_integral< absl::decay_t< decltype(std::declval< C & >().size())>>
 

Functions

template<template< typename > class SpanT, typename T >
bool EqualImpl (SpanT< T > a, SpanT< T > b)
 
template<typename C >
constexpr auto GetData (C &c) noexcept-> decltype(GetDataImpl(c, 0))
 
template<typename C >
constexpr auto GetDataImpl (C &c, char) noexcept-> decltype(c.data())
 
char * GetDataImpl (std::string &s, int) noexcept
 
template<template< typename > class SpanT, typename T >
bool LessThanImpl (SpanT< T > a, SpanT< T > b)
 
constexpr size_t Min (size_t a, size_t b) noexcept
 

Typedef Documentation

template<typename C >
using absl::span_internal::ElementT = typedef typename ElementType<C>::type

Definition at line 81 of file internal/span.h.

template<typename From , typename To >
using absl::span_internal::EnableIfConvertibleTo = typedef typename std::enable_if<IsConvertible<From, To>::value>::type

Definition at line 122 of file internal/span.h.

template<typename T >
using absl::span_internal::EnableIfMutable = typedef typename std::enable_if<!std::is_const<T>::value, int>::type

Definition at line 85 of file internal/span.h.

template<typename T , typename C >
using absl::span_internal::HasData = typedef std::is_convertible<absl::decay_t<decltype(GetData(std::declval<C&>()))>*, T* const*>

Definition at line 67 of file internal/span.h.

template<typename C >
using absl::span_internal::HasSize = typedef std::is_integral<absl::decay_t<decltype(std::declval<C&>().size())>>

Definition at line 56 of file internal/span.h.

Function Documentation

template<template< typename > class SpanT, typename T >
bool absl::span_internal::EqualImpl ( SpanT< T >  a,
SpanT< T >  b 
)

Definition at line 88 of file internal/span.h.

template<typename C >
constexpr auto absl::span_internal::GetData ( C &  c) -> decltype(GetDataImpl(c, 0))
noexcept

Definition at line 48 of file internal/span.h.

template<typename C >
constexpr auto absl::span_internal::GetDataImpl ( C &  c,
char   
) -> decltype(c.data())
noexcept

Definition at line 36 of file internal/span.h.

char* absl::span_internal::GetDataImpl ( std::string &  s,
int   
)
inlinenoexcept

Definition at line 42 of file internal/span.h.

template<template< typename > class SpanT, typename T >
bool absl::span_internal::LessThanImpl ( SpanT< T >  a,
SpanT< T >  b 
)

Definition at line 94 of file internal/span.h.

constexpr size_t absl::span_internal::Min ( size_t  a,
size_t  b 
)
noexcept

Definition at line 32 of file internal/span.h.



abseil_cpp
Author(s):
autogenerated on Wed Jun 19 2019 19:19:59