CRTP base that generates non‐template constructors and assignment operators for each type in the union. Non‐template constructors allow implicit conversions (derived‐to‐base, non‐const‐to‐const).

Synopsis

Declared in <llvm/ADT/PointerUnion.h>

template<
    typename Derived,
    int Idx,
    typename... Types>
class PointerUnionMembers;

Specializations

Derived Classes

Name

Description

PointerUnion

A discriminated union of two or more pointer types, with the discriminator in the low bits of the pointer.

PointerUnionMembers<Derived, Idx, Type, Types...>

Created with MrDocs