#include <layout.h>
Public Member Functions | |
constexpr | LayoutImpl (IntToSize< SizeSeq >...sizes) |
template<size_t N, EnableIf< N==0 > = 0> | |
constexpr size_t | Offset () const |
template<size_t N, EnableIf< N!=0 > = 0> | |
constexpr size_t | Offset () const |
template<class T > | |
constexpr size_t | Offset () const |
constexpr std::array< size_t, NumOffsets > | Offsets () const |
template<size_t N> | |
constexpr size_t | Size () const |
template<class T > | |
constexpr size_t | Size () const |
constexpr std::array< size_t, NumSizes > | Sizes () const |
Static Public Member Functions | |
static constexpr size_t | Alignment () |
Private Types | |
enum | { NumTypes = sizeof...(Elements), NumSizes = sizeof...(SizeSeq), NumOffsets = sizeof...(OffsetSeq) } |
Private Member Functions | |
static_assert (sizeof...(Elements) > 0,"At least one field is required") | |
static_assert (absl::conjunction< IsLegalElementType< Elements >...>::value,"Invalid element type (see IsLegalElementType)") | |
static_assert (NumOffsets==adl_barrier::Min(NumTypes, NumSizes+1),"Internal error") | |
static_assert (NumTypes > 0,"Internal error") | |
Static Private Member Functions | |
template<class T > | |
static constexpr size_t | ElementIndex () |
anonymous enum [private] |
constexpr absl::container_internal::internal_layout::LayoutImpl< std::tuple< Elements...>, absl::index_sequence< SizeSeq...>, absl::index_sequence< OffsetSeq...> >::LayoutImpl | ( | IntToSize< SizeSeq >... | sizes | ) | [inline, explicit] |
static constexpr size_t absl::container_internal::internal_layout::LayoutImpl< std::tuple< Elements...>, absl::index_sequence< SizeSeq...>, absl::index_sequence< OffsetSeq...> >::Alignment | ( | ) | [inline, static] |
static constexpr size_t absl::container_internal::internal_layout::LayoutImpl< std::tuple< Elements...>, absl::index_sequence< SizeSeq...>, absl::index_sequence< OffsetSeq...> >::ElementIndex | ( | ) | [inline, static, private] |
constexpr size_t absl::container_internal::internal_layout::LayoutImpl< std::tuple< Elements...>, absl::index_sequence< SizeSeq...>, absl::index_sequence< OffsetSeq...> >::Offset | ( | ) | const [inline] |
constexpr size_t absl::container_internal::internal_layout::LayoutImpl< std::tuple< Elements...>, absl::index_sequence< SizeSeq...>, absl::index_sequence< OffsetSeq...> >::Offset | ( | ) | const [inline] |
constexpr size_t absl::container_internal::internal_layout::LayoutImpl< std::tuple< Elements...>, absl::index_sequence< SizeSeq...>, absl::index_sequence< OffsetSeq...> >::Offset | ( | ) | const [inline] |
constexpr std::array<size_t, NumOffsets> absl::container_internal::internal_layout::LayoutImpl< std::tuple< Elements...>, absl::index_sequence< SizeSeq...>, absl::index_sequence< OffsetSeq...> >::Offsets | ( | ) | const [inline] |
constexpr size_t absl::container_internal::internal_layout::LayoutImpl< std::tuple< Elements...>, absl::index_sequence< SizeSeq...>, absl::index_sequence< OffsetSeq...> >::Size | ( | ) | const [inline] |
constexpr size_t absl::container_internal::internal_layout::LayoutImpl< std::tuple< Elements...>, absl::index_sequence< SizeSeq...>, absl::index_sequence< OffsetSeq...> >::Size | ( | ) | const [inline] |
absl::container_internal::internal_layout::LayoutImpl< std::tuple< Elements...>, absl::index_sequence< SizeSeq...>, absl::index_sequence< OffsetSeq...> >::static_assert | ( | sizeof... | Elements, |
0 | , | ||
"At least one field is required" | |||
) | [private] |
absl::container_internal::internal_layout::LayoutImpl< std::tuple< Elements...>, absl::index_sequence< SizeSeq...>, absl::index_sequence< OffsetSeq...> >::static_assert | ( | absl::conjunction< IsLegalElementType< Elements >...>::value | , |
"Invalid element type (see IsLegalElementType)" | |||
) | [private] |
absl::container_internal::internal_layout::LayoutImpl< std::tuple< Elements...>, absl::index_sequence< SizeSeq...>, absl::index_sequence< OffsetSeq...> >::static_assert | ( | NumOffsets | = =adl_barrier::Min(NumTypes, NumSizes+1) , |
"Internal error" | |||
) | [private] |
absl::container_internal::internal_layout::LayoutImpl< std::tuple< Elements...>, absl::index_sequence< SizeSeq...>, absl::index_sequence< OffsetSeq...> >::static_assert | ( | NumTypes | , |
0 | , | ||
"Internal error" | |||
) | [private] |