os/ossrv/genericopenlibs/cppstdlib/stl/src/aligned_buffer.h
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/ossrv/genericopenlibs/cppstdlib/stl/src/aligned_buffer.h	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,21 @@
     1.4 +#ifndef ALIGNED_BUFFER_H
     1.5 +#define ALIGNED_BUFFER_H
     1.6 +
     1.7 +_STLP_BEGIN_NAMESPACE
     1.8 +// this is for fake initialization
     1.9 +template<class T>
    1.10 +union _Stl_aligned_buffer {
    1.11 +  char buf[sizeof(T)];
    1.12 +  struct { double a; double b; } padding;
    1.13 +
    1.14 +  T* operator&() {
    1.15 +    return __REINTERPRET_CAST(T*, this);
    1.16 +  }
    1.17 +
    1.18 +  T const* operator&() const {
    1.19 +    return __REINTERPRET_CAST(T const*, this);
    1.20 +  }
    1.21 +};
    1.22 +_STLP_END_NAMESPACE
    1.23 +
    1.24 +#endif