This file looks large and may slow your browser down if we attempt
to syntax highlight it, so we are showing it without any
pretty colors.
Highlight
it anyway.
| 1 |
#ifndef ALIGNED_BUFFER_H |
| 2 |
#define ALIGNED_BUFFER_H |
| 3 |
|
| 4 |
_STLP_BEGIN_NAMESPACE |
| 5 |
// this is for fake initialization |
| 6 |
template<class T> |
| 7 |
union _Stl_aligned_buffer { |
| 8 |
char buf[sizeof(T)]; |
| 9 |
struct { double a; double b; } padding; |
| 10 |
|
| 11 |
T* operator&() { |
| 12 |
return __REINTERPRET_CAST(T*, this); |
| 13 |
} |
| 14 |
|
| 15 |
T const* operator&() const { |
| 16 |
return __REINTERPRET_CAST(T const*, this); |
| 17 |
} |
| 18 |
}; |
| 19 |
_STLP_END_NAMESPACE |
| 20 |
|
| 21 |
#endif |