aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/std/random
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/std/random')
-rw-r--r--libstdc++-v3/include/std/random35
1 files changed, 31 insertions, 4 deletions
diff --git a/libstdc++-v3/include/std/random b/libstdc++-v3/include/std/random
index 6faf5f5..2fccb60 100644
--- a/libstdc++-v3/include/std/random
+++ b/libstdc++-v3/include/std/random
@@ -36,11 +36,38 @@
#pragma GCC system_header
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
-# include <tr1/random>
-#else
+#ifndef __GXX_EXPERIMENTAL_CXX0X__
# include <c++0x_warning.h>
#endif
-#endif
+#if defined(_GLIBCXX_INCLUDE_AS_TR1)
+# error C++0x header cannot be included from TR1 header
+#endif
+
+#include <cmath>
+#include <cstdio>
+#include <cstdlib>
+#include <string>
+#include <iosfwd>
+#include <limits>
+#include <ext/type_traits.h>
+#include <ext/numeric_traits.h>
+#include <bits/concept_check.h>
+#include <debug/debug.h>
+#include <type_traits>
+
+#if defined(_GLIBCXX_INCLUDE_AS_CXX0X)
+# include <tr1_impl/random>
+#else
+# define _GLIBCXX_INCLUDE_AS_CXX0X
+# define _GLIBCXX_BEGIN_NAMESPACE_TR1
+# define _GLIBCXX_END_NAMESPACE_TR1
+# define _GLIBCXX_TR1
+# include <tr1_impl/random>
+# undef _GLIBCXX_TR1
+# undef _GLIBCXX_END_NAMESPACE_TR1
+# undef _GLIBCXX_BEGIN_NAMESPACE_TR1
+# undef _GLIBCXX_INCLUDE_AS_CXX0X
+#endif
+#endif // _GLIBCXX_RANDOM