LLVM  8.0.1
List of all members
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 ten types. More...

#include "llvm/Support/AlignOf.h"

Inherits llvm::AlignedCharArray< alignof(llvm::detail::AlignerImpl< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >), sizeof(::llvm::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]

Additional Inherited Members

- Public Attributes inherited from llvm::AlignedCharArray< alignof(llvm::detail::AlignerImpl< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >), sizeof(::llvm::detail::SizerImpl< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >)>
char buffer [Size]
 

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 ten 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 ten types can be added at the cost of more boilerplate.

Definition at line 138 of file AlignOf.h.


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