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
00041
00047 #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_THREADID
00048 #define PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_THREADID
00049
00050
00051
00052
00053
00054 #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION
00055 # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_THREADID_MAJOR 2
00056 # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_THREADID_MINOR 2
00057 # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_THREADID_REVISION 1
00058 # define PANTHEIOS_VER_PANTHEIOS_INSERTERS_HPP_THREADID_EDIT 18
00059 #endif
00060
00061
00062
00063
00064
00065 #ifndef PANTHEIOS_INCL_PANTHEIOS_H_PANTHEIOS
00066 # include <pantheios/pantheios.h>
00067 #endif
00068 #ifndef PANTHEIOS_INCL_PANTHEIOS_INSERTERS_HPP_FMT
00069 # include <pantheios/inserters/fmt.hpp>
00070 #endif
00071
00072 #ifndef STLSOFT_INCL_STLSOFT_SHIMS_ACCESS_STRING_H_FWD
00073 # include <stlsoft/shims/access/string/fwd.h>
00074 #endif
00075
00076
00077
00078
00079
00080 #if !defined(PANTHEIOS_NO_NAMESPACE)
00081 namespace pantheios
00082 {
00083 #endif
00084
00085
00086
00087
00088
00089 #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION
00090 struct threadId_t;
00091 #endif
00092
00108 extern struct threadId_t const* threadId;
00109
00110
00111
00112
00113
00114 #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION
00115
00116 # if !defined(PANTHEIOS_NO_NAMESPACE)
00117 namespace inserters
00118 {
00119 # endif
00120
00121 class thread_id_t
00122 {
00123 public:
00124 typedef thread_id_t class_type;
00125 # if !defined(PANTHEIOS_NO_NAMESPACE)
00126 typedef ::pantheios::threadId_t id_type;
00127 # else
00128 typedef threadId_t id_type;
00129 # endif
00130
00131 public:
00132 thread_id_t();
00133
00134 public:
00135 operator size_t () const;
00136 operator pan_char_t const* () const;
00137
00138 private:
00139 void construct_();
00140 void construct_() const;
00141
00142 private:
00143 pan_char_t m_value[21];
00144 size_t m_len;
00145 };
00146
00147 # if !defined(PANTHEIOS_NO_NAMESPACE)
00148 }
00149 # define PANTHEIOS_INSERTERS_DECLARE_thread_id_t ::pantheios::inserters::thread_id_t
00150 # else
00151 # define PANTHEIOS_INSERTERS_DECLARE_thread_id_t thread_id_t
00152 # endif
00153
00154 # if !defined(PANTHEIOS_NO_NAMESPACE)
00155 namespace shims
00156 {
00157 # endif
00158
00159 # ifdef PANTHEIOS_USE_WIDE_STRINGS
00160 inline PANTHEIOS_INSERTERS_DECLARE_thread_id_t c_str_data_w(PANTHEIOS_INSERTERS_DECLARE_thread_id_t::id_type const*)
00161 # else
00162 inline PANTHEIOS_INSERTERS_DECLARE_thread_id_t c_str_data_a(PANTHEIOS_INSERTERS_DECLARE_thread_id_t::id_type const*)
00163 # endif
00164 {
00165 return PANTHEIOS_INSERTERS_DECLARE_thread_id_t();
00166 }
00167 inline PANTHEIOS_INSERTERS_DECLARE_thread_id_t c_str_data(PANTHEIOS_INSERTERS_DECLARE_thread_id_t::id_type const*)
00168 {
00169 return PANTHEIOS_INSERTERS_DECLARE_thread_id_t();
00170 }
00171
00172 # ifdef PANTHEIOS_USE_WIDE_STRINGS
00173 inline PANTHEIOS_INSERTERS_DECLARE_thread_id_t c_str_len_w(PANTHEIOS_INSERTERS_DECLARE_thread_id_t::id_type const*)
00174 # else
00175 inline PANTHEIOS_INSERTERS_DECLARE_thread_id_t c_str_len_a(PANTHEIOS_INSERTERS_DECLARE_thread_id_t::id_type const*)
00176 # endif
00177 {
00178 return PANTHEIOS_INSERTERS_DECLARE_thread_id_t();
00179 }
00180 inline PANTHEIOS_INSERTERS_DECLARE_thread_id_t c_str_len(PANTHEIOS_INSERTERS_DECLARE_thread_id_t::id_type const*)
00181 {
00182 return PANTHEIOS_INSERTERS_DECLARE_thread_id_t();
00183 }
00184
00185 # ifdef PANTHEIOS_USE_WIDE_STRINGS
00186 inline PANTHEIOS_INSERTERS_DECLARE_thread_id_t c_str_ptr_w(PANTHEIOS_INSERTERS_DECLARE_thread_id_t::id_type const*)
00187 # else
00188 inline PANTHEIOS_INSERTERS_DECLARE_thread_id_t c_str_ptr_a(PANTHEIOS_INSERTERS_DECLARE_thread_id_t::id_type const*)
00189 # endif
00190 {
00191 return PANTHEIOS_INSERTERS_DECLARE_thread_id_t();
00192 }
00193 inline PANTHEIOS_INSERTERS_DECLARE_thread_id_t c_str_ptr(PANTHEIOS_INSERTERS_DECLARE_thread_id_t::id_type const*)
00194 {
00195 return PANTHEIOS_INSERTERS_DECLARE_thread_id_t();
00196 }
00197
00198 # if !defined(PANTHEIOS_NO_NAMESPACE)
00199 }
00200
00201 # if defined(STLSOFT_COMPILER_IS_GCC)
00202
00203
00204
00205
00206
00207 using ::pantheios::shims::c_str_data_a;
00208 using ::pantheios::shims::c_str_data;
00209
00210 using ::pantheios::shims::c_str_len_a;
00211 using ::pantheios::shims::c_str_len;
00212
00213 using ::pantheios::shims::c_str_ptr_a;
00214 using ::pantheios::shims::c_str_ptr;
00215 # endif
00216
00217 # endif
00218
00219 #endif
00220
00221
00222
00223
00224
00225 #if !defined(PANTHEIOS_NO_NAMESPACE)
00226
00227 }
00228
00229 namespace stlsoft
00230 {
00231
00232
00233
00234
00235
00236
00237
00238 # ifdef PANTHEIOS_USE_WIDE_STRINGS
00239 using ::pantheios::shims::c_str_data_w;
00240 using ::pantheios::shims::c_str_len_w;
00241 using ::pantheios::shims::c_str_ptr_w;
00242 # else
00243 using ::pantheios::shims::c_str_data_a;
00244 using ::pantheios::shims::c_str_len_a;
00245 using ::pantheios::shims::c_str_ptr_a;
00246 # endif
00247 using ::pantheios::shims::c_str_data;
00248 using ::pantheios::shims::c_str_len;
00249 using ::pantheios::shims::c_str_ptr;
00250 }
00251
00252 #endif
00253
00254
00255
00256
00257
00258 #ifdef STLSOFT_PPF_pragma_once_SUPPORT
00259 # pragma once
00260 #endif
00261
00262
00263
00264 #endif
00265
00266