LLVM API Documentation

llvm::AlignedCharArrayUnion< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 > 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, T8, T9, T10 > >::Alignment, sizeof(detail::SizerImpl< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >)>.

Collaboration diagram for llvm::AlignedCharArrayUnion< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >:
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, typename T8 = char, typename T9 = char, typename T10 = char>
struct llvm::AlignedCharArrayUnion< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >

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 203 of file AlignOf.h.


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