gccxml_gem 0.9-x86-cygwin

Sign up to get free protection for your applications and to get access to all the features.
Files changed (241) hide show
  1. data/Rakefile +75 -0
  2. data/bin/gccxml.exe +0 -0
  3. data/bin/gccxml_cc1plus.exe +0 -0
  4. data/gccxml.rb +50 -0
  5. data/share/doc/gccxml-0.9/Copyright.txt +55 -0
  6. data/share/doc/gccxml-0.9/gccxml.html +168 -0
  7. data/share/doc/gccxml-0.9/gccxml.txt +293 -0
  8. data/share/gccxml-0.9/Borland/5.5/Wrappers/algorithm +7 -0
  9. data/share/gccxml-0.9/Borland/5.5/Wrappers/algorithm.h +7 -0
  10. data/share/gccxml-0.9/Borland/5.5/Wrappers/bitset +7 -0
  11. data/share/gccxml-0.9/Borland/5.5/Wrappers/bitset.h +7 -0
  12. data/share/gccxml-0.9/Borland/5.5/Wrappers/cctype +1 -0
  13. data/share/gccxml-0.9/Borland/5.5/Wrappers/cfloat +1 -0
  14. data/share/gccxml-0.9/Borland/5.5/Wrappers/climits +1 -0
  15. data/share/gccxml-0.9/Borland/5.5/Wrappers/cmath +1 -0
  16. data/share/gccxml-0.9/Borland/5.5/Wrappers/complex +7 -0
  17. data/share/gccxml-0.9/Borland/5.5/Wrappers/complex.h +7 -0
  18. data/share/gccxml-0.9/Borland/5.5/Wrappers/cstddef +1 -0
  19. data/share/gccxml-0.9/Borland/5.5/Wrappers/cstdio +1 -0
  20. data/share/gccxml-0.9/Borland/5.5/Wrappers/cstdlib +1 -0
  21. data/share/gccxml-0.9/Borland/5.5/Wrappers/cstring +7 -0
  22. data/share/gccxml-0.9/Borland/5.5/Wrappers/cstring.h +7 -0
  23. data/share/gccxml-0.9/Borland/5.5/Wrappers/ctime +1 -0
  24. data/share/gccxml-0.9/Borland/5.5/Wrappers/cwchar +1 -0
  25. data/share/gccxml-0.9/Borland/5.5/Wrappers/cwctype +1 -0
  26. data/share/gccxml-0.9/Borland/5.5/Wrappers/deque +7 -0
  27. data/share/gccxml-0.9/Borland/5.5/Wrappers/deque.h +7 -0
  28. data/share/gccxml-0.9/Borland/5.5/Wrappers/exception +7 -0
  29. data/share/gccxml-0.9/Borland/5.5/Wrappers/exception.h +7 -0
  30. data/share/gccxml-0.9/Borland/5.5/Wrappers/fstream +7 -0
  31. data/share/gccxml-0.9/Borland/5.5/Wrappers/fstream.h +7 -0
  32. data/share/gccxml-0.9/Borland/5.5/Wrappers/function +7 -0
  33. data/share/gccxml-0.9/Borland/5.5/Wrappers/function.h +7 -0
  34. data/share/gccxml-0.9/Borland/5.5/Wrappers/functional +7 -0
  35. data/share/gccxml-0.9/Borland/5.5/Wrappers/gccxml_typeinfo.h +146 -0
  36. data/share/gccxml-0.9/Borland/5.5/Wrappers/iomanip +7 -0
  37. data/share/gccxml-0.9/Borland/5.5/Wrappers/iomanip.h +7 -0
  38. data/share/gccxml-0.9/Borland/5.5/Wrappers/ios +7 -0
  39. data/share/gccxml-0.9/Borland/5.5/Wrappers/ios.h +7 -0
  40. data/share/gccxml-0.9/Borland/5.5/Wrappers/iosfwd +7 -0
  41. data/share/gccxml-0.9/Borland/5.5/Wrappers/iosfwd.h +7 -0
  42. data/share/gccxml-0.9/Borland/5.5/Wrappers/iostream +7 -0
  43. data/share/gccxml-0.9/Borland/5.5/Wrappers/iostream.h +7 -0
  44. data/share/gccxml-0.9/Borland/5.5/Wrappers/istream +7 -0
  45. data/share/gccxml-0.9/Borland/5.5/Wrappers/istream.h +7 -0
  46. data/share/gccxml-0.9/Borland/5.5/Wrappers/iterator +7 -0
  47. data/share/gccxml-0.9/Borland/5.5/Wrappers/iterator.h +7 -0
  48. data/share/gccxml-0.9/Borland/5.5/Wrappers/limits +7 -0
  49. data/share/gccxml-0.9/Borland/5.5/Wrappers/limits.h +7 -0
  50. data/share/gccxml-0.9/Borland/5.5/Wrappers/list +7 -0
  51. data/share/gccxml-0.9/Borland/5.5/Wrappers/list.h +7 -0
  52. data/share/gccxml-0.9/Borland/5.5/Wrappers/locale +7 -0
  53. data/share/gccxml-0.9/Borland/5.5/Wrappers/locale.h +7 -0
  54. data/share/gccxml-0.9/Borland/5.5/Wrappers/map +7 -0
  55. data/share/gccxml-0.9/Borland/5.5/Wrappers/map.h +7 -0
  56. data/share/gccxml-0.9/Borland/5.5/Wrappers/memory +7 -0
  57. data/share/gccxml-0.9/Borland/5.5/Wrappers/memory.h +7 -0
  58. data/share/gccxml-0.9/Borland/5.5/Wrappers/new +7 -0
  59. data/share/gccxml-0.9/Borland/5.5/Wrappers/new.h +7 -0
  60. data/share/gccxml-0.9/Borland/5.5/Wrappers/numeric +7 -0
  61. data/share/gccxml-0.9/Borland/5.5/Wrappers/numeric.h +7 -0
  62. data/share/gccxml-0.9/Borland/5.5/Wrappers/ostream +7 -0
  63. data/share/gccxml-0.9/Borland/5.5/Wrappers/ostream.h +7 -0
  64. data/share/gccxml-0.9/Borland/5.5/Wrappers/queue +7 -0
  65. data/share/gccxml-0.9/Borland/5.5/Wrappers/queue.h +7 -0
  66. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/codecvt +1 -0
  67. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/collate +1 -0
  68. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/ctype +1 -0
  69. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/iosbase +1 -0
  70. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/iotraits +1 -0
  71. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/iterator +1 -0
  72. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/lochelp +1 -0
  73. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/locimpl +1 -0
  74. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/locvector +1 -0
  75. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/messages +1 -0
  76. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/money +1 -0
  77. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/numbrw +1 -0
  78. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/numeral +1 -0
  79. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/rwdispatch.h +1 -0
  80. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/rwlocale +1 -0
  81. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/rwstderr_macros.h +64 -0
  82. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/string_ref +1 -0
  83. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/time +1 -0
  84. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/traits +1 -0
  85. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/tree +1 -0
  86. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/usefacet +1 -0
  87. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/valimp +1 -0
  88. data/share/gccxml-0.9/Borland/5.5/Wrappers/rw/vendor +1 -0
  89. data/share/gccxml-0.9/Borland/5.5/Wrappers/set +7 -0
  90. data/share/gccxml-0.9/Borland/5.5/Wrappers/set.h +7 -0
  91. data/share/gccxml-0.9/Borland/5.5/Wrappers/sstream +7 -0
  92. data/share/gccxml-0.9/Borland/5.5/Wrappers/sstream.h +7 -0
  93. data/share/gccxml-0.9/Borland/5.5/Wrappers/stack +7 -0
  94. data/share/gccxml-0.9/Borland/5.5/Wrappers/stack.h +7 -0
  95. data/share/gccxml-0.9/Borland/5.5/Wrappers/stdexcept +7 -0
  96. data/share/gccxml-0.9/Borland/5.5/Wrappers/stdexcept.h +7 -0
  97. data/share/gccxml-0.9/Borland/5.5/Wrappers/streambuf +7 -0
  98. data/share/gccxml-0.9/Borland/5.5/Wrappers/streambuf.h +7 -0
  99. data/share/gccxml-0.9/Borland/5.5/Wrappers/string +7 -0
  100. data/share/gccxml-0.9/Borland/5.5/Wrappers/string.h +7 -0
  101. data/share/gccxml-0.9/Borland/5.5/Wrappers/strstream +7 -0
  102. data/share/gccxml-0.9/Borland/5.5/Wrappers/strstream.h +7 -0
  103. data/share/gccxml-0.9/Borland/5.5/Wrappers/typeinfo +7 -0
  104. data/share/gccxml-0.9/Borland/5.5/Wrappers/typeinfo.h +7 -0
  105. data/share/gccxml-0.9/Borland/5.5/Wrappers/utility +7 -0
  106. data/share/gccxml-0.9/Borland/5.5/Wrappers/utility.h +7 -0
  107. data/share/gccxml-0.9/Borland/5.5/Wrappers/valarray +7 -0
  108. data/share/gccxml-0.9/Borland/5.5/Wrappers/valarray.h +7 -0
  109. data/share/gccxml-0.9/Borland/5.5/Wrappers/vector +7 -0
  110. data/share/gccxml-0.9/Borland/5.5/Wrappers/vector.h +7 -0
  111. data/share/gccxml-0.9/Borland/5.5/except.h +154 -0
  112. data/share/gccxml-0.9/Borland/5.5/gccxml_fstream.h +431 -0
  113. data/share/gccxml-0.9/Borland/5.5/gccxml_new.h +166 -0
  114. data/share/gccxml-0.9/Borland/5.5/gccxml_valarray.h +786 -0
  115. data/share/gccxml-0.9/Borland/5.5/gccxml_vector.h +1457 -0
  116. data/share/gccxml-0.9/Borland/5.5/io.h +352 -0
  117. data/share/gccxml-0.9/Borland/5.5/oaidl.h +7006 -0
  118. data/share/gccxml-0.9/Borland/5.5/propidl.h +1477 -0
  119. data/share/gccxml-0.9/Borland/5.5/rw/locimpl.h +477 -0
  120. data/share/gccxml-0.9/Borland/5.5/rw/rwlocale.h +619 -0
  121. data/share/gccxml-0.9/Borland/5.5/stdarg.h +55 -0
  122. data/share/gccxml-0.9/Borland/5.5/valarray.cc +2883 -0
  123. data/share/gccxml-0.9/GCC/2.95/algorithm +76 -0
  124. data/share/gccxml-0.9/GCC/2.95/bitset +17 -0
  125. data/share/gccxml-0.9/GCC/2.95/cctype +24 -0
  126. data/share/gccxml-0.9/GCC/2.95/clocale +14 -0
  127. data/share/gccxml-0.9/GCC/2.95/cmath +33 -0
  128. data/share/gccxml-0.9/GCC/2.95/complex +38 -0
  129. data/share/gccxml-0.9/GCC/2.95/csetjmp +13 -0
  130. data/share/gccxml-0.9/GCC/2.95/csignal +14 -0
  131. data/share/gccxml-0.9/GCC/2.95/cstdarg +12 -0
  132. data/share/gccxml-0.9/GCC/2.95/cstddef +13 -0
  133. data/share/gccxml-0.9/GCC/2.95/cstdio +55 -0
  134. data/share/gccxml-0.9/GCC/2.95/cstdlib +66 -0
  135. data/share/gccxml-0.9/GCC/2.95/cstring +34 -0
  136. data/share/gccxml-0.9/GCC/2.95/ctime +24 -0
  137. data/share/gccxml-0.9/GCC/2.95/cwchar +65 -0
  138. data/share/gccxml-0.9/GCC/2.95/cwctype +31 -0
  139. data/share/gccxml-0.9/GCC/2.95/deque +19 -0
  140. data/share/gccxml-0.9/GCC/2.95/exception +20 -0
  141. data/share/gccxml-0.9/GCC/2.95/fstream +23 -0
  142. data/share/gccxml-0.9/GCC/2.95/functional +64 -0
  143. data/share/gccxml-0.9/GCC/2.95/gccxml_bitset +1066 -0
  144. data/share/gccxml-0.9/GCC/2.95/iomanip +20 -0
  145. data/share/gccxml-0.9/GCC/2.95/iosfwd +20 -0
  146. data/share/gccxml-0.9/GCC/2.95/iostream +27 -0
  147. data/share/gccxml-0.9/GCC/2.95/iterator +39 -0
  148. data/share/gccxml-0.9/GCC/2.95/list +19 -0
  149. data/share/gccxml-0.9/GCC/2.95/map +20 -0
  150. data/share/gccxml-0.9/GCC/2.95/memory +21 -0
  151. data/share/gccxml-0.9/GCC/2.95/new +13 -0
  152. data/share/gccxml-0.9/GCC/2.95/numeric +15 -0
  153. data/share/gccxml-0.9/GCC/2.95/pthread.h +16 -0
  154. data/share/gccxml-0.9/GCC/2.95/queue +20 -0
  155. data/share/gccxml-0.9/GCC/2.95/set +20 -0
  156. data/share/gccxml-0.9/GCC/2.95/sstream +24 -0
  157. data/share/gccxml-0.9/GCC/2.95/stack +19 -0
  158. data/share/gccxml-0.9/GCC/2.95/std/bastring.cc +524 -0
  159. data/share/gccxml-0.9/GCC/2.95/std/complext.h +397 -0
  160. data/share/gccxml-0.9/GCC/2.95/std/dcomplex.h +92 -0
  161. data/share/gccxml-0.9/GCC/2.95/std/fcomplex.h +88 -0
  162. data/share/gccxml-0.9/GCC/2.95/std/gslice_array.h +170 -0
  163. data/share/gccxml-0.9/GCC/2.95/std/indirect_array.h +157 -0
  164. data/share/gccxml-0.9/GCC/2.95/std/ldcomplex.h +96 -0
  165. data/share/gccxml-0.9/GCC/2.95/std/mask_array.h +154 -0
  166. data/share/gccxml-0.9/GCC/2.95/std/slice_array.h +156 -0
  167. data/share/gccxml-0.9/GCC/2.95/std/std_valarray.h +728 -0
  168. data/share/gccxml-0.9/GCC/2.95/std/straits.h +162 -0
  169. data/share/gccxml-0.9/GCC/2.95/std/valarray_meta.h +1035 -0
  170. data/share/gccxml-0.9/GCC/2.95/stdexcept +17 -0
  171. data/share/gccxml-0.9/GCC/2.95/stl_alloc.h +1057 -0
  172. data/share/gccxml-0.9/GCC/2.95/stl_bvector.h +836 -0
  173. data/share/gccxml-0.9/GCC/2.95/stl_deque.h +1699 -0
  174. data/share/gccxml-0.9/GCC/2.95/stl_list.h +843 -0
  175. data/share/gccxml-0.9/GCC/2.95/stl_tree.h +1331 -0
  176. data/share/gccxml-0.9/GCC/2.95/stl_vector.h +828 -0
  177. data/share/gccxml-0.9/GCC/2.95/string +26 -0
  178. data/share/gccxml-0.9/GCC/2.95/strstream +23 -0
  179. data/share/gccxml-0.9/GCC/2.95/typeinfo +11 -0
  180. data/share/gccxml-0.9/GCC/2.95/utility +25 -0
  181. data/share/gccxml-0.9/GCC/2.95/valarray +52 -0
  182. data/share/gccxml-0.9/GCC/2.95/vector +19 -0
  183. data/share/gccxml-0.9/GCC/2.96/sstream +305 -0
  184. data/share/gccxml-0.9/GCC/3.0/pthread.h +16 -0
  185. data/share/gccxml-0.9/GCC/3.1/pthread.h +16 -0
  186. data/share/gccxml-0.9/GCC/3.2/bits/fstream.tcc +500 -0
  187. data/share/gccxml-0.9/GCC/3.2/bits/istream.tcc +1207 -0
  188. data/share/gccxml-0.9/GCC/3.2/bits/locale_facets.h +1810 -0
  189. data/share/gccxml-0.9/GCC/3.2/bits/locale_facets.tcc +2397 -0
  190. data/share/gccxml-0.9/GCC/3.2/bits/messages_members.h +108 -0
  191. data/share/gccxml-0.9/GCC/3.2/bits/ostream.tcc +713 -0
  192. data/share/gccxml-0.9/GCC/3.2/bits/sstream.tcc +241 -0
  193. data/share/gccxml-0.9/GCC/3.2/bits/stl_deque.h +1682 -0
  194. data/share/gccxml-0.9/GCC/3.2/bits/stl_list.h +989 -0
  195. data/share/gccxml-0.9/GCC/3.2/bits/stl_tree.h +1462 -0
  196. data/share/gccxml-0.9/GCC/3.2/bits/stl_vector.h +1085 -0
  197. data/share/gccxml-0.9/GCC/3.2/bits/valarray_meta.h +1063 -0
  198. data/share/gccxml-0.9/GCC/3.2/fstream +579 -0
  199. data/share/gccxml-0.9/GCC/3.2/pthread.h +16 -0
  200. data/share/gccxml-0.9/GCC/3.2/sstream +384 -0
  201. data/share/gccxml-0.9/GCC/3.3/bits/fstream.tcc +530 -0
  202. data/share/gccxml-0.9/GCC/3.3/bits/list.tcc +378 -0
  203. data/share/gccxml-0.9/GCC/3.3/bits/locale_facets.h +2050 -0
  204. data/share/gccxml-0.9/GCC/3.3/bits/messages_members.h +108 -0
  205. data/share/gccxml-0.9/GCC/3.3/bits/sstream.tcc +243 -0
  206. data/share/gccxml-0.9/GCC/3.3/bits/stl_deque.h +1603 -0
  207. data/share/gccxml-0.9/GCC/3.3/bits/stl_list.h +1167 -0
  208. data/share/gccxml-0.9/GCC/3.3/bits/stl_tree.h +1462 -0
  209. data/share/gccxml-0.9/GCC/3.3/bits/stl_vector.h +992 -0
  210. data/share/gccxml-0.9/GCC/3.3/bits/valarray_meta.h +1135 -0
  211. data/share/gccxml-0.9/GCC/3.3/fstream +842 -0
  212. data/share/gccxml-0.9/GCC/3.3/gccxml_builtins.h +22 -0
  213. data/share/gccxml-0.9/GCC/3.3/sstream +638 -0
  214. data/share/gccxml-0.9/GCC/3.4/gccxml_builtins.h +91 -0
  215. data/share/gccxml-0.9/GCC/4.0/gccxml_builtins.h +128 -0
  216. data/share/gccxml-0.9/GCC/4.1/bits/gthr-default.h +618 -0
  217. data/share/gccxml-0.9/GCC/4.1/gccxml_builtins.h +131 -0
  218. data/share/gccxml-0.9/GCC/4.2/gccxml_builtins.h +131 -0
  219. data/share/gccxml-0.9/GCC/find_flags +105 -0
  220. data/share/gccxml-0.9/Intel/find_flags +56 -0
  221. data/share/gccxml-0.9/Intel/pthread.h +16 -0
  222. data/share/gccxml-0.9/MIPSpro/7.3/exception +9 -0
  223. data/share/gccxml-0.9/MIPSpro/7.3/gccxml_mpro_internals.h +21 -0
  224. data/share/gccxml-0.9/MIPSpro/7.3/iomanip +161 -0
  225. data/share/gccxml-0.9/MIPSpro/7.3/ostream +9 -0
  226. data/share/gccxml-0.9/MIPSpro/7.3/stddef.h +9 -0
  227. data/share/gccxml-0.9/MIPSpro/7.3/stl_config.h +9 -0
  228. data/share/gccxml-0.9/MIPSpro/7.3/stl_locale.h +17 -0
  229. data/share/gccxml-0.9/MIPSpro/7.3/stl_monetary.h +14 -0
  230. data/share/gccxml-0.9/MIPSpro/7.3/stl_numeric_facets.h +13 -0
  231. data/share/gccxml-0.9/MIPSpro/7.3/stl_threads.h +11 -0
  232. data/share/gccxml-0.9/MIPSpro/7.3/string +18 -0
  233. data/share/gccxml-0.9/MIPSpro/find_flags +137 -0
  234. data/share/gccxml-0.9/Sun/5.8/adaptation.patch +168 -0
  235. data/share/gccxml-0.9/Sun/README +8 -0
  236. data/share/gccxml-0.9/Sun/adapt_headers.sh +24 -0
  237. data/share/gccxml-0.9/Sun/find_flags +69 -0
  238. data/share/gccxml-0.9/gccxml_config +2 -0
  239. data/share/gccxml-0.9/gccxml_find_flags +93 -0
  240. data/share/man/man1/gccxml.1 +246 -0
  241. metadata +324 -0
@@ -0,0 +1,619 @@
1
+ #ifndef __RWLOCALE_H
2
+ #define __RWLOCALE_H
3
+ #pragma option push -b -a8 -pc -Vx- -Ve- -w-inl -w-aus -w-sig
4
+ // -*- C++ -*-
5
+ /***************************************************************************
6
+ *
7
+ * locale - Declarations for the Standard Library locale classes
8
+ *
9
+ ***************************************************************************
10
+ *
11
+ * Copyright (c) 1994-1999 Rogue Wave Software, Inc. All Rights Reserved.
12
+ *
13
+ * This computer software is owned by Rogue Wave Software, Inc. and is
14
+ * protected by U.S. copyright laws and other laws and by international
15
+ * treaties. This computer software is furnished by Rogue Wave Software,
16
+ * Inc. pursuant to a written license agreement and may be used, copied,
17
+ * transmitted, and stored only in accordance with the terms of such
18
+ * license and with the inclusion of the above copyright notice. This
19
+ * computer software or any other copies thereof may not be provided or
20
+ * otherwise made available to any other person.
21
+ *
22
+ * U.S. Government Restricted Rights. This computer software is provided
23
+ * with Restricted Rights. Use, duplication, or disclosure by the
24
+ * Government is subject to restrictions as set forth in subparagraph (c)
25
+ * (1) (ii) of The Rights in Technical Data and Computer Software clause
26
+ * at DFARS 252.227-7013 or subparagraphs (c) (1) and (2) of the
27
+ * Commercial Computer Software � Restricted Rights at 48 CFR 52.227-19,
28
+ * as applicable. Manufacturer is Rogue Wave Software, Inc., 5500
29
+ * Flatiron Parkway, Boulder, Colorado 80301 USA.
30
+ *
31
+ **************************************************************************/
32
+
33
+ #ifndef __STD_RWLOCALE__
34
+ #define __STD_RWLOCALE__ 1
35
+
36
+ #include <rw/rwstderr.h>
37
+
38
+ #ifndef __STD_RWCOMPILER_H__
39
+ #include <stdcomp.h>
40
+ #endif
41
+
42
+ #ifndef __STD_STRING__
43
+ #include <string>
44
+ #endif
45
+
46
+ #ifndef __STD_IOSFWD__
47
+ #include <iosfwd>
48
+ #endif
49
+
50
+ #ifndef _RWSTD_NO_NEW_HEADER
51
+ #include <ctime>
52
+ #else
53
+ #include <time.h>
54
+ #endif
55
+
56
+ #ifndef _RWSTD_NO_BAD_CAST
57
+ #include <typeinfo>
58
+ #endif
59
+
60
+ // In case these are (wrongly!) defined as macros in <cctype>.
61
+
62
+ #undef isspace
63
+ #undef isprint
64
+ #undef iscntrl
65
+ #undef isupper
66
+ #undef islower
67
+ #undef isalpha
68
+ #undef isdigit
69
+ #undef ispunct
70
+ #undef isxdigit
71
+ #undef isalnum
72
+ #undef isgraph
73
+ #undef toupper
74
+ #undef tolower
75
+
76
+ #ifndef _RWSTD_NO_NAMESPACE
77
+ namespace __rwstd {
78
+ #endif
79
+
80
+ #ifdef _RWSTD_LOCALIZED_ERRORS
81
+ extern const unsigned int _RWSTDExport __rw_LocaleNotPresent;
82
+ #else
83
+ extern const char _RWSTDExportFunc(*) __rw_LocaleNotPresent;
84
+ #endif
85
+
86
+ #ifndef _RWSTD_NO_NAMESPACE
87
+ } namespace std {
88
+ #endif
89
+
90
+ // Forward declarations of functions and classes specified by the locale clause
91
+ // of the C++ Standard Library working paper.
92
+
93
+ class _RWSTDExport locale;
94
+
95
+ #ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
96
+ template <class Facet> inline const Facet& use_facet (const locale&);
97
+ template <class Facet>
98
+ inline bool has_facet (const locale&) _RWSTD_THROW_SPEC_NULL;
99
+ #else
100
+ template <class Facet>
101
+ _RWSTD_TRICKY_INLINE const Facet& use_facet (const locale&, Facet*);
102
+ template <class Facet>
103
+ inline bool has_facet (const locale&, Facet*) _RWSTD_THROW_SPEC_NULL;
104
+ #endif // _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
105
+
106
+ template <class charT> inline bool isspace (charT c, const locale&);
107
+ template <class charT> inline bool isprint (charT c, const locale&);
108
+ template <class charT> inline bool iscntrl (charT c, const locale&);
109
+ template <class charT> inline bool isupper (charT c, const locale&);
110
+ template <class charT> inline bool islower (charT c, const locale&);
111
+ template <class charT> inline bool isalpha (charT c, const locale&);
112
+ template <class charT> inline bool isdigit (charT c, const locale&);
113
+ template <class charT> inline bool ispunct (charT c, const locale&);
114
+ template <class charT> inline bool isxdigit (charT c, const locale&);
115
+ template <class charT> inline bool isalnum (charT c, const locale&);
116
+ template <class charT> inline bool isgraph (charT c, const locale&);
117
+
118
+ template <class charT> inline charT toupper (charT c, const locale&);
119
+ template <class charT> inline charT tolower (charT c, const locale&);
120
+
121
+ class ctype_base;
122
+ template <class charT> class ctype;
123
+ _RWSTD_TEMPLATE class _RWSTDExport ctype<char>;
124
+ template <class charT> class ctype_byname;
125
+ _RWSTD_TEMPLATE class _RWSTDExport ctype_byname<char>;
126
+ class codecvt_base;
127
+ template <class internT, class externT, class stateT> class codecvt;
128
+ _RWSTD_TEMPLATE class _RWSTDExport codecvt<char,char,mbstate_t>; // (imp)
129
+
130
+ #ifndef _RWSTD_NO_WIDE_CHAR
131
+ _RWSTD_TEMPLATE class _RWSTDExport ctype<wchar_t>; // (imp)
132
+ _RWSTD_TEMPLATE class _RWSTDExport ctype_byname<wchar_t>;
133
+ _RWSTD_TEMPLATE class _RWSTDExport codecvt<wchar_t,char,mbstate_t>; // (imp)
134
+ #endif // _RWSTD_NO_WIDE_CHAR
135
+
136
+ template <class internT, class externT, class stateT> class codecvt_byname;
137
+
138
+ template <class charT,
139
+ class InputIterator _RWSTD_COMPLEX_DEFAULT(istreambuf_iterator<charT>)>
140
+ class num_get;
141
+ template <class charT,
142
+ class OutputIterator _RWSTD_COMPLEX_DEFAULT(ostreambuf_iterator<charT>)>
143
+ class num_put;
144
+ template <class charT> class numpunct;
145
+ template <class charT> class numpunct_byname;
146
+
147
+ template <class charT> class collate;
148
+ template <class charT> class collate_byname;
149
+
150
+ class time_base;
151
+ template <class charT,
152
+ class InputIterator _RWSTD_COMPLEX_DEFAULT(istreambuf_iterator<charT>)>
153
+ class time_get;
154
+ template <class charT,
155
+ class InputIterator _RWSTD_COMPLEX_DEFAULT(istreambuf_iterator<charT>)>
156
+ class time_get_byname;
157
+ template <class charT,
158
+ class OutputIterator _RWSTD_COMPLEX_DEFAULT(ostreambuf_iterator<charT>)>
159
+ class time_put;
160
+ template <class charT,
161
+ class OutputIterator _RWSTD_COMPLEX_DEFAULT(ostreambuf_iterator<charT>)>
162
+ class time_put_byname;
163
+
164
+ class _RWSTDExport money_base;
165
+ template <class charT,
166
+ class InputIterator _RWSTD_COMPLEX_DEFAULT(istreambuf_iterator<charT>)>
167
+ class money_get;
168
+ template <class charT,
169
+ class OutputIterator _RWSTD_COMPLEX_DEFAULT(ostreambuf_iterator<charT>)>
170
+ class money_put;
171
+ template <class charT, bool Intl _RWSTD_SIMPLE_DEFAULT(false)>
172
+ class moneypunct;
173
+ template <class charT, bool Intl _RWSTD_SIMPLE_DEFAULT(false)>
174
+ class moneypunct_byname;
175
+
176
+ class messages_base;
177
+ template <class charT> class messages;
178
+ template <class charT> class messages_byname;
179
+
180
+ // Instantiations that go in the library:
181
+
182
+ #if defined(__TURBOC__) && 0
183
+
184
+ typedef istreambuf_iterator<char,char_traits<char> > __isit;
185
+ typedef ostreambuf_iterator<char,char_traits<char> > __osit;
186
+
187
+ template class _RWSTDExport codecvt_byname<char,char,mbstate_t>;
188
+ template class _RWSTDExport num_get<char,__isit>;
189
+ template class _RWSTDExport num_put<char,__osit>;
190
+ template class _RWSTDExport numpunct<char>;
191
+ template class _RWSTDExport numpunct_byname<char>;
192
+ template class _RWSTDExport collate<char>;
193
+ template class _RWSTDExport collate_byname<char>;
194
+ template class _RWSTDExport time_get<char,__isit>;
195
+ template class _RWSTDExport time_put<char,__osit>;
196
+ template class _RWSTDExport money_get<char,__isit>;
197
+ template class _RWSTDExport money_put<char,__osit>;
198
+ template class _RWSTDExport moneypunct<char,false>;
199
+ template class _RWSTDExport moneypunct<char,true>;
200
+ template class _RWSTDExport moneypunct_byname<char,false>;
201
+ template class _RWSTDExport moneypunct_byname<char,true>;
202
+ template class _RWSTDExport messages<char>;
203
+ template class _RWSTDExport messages_byname<char>;
204
+
205
+ #ifndef _RWSTD_NO_WIDE_CHAR
206
+
207
+ typedef istreambuf_iterator<wchar_t,char_traits<wchar_t> > __wisit;
208
+ typedef ostreambuf_iterator<wchar_t,char_traits<wchar_t> > __wosit;
209
+
210
+ template class _RWSTDExport codecvt_byname<wchar_t,wchar_t,mbstate_t>;
211
+ template class _RWSTDExport num_get<wchar_t,__wisit>;
212
+ template class _RWSTDExport num_put<wchar_t,__wosit>;
213
+ template class _RWSTDExport numpunct<wchar_t>;
214
+ template class _RWSTDExport numpunct_byname<wchar_t>;
215
+ template class _RWSTDExport collate<wchar_t>;
216
+ template class _RWSTDExport collate_byname<wchar_t>;
217
+ template class _RWSTDExport time_get<wchar_t,__wisit>;
218
+ template class _RWSTDExport time_put<wchar_t,__wosit>;
219
+ template class _RWSTDExport money_get<wchar_t,__wisit>;
220
+ template class _RWSTDExport money_put<wchar_t,__wosit>;
221
+ template class _RWSTDExport moneypunct<wchar_t,false>;
222
+ template class _RWSTDExport moneypunct<wchar_t,true>;
223
+ template class _RWSTDExport moneypunct_byname<wchar_t,false>;
224
+ template class _RWSTDExport moneypunct_byname<wchar_t,true>;
225
+ template class _RWSTDExport messages<wchar_t>;
226
+ template class _RWSTDExport messages_byname<wchar_t>;
227
+
228
+ #endif // _RWSTD_NO_WIDE_CHAR
229
+
230
+ #endif // __TURBOC__
231
+
232
+ #ifndef _RWSTD_NO_NAMESPACE
233
+ } // namespace std
234
+ #endif
235
+
236
+ #ifndef __STD_RW_LOCIMPL__
237
+ #include <rw/locimpl>
238
+ #endif
239
+
240
+ #ifndef _RWSTD_NO_NAMESPACE
241
+ namespace std {
242
+ #endif
243
+
244
+ // -------------
245
+ // Class locale.
246
+ // -------------
247
+
248
+ class _RWSTDExport locale {
249
+ public:
250
+ class facet;
251
+ class id;
252
+
253
+ friend class facet;
254
+ friend class id;
255
+
256
+ typedef int category;
257
+
258
+ // The following constants identify standard categories of facets. The
259
+ // standard specifies them as const members of type category (i.e. as const
260
+ // ints). For compilers that can't initialize const members here, we define
261
+ // them as members of an anonymous enum instead.
262
+
263
+ // Some compilers get confused by the name collision of these constants with
264
+ // the facet templates collate, ctype and messages. As a work-around, we
265
+ // also define non-standard names of the form __rw_xxx_category for these
266
+ // three categories. If you have one of the confused compilers (i.e. if
267
+ // _RWSTD_CONFUSED_ENUM_SCOPE is #defined for you), you must use these non-
268
+ // standard category names.
269
+
270
+ #ifndef _RWSTD_CONFUSED_ENUM_SCOPE
271
+ #define _RWSTD_CATEGORY_NAMES \
272
+ collate = 0x0010, ctype = 0x0020, monetary = 0x0040, \
273
+ numeric = 0x0080, time = 0x0100, messages = 0x0200, \
274
+ all = 0x03f0, none = 0x0000
275
+ #else
276
+ #define _RWSTD_CATEGORY_NAMES \
277
+ monetary = 0x0040, numeric = 0x0080, time = 0x0100, \
278
+ all = 0x03f0, none = 0x0000
279
+ #endif
280
+
281
+ #define _RWSTD_IMPLEMENTATION_VALS \
282
+ __rw_collate_category = 0x0010, __rw_ctype_category = 0x0020, \
283
+ __rw_messages_category = 0x0200, __rw_Clib_LC_constants = 0x000F, \
284
+ __rw_num_categories = 6, __rw_first_category = 0x0010
285
+
286
+ #ifndef _RWSTD_NO_STI_SIMPLE
287
+ static const category _RWSTD_CATEGORY_NAMES, _RWSTD_IMPLEMENTATION_VALS;
288
+ #else
289
+ enum { _RWSTD_CATEGORY_NAMES, _RWSTD_IMPLEMENTATION_VALS };
290
+ #endif
291
+
292
+ #undef _RWSTD_CATEGORY_NAMES
293
+ #undef _RWSTD_IMPLEMENTATION_VALS
294
+
295
+ // The default constructor creates a copy of the current global locale.
296
+ // This is the locale specified in the most recent call to locale::global().
297
+ // If locale::global() has not been called, it is the classic "C" locale.
298
+
299
+ inline locale () _RWSTD_THROW_SPEC_NULL;
300
+
301
+ // The copy constructor (and the assignment operator, below) can be used
302
+ // freely. Like a string, most of a locale's contents are in a separate,
303
+ // reference-counted implementation object, so copying and assigning locales
304
+ // has little overhead.
305
+
306
+ inline locale (const locale& other) _RWSTD_THROW_SPEC_NULL;
307
+
308
+ // The following constructor creates a locale composed of by-name facets and
309
+ // assigns it a name. The valid arguments are "", "C", and a set of strings
310
+ // defined by the compiler vendor. These cause the facets of the locale to
311
+ // be obtained, respectively, from the user's preferred locale, from the
312
+ // classic locale, or from the compiler's locale database. (In many cases,
313
+ // the preferred locale is specified by environment variables such as LANG
314
+ // or LC_ALL.) If the argument is not recognized, the constructor throws
315
+ // runtime_error.
316
+
317
+ _EXPLICIT locale (const char* name);
318
+
319
+ // The following constructor copies its first argument except for the facets
320
+ // in the categories identified by the third argument, which are obtained by
321
+ // name using the second argument. Can throw runtime_error.
322
+
323
+ locale (const locale& other, const char* name, category);
324
+
325
+ // The following templatized constructor is only available if your compiler
326
+ // supports member function templates. It copies its first argument except
327
+ // the single facet of type Facet, which it gets from the second argument.
328
+
329
+ #ifndef _RWSTD_NO_MEMBER_TEMPLATES
330
+
331
+ template <class Facet>
332
+ inline locale (const locale& other,Facet* f);
333
+
334
+ #else
335
+
336
+ // If your compiler does not support member function templates, we provide
337
+ // the following work-around to let you accrete facets onto a locale. This
338
+ // constructor copies its first argument except for the single facet of the
339
+ // type of the second argument, for which it uses the second argument.
340
+ //
341
+ // To determine the type of the second argument, it calls the non-standard
342
+ // virtual method __get_id in the second argument. If you are creating your
343
+ // own facet types on a compiler that does not support member templates, you
344
+ // must code a __get_id member as follows in each new base class facet (i.e.
345
+ // in each facet class that has its own static member id of type locale::id):
346
+ //
347
+ // virtual locale::id &__get_id (void) const { return id; }
348
+ //
349
+ // See the __get_id members in the standard facets below for examples.
350
+
351
+ inline locale (const locale& other, facet* f);
352
+
353
+ #endif // _RWSTD_NO_MEMBER_TEMPLATES
354
+
355
+ // The following constructor copies its first argument except for the facets
356
+ // in the categories identified by the third argument, which are obtained
357
+ // from the second argument.
358
+
359
+ locale (const locale &other, const locale &second, category);
360
+
361
+ // The destructor is non-virtual. Other classes are not supposed to be
362
+ // derived from locale.
363
+
364
+ ~locale ()
365
+ {
366
+ __RWSTD::ref_counted::remove_reference(__imp);
367
+ }
368
+
369
+ const locale& operator = (const locale& other) _RWSTD_THROW_SPEC_NULL;
370
+
371
+ // The following member function template is available only if your compiler
372
+ // supports member templates that are templatized on types that don't appear
373
+ // in the argument list. It returns a copy of this locale (*this) except
374
+ // the single facet of type Facet, which it gets from the other locale.
375
+
376
+ #ifndef _RWSTD_NO_MEMBER_TEMPLATES
377
+ #ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
378
+ template <class Facet>
379
+ inline locale combine (const locale& other) const;
380
+ #endif // _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
381
+ #endif // _RWSTD_NO_MEMBER_TEMPLATES
382
+
383
+ // The following returns the locale name, or "*" if the locale is unnamed.
384
+
385
+ string name () const;
386
+
387
+ // Two locales are equal if they are the same object, or one is a copy of the
388
+ // other (i.e. they have the same implementation object), or both are named
389
+ // and their names are the same.
390
+
391
+ bool operator == (const locale& other) const;
392
+ bool operator != (const locale& other) const { return !(*this==other); }
393
+
394
+ // The following templatized operator () satisfies STL requirements for a
395
+ // comparator predicate template argument for comparing strings according to
396
+ // the collating sequence of the locale. It lets you use a locale directly
397
+ // as a comparator using syntax like sort(v.begin(),v.end(),loc), where v is
398
+ // a vector of some string type and loc is a locale. If your compiler does
399
+ // not support member function templates, we provide explicit support for
400
+ // string and (if applicable) wstring.
401
+
402
+ #ifndef _RWSTD_NO_MEMBER_TEMPLATES
403
+ template <class charT, class Traits, class Allocator>
404
+ bool operator() (const basic_string<charT,Traits,Allocator>& s1,
405
+ const basic_string<charT,Traits,Allocator>& s2) const;
406
+ #else
407
+ bool operator() (const string &s1,const string &s2) const;
408
+ #ifndef _RWSTD_NO_WIDE_CHAR
409
+ bool operator() (const wstring &s1,const wstring &s2) const;
410
+ #endif
411
+ #endif
412
+
413
+ // Static members.
414
+
415
+ static locale global (const locale&); // Replaces the current global locale
416
+ static const locale &classic (); // Returns the classic "C" locale
417
+
418
+ // class facet -- base class for locale feature sets.
419
+
420
+ // Any class deriving from facet that wants to be perceived as a distinct
421
+ // facet, as opposed to a re-implementation of an existing facet, must
422
+ // declare a static member: static std::locale::id id;
423
+
424
+ class facet: public __RWSTD::facet_imp {
425
+ friend class __RWSTD::locale_imp;
426
+ friend class locale;
427
+ protected:
428
+ _EXPLICIT facet (size_t refs=0,int cat=0):
429
+ __RWSTD::facet_imp(refs,cat) { }
430
+
431
+ virtual ~facet() { }
432
+
433
+ #ifdef _RWSTD_NO_MEMBER_TEMPLATES
434
+ virtual id &__get_id (void) const=0;
435
+ #endif
436
+
437
+ private:
438
+ facet (const facet&); // not defined
439
+ void operator = (const facet&); // not defined
440
+ };
441
+
442
+ // class id -- facet type identifier.
443
+
444
+ // This is mostly an implementation class. It is used internally as an index
445
+ // to find facets within a locale. Each distinct facet (i.e. each T that can
446
+ // be the parameter of a use_facet<T> call) has a unique static member of type
447
+ // locale::id named id. The class is made public to enable extension of the
448
+ // set of standard facets. Objects of this type don't need to be constructed
449
+ // or referenced in any other circumstances.
450
+
451
+ class id: private __RWSTD::locale_id_imp {
452
+ _RWSTD_FRIEND_USE_HAS_FACET
453
+ friend class locale;
454
+ #if defined ( _MSC_VER ) || defined (__TURBOC__)
455
+ public:
456
+ #endif
457
+ #ifdef _HPACC_
458
+ operator size_t () const { return __RWSTD::locale_id_imp::__id_value; }
459
+ #else
460
+ operator size_t () const { return __id_value; }
461
+ #endif
462
+
463
+ // The private copy constructor and assignment operator help restrict the
464
+ // class to its intended use. The copy constructor prevents the compiler
465
+ // from generating a do-nothing default constructor, so we provide one.
466
+ // We omit the constructors on compilers that don't support static template
467
+ // members with constructors.
468
+
469
+ #ifndef _RWSTD_NO_STATIC_DEF3
470
+ public:
471
+ id () { }
472
+ private:
473
+ id (const id&);
474
+ #endif
475
+ private:
476
+ void operator = (const id&);
477
+ };
478
+
479
+ private:
480
+
481
+ // Implementation.
482
+ friend class __RWSTD::locale_imp;
483
+ _RWSTD_FRIEND_USE_HAS_FACET
484
+
485
+ #if defined ( _MSC_VER ) || defined (__TURBOC__)
486
+ public:
487
+ #endif
488
+
489
+ // The only data member is a pointer to a ref-counted implementation object:
490
+ __RWSTD::locale_imp *__imp;
491
+
492
+ // Typedef for the implementation-defined call-back functions that must be
493
+ // passed to __make_explicit (below).
494
+ typedef __RWSTD::facet_maker_func __facet_maker_func;
495
+
496
+ // The following function retrieves an implicit facet from a cache,
497
+ // or creates one if needed (via call to the passed call-back
498
+ // function), and makes it an explicit facet of the locale.
499
+
500
+ __RWSTD::facet_imp * __make_explicit (const id &facet_id, bool ok_implicit,
501
+ category facet_cat, __facet_maker_func maker) const;
502
+
503
+ inline __RWSTD::facet_imp *get_facet (size_t) const;
504
+
505
+ #if defined(_MSC_VER) && !defined(__BORLANDC__)
506
+ private:
507
+ #endif
508
+
509
+ void __install (__RWSTD::facet_imp *f, const id& i) const;
510
+
511
+ static __RWSTD::locale_imp *__the_classic_locale;
512
+ static __RWSTD::locale_imp *__the_native_locale;
513
+ static __RWSTD::locale_imp *__global;
514
+
515
+ // Construct a locale from an implementation object.
516
+ inline _EXPLICIT locale (__RWSTD::locale_imp *m);
517
+
518
+ private:
519
+ // We have to say private again in case _RWSTD_FRIEND_USE_HAS_FACET evaluated
520
+ // to public:
521
+
522
+ // Create initial implementation objects.
523
+ static void init ();
524
+ };
525
+
526
+ #undef _RWSTD_FRIEND_USE_HAS_FACET
527
+
528
+ // ----------------------------
529
+ // Class locale inline members.
530
+ // ----------------------------
531
+
532
+ // Private constructor for use by implementation, constructs a locale from
533
+ // a locale_imp implementation object.
534
+ inline locale::locale (__RWSTD::locale_imp *m): __imp(m) {
535
+ if (!__global) init();
536
+ __RWSTD::ref_counted::add_reference(__imp);
537
+ }
538
+
539
+ // Default constructor, returns a copy of the current global locale.
540
+ inline locale::locale () _RWSTD_THROW_SPEC_NULL {
541
+ if (!__global) init(); // This is not throw() ... something has to give.
542
+ __RWSTD::ref_counted::add_reference(__imp=__global);
543
+ }
544
+
545
+ // Copy constructor.
546
+ inline locale::locale (const locale& other) _RWSTD_THROW_SPEC_NULL {
547
+ __RWSTD::ref_counted::add_reference(__imp=other.__imp);
548
+ }
549
+
550
+ #ifndef _RWSTD_NO_MEMBER_TEMPLATES
551
+
552
+ // Constructor to accrete or replace a single facet.
553
+ template <class Facet>
554
+ inline locale::locale (const locale& other, Facet* f)
555
+ {
556
+ if (f) {
557
+ __imp=new __RWSTD::locale_imp (*other.__imp,1);
558
+ __install(f,Facet::id);
559
+ __imp->named_=false;
560
+ } else
561
+ __RWSTD::ref_counted::add_reference(__imp=other.__imp);
562
+ }
563
+
564
+ #ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
565
+
566
+ template <class Facet>
567
+ inline locale locale::combine (const locale& other) const
568
+ {
569
+ return locale (*this,&use_facet<Facet>(other));
570
+ }
571
+
572
+ #endif /* _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE */
573
+
574
+ #else
575
+
576
+ inline locale::locale (const locale& other, facet* f):
577
+ __imp(new __RWSTD::locale_imp (*other.__imp,1))
578
+ {
579
+ __install(f,f->__get_id());
580
+ __imp->named_=false;
581
+ }
582
+
583
+ #endif // _RWSTD_NO_MEMBER_TEMPLATES
584
+ // Private implementation helper function.
585
+ inline __RWSTD::facet_imp* locale::get_facet (size_t i) const {
586
+ return __imp->get_facet(i);
587
+ }
588
+
589
+ #ifndef _RWSTD_NO_NAMESPACE
590
+ } namespace __rwstd {
591
+ #endif
592
+ // -------------------------------------------------------
593
+ // Implementation function template -- create_named_facet.
594
+ // -------------------------------------------------------
595
+ //
596
+ // The default for facets with no derived byname version is to create a facet
597
+ // with classic ("C") behavior, ignoring the passed name.
598
+
599
+ template <class Facet>
600
+ inline Facet* create_named_facet (Facet*,const char* /* name */ ,size_t refs)
601
+ {
602
+ return new Facet(refs);
603
+ }
604
+
605
+ #ifndef _RWSTD_NO_NAMESPACE
606
+ } // namespace __rwstd
607
+ #endif
608
+
609
+ // Get declarations for vendor-defined extensions, such as
610
+ // declarations of the facets of the native ("") locale.
611
+ #include <rw/vendor>
612
+
613
+ #ifdef _RWSTD_NO_TEMPLATE_REPOSITORY
614
+ #include <rw/rwlocale.cc>
615
+ #endif
616
+
617
+ #endif // __STD_RWLOCALE__
618
+ #pragma option pop
619
+ #endif /* __RWLOCALE_H */
@@ -0,0 +1,55 @@
1
+ /* stdarg.h
2
+
3
+ Definitions for accessing parameters in functions that accept
4
+ a variable number of arguments.
5
+
6
+ */
7
+
8
+ /*
9
+ * C/C++ Run Time Library - Version 10.0
10
+ *
11
+ * Copyright (c) 1987, 2000 by Inprise Corporation
12
+ * All Rights Reserved.
13
+ *
14
+ */
15
+
16
+ /* $Revision: 1.1 $ */
17
+
18
+ #ifndef __STDARG_H
19
+ #define __STDARG_H
20
+ #define _INC_STDARG /* MSC Guard name */
21
+
22
+ #ifdef __VARARGS_H
23
+ #error Cannot include both STDARG.H and VARARGS.H
24
+ #endif
25
+
26
+ #ifndef ___STDDEF_H
27
+ #include <_stddef.h>
28
+ #endif
29
+
30
+ #ifdef __cplusplus
31
+ namespace std {
32
+ #endif /* __cplusplus */
33
+
34
+ typedef void _FAR *va_list;
35
+
36
+ #define __size(x) ((sizeof(x)+sizeof(int)-1) & ~(sizeof(int)-1))
37
+
38
+ #define va_start(ap, parmN) ((void)((ap) = (va_list)((char _FAR *)(&parmN)+__size(parmN))))
39
+ #define va_arg(ap, type) (*(type _FAR *)(((*(char _FAR *_FAR *)&(ap))+=__size(type))-(__size(type))))
40
+ #define va_end(ap) ((void)0)
41
+
42
+ #if !defined(__STDC__)
43
+ #define _va_ptr (...)
44
+ #endif
45
+
46
+ #ifdef __cplusplus
47
+ } // std
48
+ #endif /* __cplusplus */
49
+
50
+ #endif /* __STDARG_H */
51
+
52
+ #if defined(__cplusplus) && !defined(__USING_CNAME__) && !defined(__STDARG_H_USING_LIST)
53
+ #define __STDARG_H_USING_LIST
54
+ using std::va_list;
55
+ #endif /* __USING_CNAME__ */