author | William Roberts <williamr@symbian.org> |
Thu, 22 Jul 2010 16:48:56 +0100 | |
branch | GCC_SURGE |
changeset 45 | 4b03adbd26ca |
parent 18 | 47c74d1534e1 |
parent 34 | 5fae379060a7 |
permissions | -rw-r--r-- |
31 | 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 |