00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00048 #ifndef PLATFORMSTL_INCL_PLATFORMSTL_ERROR_HPP_ERROR_DESC
00049 #define PLATFORMSTL_INCL_PLATFORMSTL_ERROR_HPP_ERROR_DESC
00050
00051
00052 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00053 # define PLATFORMSTL_VER_PLATFORMSTL_ERROR_HPP_ERROR_DESC_MAJOR 2
00054 # define PLATFORMSTL_VER_PLATFORMSTL_ERROR_HPP_ERROR_DESC_MINOR 2
00055 # define PLATFORMSTL_VER_PLATFORMSTL_ERROR_HPP_ERROR_DESC_REVISION 1
00056 # define PLATFORMSTL_VER_PLATFORMSTL_ERROR_HPP_ERROR_DESC_EDIT 21
00057 #endif
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071 #ifndef PLATFORMSTL_INCL_PLATFORMSTL_HPP_PLATFORMSTL
00072 # include <platformstl/platformstl.hpp>
00073 #endif
00074
00075 #if defined(PLATFORMSTL_OS_IS_UNIX)
00076 # ifndef STLSOFT_INCL_STLSOFT_HPP_ERROR_UNIX_ERROR_DESC
00077 # include <stlsoft/error/error_desc.hpp>
00078 # endif
00079 #elif defined(PLATFORMSTL_OS_IS_WINDOWS)
00080 # ifndef WINSTL_INCL_WINSTL_ERROR_HPP_WINDOWS_ERROR_DESC
00081 # include <winstl/error/error_desc.hpp>
00082 # endif
00083 #else
00084 # error Operating system not discriminated
00085 #endif
00086
00087
00088
00089
00090
00091 #if defined(_STLSOFT_NO_NAMESPACE) || \
00092 defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00093
00094 namespace platformstl
00095 {
00096 #else
00097
00098
00099 namespace stlsoft
00100 {
00101
00102 namespace platformstl_project
00103 {
00104 #endif
00105
00106
00107
00108 #if defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00109
00125 template <ss_typename_param_k C>
00126 class basic_error_desc
00127 {};
00128
00130 typedef basic_error_desc<char> path_a;
00132 typedef basic_error_desc<wchar_t> path_w;
00134 typedef basic_error_desc<tchar> path;
00135
00136 #elif defined(STLSOFT_COMPILER_IS_MSVC) && \
00137 _MSC_VER < 1310
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151 template <ss_typename_param_k C>
00152 class basic_error_desc
00153 #if defined(PLATFORMSTL_OS_IS_WINDOWS)
00154 : public winstl_ns_qual(basic_error_desc)<C>
00155 #else
00156 : public stlsoft_ns_qual(basic_error_desc)<C>
00157 #endif
00158 {
00159 private:
00160 #if defined(PLATFORMSTL_OS_IS_WINDOWS)
00161 typedef winstl_ns_qual(basic_error_desc)<C> parent_class_type;
00162 #else
00163 typedef stlsoft_ns_qual(basic_error_desc)<C> parent_class_type;
00164 #endif
00165 public:
00166 typedef basic_error_desc<C> class_type;
00167 typedef ss_typename_type_k parent_class_type::size_type size_type;
00168 typedef ss_typename_type_k parent_class_type::error_type error_type;
00169 public:
00170 basic_error_desc()
00171 : parent_class_type()
00172 {}
00173 ss_explicit_k basic_error_desc(error_type error)
00174 : parent_class_type(error)
00175 {}
00176 };
00177
00178 typedef basic_error_desc<char> error_desc_a;
00179 #if defined(PLATFORMSTL_OS_IS_WINDOWS)
00180 typedef basic_error_desc<wchar_t> error_desc_w;
00181 #endif
00182 typedef basic_error_desc<char> error_desc;
00183
00184
00185 #elif defined(PLATFORMSTL_OS_IS_UNIX)
00186
00187 # ifdef _STLSOFT_NO_NAMESPACE
00188 using ::basic_error_desc;
00189 using ::error_desc_a;
00190 using ::error_desc;
00191 # else
00192 using ::stlsoft::basic_error_desc;
00193 using ::stlsoft::error_desc_a;
00194 using ::stlsoft::error_desc;
00195 # endif
00196
00197 #elif defined(PLATFORMSTL_OS_IS_WINDOWS)
00198
00199 # ifdef _WINSTL_NO_NAMESPACE
00200 using ::basic_error_desc;
00201 using ::error_desc_a;
00202 using ::error_desc_w;
00203 using ::error_desc;
00204 # else
00205 using ::winstl::basic_error_desc;
00206 using ::winstl::error_desc_a;
00207 using ::winstl::error_desc_w;
00208 using ::winstl::error_desc;
00209 # endif
00210
00211 #else
00212 # error Operating system not discriminated
00213 #endif
00214
00215
00216
00217 #if defined(_STLSOFT_NO_NAMESPACE) || \
00218 defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00219 }
00220 #else
00221 }
00222 }
00223 #endif
00224
00225
00226
00227 #endif
00228
00229