template <typename... Ts>
class CompressedTuple
Defined at line 203 of file ../../third_party/abseil-cpp/absl/container/internal/compressed_tuple.h
Helper class to perform the Empty Base Class Optimization.
Ts can contain classes and non-classes, empty or not. For the ones that
are empty classes, we perform the CompressedTuple. If all types in Ts are
empty classes, then CompressedTuple
<Ts
...> is itself an empty class. (This
does not apply when one or more of those empty classes is itself an empty
CompressedTuple.)
To access the members, use member .get
<N
>() function.
Eg:
absl::container_internal::CompressedTuple
<int
, T1, T2, T3> value(7, t1, t2,
t3);
assert(value.get
<
0>() == 7);
T1
&
t1 = value.get
<
1>();
const T2
&
t2 = value.get
<
2>();
...
https://en.cppreference.com/w/cpp/language/ebo
Public Methods
void CompressedTuple<Ts...> ()
Defined at line 221 of file ../../third_party/abseil-cpp/absl/container/internal/compressed_tuple.h
void CompressedTuple<Ts...> (const Ts &... base)
Defined at line 223 of file ../../third_party/abseil-cpp/absl/container/internal/compressed_tuple.h
template <typename First, typename... Vs, absl::enable_if_t<
absl::conjunction<
// Ensure we are not hiding default copy/move constructors.
absl::negation<std::is_same<void(CompressedTuple),
void(absl::decay_t<First>)>>,
internal_compressed_tuple::TupleItemsMoveConstructible<
CompressedTuple<Ts...>, First, Vs...>>::value,
bool> = true>
void CompressedTuple<Ts...> (First && first, Vs &&... base)
Ensure we are not hiding default copy/move constructors.
Defined at line 235 of file ../../third_party/abseil-cpp/absl/container/internal/compressed_tuple.h
template <int I>
ElemT<I> & get ()
Defined at line 241 of file ../../third_party/abseil-cpp/absl/container/internal/compressed_tuple.h
template <int I>
const ElemT<I> & get ()
Defined at line 246 of file ../../third_party/abseil-cpp/absl/container/internal/compressed_tuple.h
template <int I>
ElemT<I> && get ()
Defined at line 251 of file ../../third_party/abseil-cpp/absl/container/internal/compressed_tuple.h
template <int I>
const ElemT<I> && get ()
Defined at line 256 of file ../../third_party/abseil-cpp/absl/container/internal/compressed_tuple.h