#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] |