#include <algorithm>
#include <cstddef>
#include <string>
#include <type_traits>
#include "absl/algorithm/algorithm.h"
#include "absl/base/internal/throw_delegate.h"
#include "absl/meta/type_traits.h"
Go to the source code of this file.
Namespaces | |
absl | |
absl::span_internal | |
Typedefs | |
template<typename C > | |
using | absl::span_internal::ElementT = typename ElementType< C >::type |
template<typename From , typename To > | |
using | absl::span_internal::EnableIfConvertibleTo = typename std::enable_if< IsConvertible< From, To >::value >::type |
template<typename T > | |
using | absl::span_internal::EnableIfMutable = typename std::enable_if<!std::is_const< T >::value, int >::type |
template<typename T , typename C > | |
using | absl::span_internal::HasData = std::is_convertible< absl::decay_t< decltype(GetData(std::declval< C & >()))> *, T *const * > |
template<typename C > | |
using | absl::span_internal::HasSize = std::is_integral< absl::decay_t< decltype(std::declval< C & >().size())>> |
Functions | |
template<template< typename > class SpanT, typename T > | |
bool | absl::span_internal::EqualImpl (SpanT< T > a, SpanT< T > b) |
template<typename C > | |
constexpr auto | absl::span_internal::GetData (C &c) noexcept-> decltype(GetDataImpl(c, 0)) |
template<typename C > | |
constexpr auto | absl::span_internal::GetDataImpl (C &c, char) noexcept-> decltype(c.data()) |
char * | absl::span_internal::GetDataImpl (std::string &s, int) noexcept |
template<template< typename > class SpanT, typename T > | |
bool | absl::span_internal::LessThanImpl (SpanT< T > a, SpanT< T > b) |
constexpr size_t | absl::span_internal::Min (size_t a, size_t b) noexcept |