00001 #if !defined (__COMMON_HPP)
00002 #define __COMMON_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00031
00032
00033
00034
00035 #define IN_COMMON_HPP
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049 #if defined( __UNICODE )
00050 #if defined(__GNUC__)
00051 #include <wchar.h>
00052 #define _STDTEXT(text) L##text
00053 #else
00054 #define _STDTEXT(text) text
00055 #endif
00056 #else
00057 #define _STDTEXT(text) text
00058 #endif
00059
00060 #define TEXT(text) _STDTEXT(text)
00061
00062 #define __STDFILE__ TEXT( __FILE__ )
00063
00064
00071 #define LOCATION __STDFILE__, __LINE__
00072
00080 #define IGNORE_RETURN (void)
00081
00090 #define DECLARE_TYPE( mydecl, mytype ) \
00091 typedef mydecl mytype; \
00092 typedef mytype * mytype ## Ptr; \
00093 typedef const mytype * mytype ## Cptr; \
00094 typedef mytype & mytype ## Ref; \
00095 typedef const mytype & mytype ## Cref;
00096
00105 #define DECLARE_CLASS( tag ) \
00106 class tag; \
00107 typedef tag * tag ## Ptr; \
00108 typedef const tag * tag ## Cptr; \
00109 typedef tag & tag ## Ref; \
00110 typedef const tag & tag ## Cref;
00111
00113
00114 #define CORELINUX( tag ) \
00115 corelinux::tag
00116
00118
00119 namespace corelinux
00120 {
00121 DECLARE_CLASS( CoreLinuxObject );
00122 DECLARE_CLASS( AbstractString );
00123 DECLARE_CLASS( StringUtf8 );
00124 DECLARE_CLASS( Exception );
00125 DECLARE_CLASS( NullPointerException );
00126 DECLARE_CLASS( Assertion );
00127 DECLARE_CLASS( Synchronized );
00128 DECLARE_CLASS( Thread );
00129 DECLARE_CLASS( SemaphoreGroup );
00130 DECLARE_CLASS( AbstractInteger );
00131 DECLARE_CLASS( AbstractReal );
00132 }
00133
00134 #include <cstddef>
00135
00136
00137
00138
00139 #include <Types.hpp>
00140
00141
00142
00143
00144 #include <Limits.hpp>
00145
00146
00147
00148 #include <Exception.hpp>
00149 #include <CoreLinuxObject.hpp>
00150 #include <AbstractString.hpp>
00151 #include <StringUtf8.hpp>
00152 #include <NullPointerException.hpp>
00153 #include <Assertion.hpp>
00154 #include <AccessRights.hpp>
00155 #include <Identifier.hpp>
00156 #include <ScalarIdentifiers.hpp>
00157 #include <Synchronized.hpp>
00158 #include <Thread.hpp>
00159 #include <Environment.hpp>
00160
00161
00162
00163
00164
00165
00166
00167
00168 #if defined(__INCLUDE_COLLECTIONS)
00169 #include <Pair.hpp>
00170 #include <List.hpp>
00171 #include <Queue.hpp>
00172 #include <Stack.hpp>
00173 #include <Vector.hpp>
00174 #include <Map.hpp>
00175 #include <Set.hpp>
00176 #endif
00177
00178
00179
00180
00181 #undef IN_COMMON_HPP
00182
00183 #endif // !defined __COMMON_HPP
00184
00185
00186
00187
00188
00189
00190
00191
00192