ReactOS 0.4.16-dev-340-g0540c21
stldbg_include.cpp
Go to the documentation of this file.
1/*
2 * This is compile-time test for situation below not happen.
3 * STLport use many defines and auxilary structures, namespaces and templates
4 * that included via _prolog.h. After preprocessor phase we may see:
5 *
6 * extern "C" {
7 *
8 * namespace std { }
9 *
10 *
11 * This is bad, but acceptable. But in STLPORT_DEBUG mode we can see
12 *
13 * extern "C" {
14 *
15 * namespace std {
16 * namespace private {
17 *
18 * template <class _Dummy>
19 * class __stl_debug_engine {
20 *
21 *
22 * This lead to compile-time error.
23 * [This due to sys/types.h contains
24 *
25 * __BEGIN_DECLS
26 * #include <bits/types.h>
27 *
28 *
29 * i.e. include other headers within extern "C" { scope. Bad, but this is fact.]
30 *
31 * Origin of problem: STLport provide proxy-headers as for C++ headers, as for C
32 * headers. For C headers, we shouldn't expose C++ constructions, because system
33 * headers may include each other by unexpected way (from STLport point of view).
34 *
35 * - ptr, 2007-04-05
36 */
37
38#ifdef __unix
39# include <sys/types.h>
40#endif