template <typename OuterT, typename InnerT = absl::remove_extent_t<OuterT>, size_t InnerN = std::extent<OuterT>::value>
struct StorageElementWrapper
Defined at line 420 of file ../../third_party/abseil-cpp/absl/container/fixed_array.h
StorageElement
For FixedArrays with a C-style-array value_type, StorageElement is a POD
wrapper struct called StorageElementWrapper that holds the value_type
instance inside. This is needed for construction and destruction of the
entire array regardless of how many dimensions it has. For all other cases,
StorageElement is just an alias of value_type.
Maintainer's Note: The simpler solution would be to simply wrap value_type
in a struct whether it's an array or not. That causes some paranoid
diagnostics to misfire, believing that 'data()' returns a pointer to a
single element, rather than the packed array that it really is.
e.g.:
FixedArray
<char
> buf(1);
sprintf(buf.data(), "foo");
error: call to int __builtin___sprintf_chk(etc...)
will always overflow destination buffer [-Werror]
Public Members
InnerT[InnerN] array