LLVM  8.0.1
Public Types | List of all members
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: