Namespaces | Classes | Typedefs
absl::container_internal::internal_layout Namespace Reference

Namespaces

 adl_barrier
 

Classes

struct  AlignOf
 
struct  AlignOf< Aligned< T, N > >
 
class  LayoutImpl
 
class  LayoutImpl< std::tuple< Elements... >, absl::index_sequence< SizeSeq... >, absl::index_sequence< OffsetSeq... > >
 
struct  NotAligned
 
struct  NotAligned< const Aligned< T, N > >
 
struct  SizeOf
 
struct  SizeOf< Aligned< T, N > >
 
struct  Type
 
struct  Type< Aligned< T, N > >
 

Typedefs

template<class T , class... Ts>
using Contains = absl::disjunction< std::is_same< T, Ts >... >
 
template<class From , class To >
using CopyConst = typename std::conditional< std::is_const< From >::value, const To, To >::type
 
template<bool C>
using EnableIf = typename std::enable_if< C, int >::type
 
template<size_t >
using IntToSize = size_t
 
template<class T >
using IsLegalElementType = std::integral_constant< bool, !std::is_reference< T >::value &&!std::is_volatile< T >::value &&!std::is_reference< typename Type< T >::type >::value &&!std::is_volatile< typename Type< T >::type >::value &&adl_barrier::IsPow2(AlignOf< T >::value)>
 
template<size_t NumSizes, class... Ts>
using LayoutType = LayoutImpl< std::tuple< Ts... >, absl::make_index_sequence< NumSizes >, absl::make_index_sequence< adl_barrier::Min(sizeof...(Ts), NumSizes+1)> >
 
template<class T >
using SliceType = Span< T >
 
template<class >
using TypeToSize = size_t
 

Typedef Documentation

◆ Contains

template<class T , class... Ts>
using absl::container_internal::internal_layout::Contains = typedef absl::disjunction<std::is_same<T, Ts>...>

Definition at line 250 of file layout.h.

◆ CopyConst

template<class From , class To >
using absl::container_internal::internal_layout::CopyConst = typedef typename std::conditional<std::is_const<From>::value, const To, To>::type

Definition at line 254 of file layout.h.

◆ EnableIf

template<bool C>
using absl::container_internal::internal_layout::EnableIf = typedef typename std::enable_if<C, int>::type

Definition at line 313 of file layout.h.

◆ IntToSize

template<size_t >
using absl::container_internal::internal_layout::IntToSize = typedef size_t

Definition at line 214 of file layout.h.

◆ IsLegalElementType

template<class T >
using absl::container_internal::internal_layout::IsLegalElementType = typedef std::integral_constant< bool, !std::is_reference<T>::value && !std::is_volatile<T>::value && !std::is_reference<typename Type<T>::type>::value && !std::is_volatile<typename Type<T>::type>::value && adl_barrier::IsPow2(AlignOf<T>::value)>

Definition at line 321 of file layout.h.

◆ LayoutType

template<size_t NumSizes, class... Ts>
using absl::container_internal::internal_layout::LayoutType = typedef LayoutImpl< std::tuple<Ts...>, absl::make_index_sequence<NumSizes>, absl::make_index_sequence<adl_barrier::Min(sizeof...(Ts), NumSizes + 1)> >

Definition at line 670 of file layout.h.

◆ SliceType

template<class T >
using absl::container_internal::internal_layout::SliceType = typedef Span<T>

Definition at line 259 of file layout.h.

◆ TypeToSize

template<class >
using absl::container_internal::internal_layout::TypeToSize = typedef size_t

Definition at line 217 of file layout.h.



abseil_cpp
Author(s):
autogenerated on Mon Feb 28 2022 21:31:23