CRTP base generating per‐type constructors and assignment operators.

Synopsis

Declared in <llvm/ADT/PointerUnion.h>

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

Description

Non‐template constructors allow implicit conversions (derived‐to‐base, non‐const‐to‐const).

Specializations

Name

Description

PointerUnionMembers<Derived, Idx>

Terminal CRTP specialization when no alternative types remain.

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

Recursive CRTP specialization for alternative type Type at index Idx.

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...>

Recursive CRTP specialization for alternative type Type at index Idx.

Created with MrDocs