Classes | Namespaces | Typedefs | Functions
layout.h File Reference
#include <assert.h>
#include <stddef.h>
#include <stdint.h>
#include <ostream>
#include <string>
#include <tuple>
#include <type_traits>
#include <typeinfo>
#include <utility>
#include "absl/meta/type_traits.h"
#include "absl/strings/str_cat.h"
#include "absl/types/span.h"
#include "absl/utility/utility.h"
Include dependency graph for layout.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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

Namespaces

 absl
 
 absl::container_internal
 
 absl::container_internal::internal_layout
 
 absl::container_internal::internal_layout::adl_barrier
 

Typedefs

template<class T , class... Ts>
using absl::container_internal::internal_layout::Contains = absl::disjunction< std::is_same< T, Ts >... >
 
template<class From , class To >
using absl::container_internal::internal_layout::CopyConst = typename std::conditional< std::is_const< From >::value, const To, To >::type
 
template<bool C>
using absl::container_internal::internal_layout::EnableIf = typename std::enable_if< C, int >::type
 
template<size_t >
using absl::container_internal::internal_layout::IntToSize = size_t
 
template<class T >
using absl::container_internal::internal_layout::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 absl::container_internal::internal_layout::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 absl::container_internal::internal_layout::SliceType = Span< T >
 
template<class >
using absl::container_internal::internal_layout::TypeToSize = size_t
 

Functions

constexpr size_t absl::container_internal::internal_layout::adl_barrier::Align (size_t n, size_t m)
 
template<class Needle , class... Ts>
constexpr size_t absl::container_internal::internal_layout::adl_barrier::Find (Needle, Needle, Ts...)
 
template<class Needle , class T , class... Ts>
constexpr size_t absl::container_internal::internal_layout::adl_barrier::Find (Needle, T, Ts...)
 
constexpr bool absl::container_internal::internal_layout::adl_barrier::IsPow2 (size_t n)
 
constexpr size_t absl::container_internal::internal_layout::adl_barrier::Max (size_t a)
 
template<class... Ts>
constexpr size_t absl::container_internal::internal_layout::adl_barrier::Max (size_t a, size_t b, Ts... rest)
 
constexpr size_t absl::container_internal::internal_layout::adl_barrier::Min (size_t a, size_t b)
 
template<class T >
std::string absl::container_internal::internal_layout::adl_barrier::TypeName ()
 


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