LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
llvm::AlignedCharArrayUnion< T1, T2, T3, T4, T5, T6, T7 > Struct Template Reference

This union template exposes a suitably aligned and sized character array member which can hold elements of any of up to four types. More...

#include <AlignOf.h>

Inherits AlignedCharArray< AlignOf< detail::AlignerImpl< T1, T2, T3, T4, T5, T6, T7 > >::Alignment, sizeof(detail::SizerImpl< T1, T2, T3, T4, T5, T6, T7 >)>.

Collaboration diagram for llvm::AlignedCharArrayUnion< T1, T2, T3, T4, T5, T6, T7 >:
Collaboration graph
[legend]

Detailed Description

template<typename T1, typename T2 = char, typename T3 = char, typename T4 = char, typename T5 = char, typename T6 = char, typename T7 = char>
struct llvm::AlignedCharArrayUnion< T1, T2, T3, T4, T5, T6, T7 >

This union template exposes a suitably aligned and sized character array member which can hold elements of any of up to four types.

These types may be arrays, structs, or any other types. The goal is to expose a char array buffer member which can be used as suitable storage for a placement new of any of these types. Support for more than seven types can be added at the cost of more boiler plate.

Definition at line 199 of file AlignOf.h.


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