LLVM 22.0.0git
llvm::PointerSumTypeMember< N, PointerArgT, TraitsArgT > Struct Template Reference

A compile time pair of an integer tag and the pointer-like type which it indexes within a sum type. More...

#include "llvm/ADT/PointerSumType.h"

Public Types

enum  { Tag = N }
using PointerT = PointerArgT
using TraitsT = TraitsArgT

Detailed Description

template<uintptr_t N, typename PointerArgT, typename TraitsArgT = PointerLikeTypeTraits<PointerArgT>>
struct llvm::PointerSumTypeMember< N, PointerArgT, TraitsArgT >

A compile time pair of an integer tag and the pointer-like type which it indexes within a sum type.

Also allows the user to specify a particular traits class for pointer types with custom behavior such as over-aligned allocation.

Definition at line 28 of file PointerSumType.h.

Member Typedef Documentation

◆ PointerT

template<uintptr_t N, typename PointerArgT, typename TraitsArgT = PointerLikeTypeTraits<PointerArgT>>
using llvm::PointerSumTypeMember< N, PointerArgT, TraitsArgT >::PointerT = PointerArgT

Definition at line 30 of file PointerSumType.h.

◆ TraitsT

template<uintptr_t N, typename PointerArgT, typename TraitsArgT = PointerLikeTypeTraits<PointerArgT>>
using llvm::PointerSumTypeMember< N, PointerArgT, TraitsArgT >::TraitsT = TraitsArgT

Definition at line 31 of file PointerSumType.h.

Member Enumeration Documentation

◆ anonymous enum

template<uintptr_t N, typename PointerArgT, typename TraitsArgT = PointerLikeTypeTraits<PointerArgT>>
anonymous enum
Enumerator
Tag 

Definition at line 29 of file PointerSumType.h.


The documentation for this struct was generated from the following file: