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_FILESYSTEM_HPP_FILE_PATH_BUFFER
00049 #define PLATFORMSTL_INCL_PLATFORMSTL_FILESYSTEM_HPP_FILE_PATH_BUFFER
00050
00051
00052 #ifndef STLSOFT_DOCUMENTATION_SKIP_SECTION
00053 # define PLATFORMSTL_VER_PLATFORMSTL_FILESYSTEM_HPP_FILE_PATH_BUFFER_MAJOR 2
00054 # define PLATFORMSTL_VER_PLATFORMSTL_FILESYSTEM_HPP_FILE_PATH_BUFFER_MINOR 1
00055 # define PLATFORMSTL_VER_PLATFORMSTL_FILESYSTEM_HPP_FILE_PATH_BUFFER_REVISION 2
00056 # define PLATFORMSTL_VER_PLATFORMSTL_FILESYSTEM_HPP_FILE_PATH_BUFFER_EDIT 24
00057 #endif
00058
00059
00060
00061
00062
00063 #ifndef PLATFORMSTL_INCL_PLATFORMSTL_HPP_PLATFORMSTL
00064 # include <platformstl/platformstl.hpp>
00065 #endif
00066
00067 #if defined(PLATFORMSTL_OS_IS_UNIX)
00068 # ifndef UNIXSTL_INCL_UNIXSTL_FILESYSTEM_HPP_FILE_PATH_BUFFER
00069 # include <unixstl/filesystem/file_path_buffer.hpp>
00070 # endif
00071 #elif defined(PLATFORMSTL_OS_IS_WINDOWS)
00072 # ifndef WINSTL_INCL_WINSTL_FILESYSTEM_HPP_FILE_PATH_BUFFER
00073 # include <winstl/filesystem/file_path_buffer.hpp>
00074 # endif
00075 #else
00076 # error Operating system not discriminated
00077 #endif
00078
00079
00080
00081
00082
00083 #if defined(_STLSOFT_NO_NAMESPACE) || \
00084 defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00085
00086 namespace platformstl
00087 {
00088 #else
00089
00090
00091 namespace stlsoft
00092 {
00093
00094 namespace platformstl_project
00095 {
00096 #endif
00097
00098
00099
00100 #if defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00101
00117 template< ss_typename_param_k C
00118 , ss_typename_param_k T = filesystem_traits<C>
00119 , ss_typename_param_k A = ss_typename_type_def_k stlsoft::allocator_selector<C>::allocator_type
00120 >
00121 class basic_file_path_buffer
00122 {};
00123
00125 typedef basic_file_path_buffer<char, filesystem_traits<char> > path_a;
00127 typedef basic_file_path_buffer<wchar_t, filesystem_traits<wchar_t> > path_w;
00129 typedef basic_file_path_buffer<tchar, filesystem_traits<tchar> > path;
00130
00131 #elif defined(PLATFORMSTL_OS_IS_UNIX)
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144 # if defined(STLSOFT_COMPILER_IS_MSVC) && \
00145 _MSC_VER < 1310
00146
00147 template< ss_typename_param_k C
00148 #ifdef STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_CLASS_ARGUMENT_SUPPORT
00149 , ss_typename_param_k A = ss_typename_type_def_k allocator_selector<C>::allocator_type
00150 #else
00151 , ss_typename_param_k A
00152 #endif
00153 >
00154 class basic_file_path_buffer
00155 : public unixstl_ns_qual(basic_file_path_buffer__)<C, A>
00156 {
00157 private:
00158 typedef unixstl_ns_qual(basic_file_path_buffer__)<C, A> parent_class_type;
00159 public:
00160 typedef basic_file_path_buffer<C, A> class_type;
00161 typedef ss_typename_type_k parent_class_type::value_type value_type;
00162 typedef ss_typename_type_k parent_class_type::reference reference;
00163 typedef ss_typename_type_k parent_class_type::const_reference const_reference;
00164 typedef ss_typename_type_k parent_class_type::size_type size_type;
00165 };
00166
00167 typedef basic_file_path_buffer<char> file_path_buffer_a;
00168 typedef basic_file_path_buffer<wchar_t> file_path_buffer_w;
00169 typedef basic_file_path_buffer<char> file_path_buffer;
00170
00171 # else
00172
00173 # ifdef _UNIXSTL_NO_NAMESPACE
00174 using ::basic_file_path_buffer;
00175 using ::file_path_buffer_a;
00176 using ::file_path_buffer_w;
00177 using ::file_path_buffer;
00178 # else
00179 using ::unixstl::basic_file_path_buffer;
00180 using ::unixstl::file_path_buffer_a;
00181 using ::unixstl::file_path_buffer_w;
00182 using ::unixstl::file_path_buffer;
00183 # endif
00184
00185 # endif
00186
00187 #elif defined(PLATFORMSTL_OS_IS_WINDOWS)
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200 # if defined(STLSOFT_COMPILER_IS_MSVC) && \
00201 _MSC_VER < 1310
00202
00203 template< ss_typename_param_k C
00204 #ifdef STLSOFT_CF_TEMPLATE_CLASS_DEFAULT_CLASS_ARGUMENT_SUPPORT
00205 , ss_typename_param_k A = winstl_ns_qual(processheap_allocator)<C>
00206 #else
00207 , ss_typename_param_k A
00208 #endif
00209 >
00210 class basic_file_path_buffer
00211 : public winstl_ns_qual(basic_file_path_buffer__)<C, A>
00212 {
00213 private:
00214 typedef winstl_ns_qual(basic_file_path_buffer__)<C, A> parent_class_type;
00215 public:
00216 typedef basic_file_path_buffer<C, A> class_type;
00217 typedef ss_typename_type_k parent_class_type::value_type value_type;
00218 typedef ss_typename_type_k parent_class_type::reference reference;
00219 typedef ss_typename_type_k parent_class_type::const_reference const_reference;
00220 typedef ss_typename_type_k parent_class_type::size_type size_type;
00221 };
00222
00223 typedef basic_file_path_buffer<char> file_path_buffer_a;
00224 typedef basic_file_path_buffer<wchar_t> file_path_buffer_w;
00225 typedef basic_file_path_buffer<TCHAR> file_path_buffer;
00226
00227 # else
00228
00229 # ifdef _WINSTL_NO_NAMESPACE
00230 using ::basic_file_path_buffer;
00231 using ::file_path_buffer_a;
00232 using ::file_path_buffer_w;
00233 using ::file_path_buffer;
00234 # else
00235 using ::winstl::basic_file_path_buffer;
00236 using ::winstl::file_path_buffer_a;
00237 using ::winstl::file_path_buffer_w;
00238 using ::winstl::file_path_buffer;
00239 # endif
00240
00241 # endif
00242
00243 #else
00244 # error Operating system not discriminated
00245 #endif
00246
00247
00248
00249 #if defined(_STLSOFT_NO_NAMESPACE) || \
00250 defined(STLSOFT_DOCUMENTATION_SKIP_SECTION)
00251 }
00252 #else
00253 }
00254 }
00255 #endif
00256
00257
00258
00259 #endif
00260
00261