]> git.buserror.net Git - polintos/scott/priv.git/blobdiff - lib/c++/stlport/aligned_buffer.h
Add STLport 5.1.4
[polintos/scott/priv.git] / lib / c++ / stlport / aligned_buffer.h
diff --git a/lib/c++/stlport/aligned_buffer.h b/lib/c++/stlport/aligned_buffer.h
new file mode 100644 (file)
index 0000000..6ff6ca6
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef ALIGNED_BUFFER_H
+#define ALIGNED_BUFFER_H
+
+_STLP_BEGIN_NAMESPACE
+// this is for fake initialization
+template<class T>
+union _Stl_aligned_buffer {
+  char buf[sizeof(T)];
+  struct { double a; double b; } padding;
+
+  T* operator&() {
+    return __REINTERPRET_CAST(T*, this);
+  }
+
+  T const* operator&() const {
+    return __REINTERPRET_CAST(T const*, this);
+  }
+};
+_STLP_END_NAMESPACE
+
+#endif