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