template <class StaticSizeSeq, class... Ts>
class LayoutWithStaticSizes
Defined at line 696 of file ../../third_party/abseil-cpp/src/absl/container/internal/layout.h
Public Methods
template <class... Sizes>
PartialType<sizeof...(Sizes)> Partial (Sizes &&... sizes)
`Layout` knows the element types of the arrays we want to lay out in
memory but not the number of elements in each array.
`Partial(size1, ..., sizeN)` allows us to specify the latter. The
resulting immutable object can be used to obtain pointers to the
individual arrays.
It's allowed to pass fewer array sizes than the number of arrays. E.g.,
if all you need is to the offset of the second array, you only need to
pass one argument -- the number of elements in the first array.
// int[3] followed by 4 bytes of padding and an unknown number of
// doubles.
auto x = Layout
<int
, double>::Partial(3);
// doubles start at byte 16.
assert(x.Offset
<
1>() == 16);
If you know the number of elements in all arrays, you can still call
`Partial()` but it's more convenient to use the constructor of `Layout`.
Layout
<int
, double> x(3, 5);
Note: The sizes of the arrays must be specified in number of elements,
not in bytes.
Requires: `sizeof...(Sizes) + NumStaticSizes
<
= sizeof...(Ts)`.
Requires: all arguments are convertible to `size_t`.
Defined at line 741 of file ../../third_party/abseil-cpp/src/absl/container/internal/layout.h