Caffe2 - C++ API
A deep learning, cross platform ML framework
c10::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 <AlignOf.h>

Inheritance diagram for c10::AlignedCharArrayUnion< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >:
c10::AlignedCharArray< alignof(detail::AlignerImpl< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >), sizeof(::c10::detail::SizerImpl< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >)>

Additional Inherited Members

- Data Fields inherited from c10::AlignedCharArray< alignof(detail::AlignerImpl< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >), sizeof(::c10::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 c10::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 168 of file AlignOf.h.


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