ray-cpp 2.54.0__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3468) hide show
  1. ray/cpp/default_worker.exe +0 -0
  2. ray/cpp/example/_.bazelrc +2 -0
  3. ray/cpp/example/_BUILD.bazel +41 -0
  4. ray/cpp/example/_WORKSPACE +0 -0
  5. ray/cpp/example/example.cc +59 -0
  6. ray/cpp/example/run.sh +13 -0
  7. ray/cpp/include/boost/align.hpp +22 -0
  8. ray/cpp/include/boost/aligned_storage.hpp +18 -0
  9. ray/cpp/include/boost/any.hpp +344 -0
  10. ray/cpp/include/boost/archive/archive_exception.hpp +100 -0
  11. ray/cpp/include/boost/archive/basic_archive.hpp +274 -0
  12. ray/cpp/include/boost/archive/basic_binary_iarchive.hpp +217 -0
  13. ray/cpp/include/boost/archive/basic_binary_iprimitive.hpp +197 -0
  14. ray/cpp/include/boost/archive/basic_binary_oarchive.hpp +185 -0
  15. ray/cpp/include/boost/archive/basic_binary_oprimitive.hpp +187 -0
  16. ray/cpp/include/boost/archive/basic_streambuf_locale_saver.hpp +108 -0
  17. ray/cpp/include/boost/archive/basic_text_iarchive.hpp +96 -0
  18. ray/cpp/include/boost/archive/basic_text_iprimitive.hpp +142 -0
  19. ray/cpp/include/boost/archive/basic_text_oarchive.hpp +119 -0
  20. ray/cpp/include/boost/archive/basic_text_oprimitive.hpp +210 -0
  21. ray/cpp/include/boost/archive/basic_xml_archive.hpp +67 -0
  22. ray/cpp/include/boost/archive/basic_xml_iarchive.hpp +119 -0
  23. ray/cpp/include/boost/archive/basic_xml_oarchive.hpp +138 -0
  24. ray/cpp/include/boost/archive/binary_iarchive.hpp +68 -0
  25. ray/cpp/include/boost/archive/binary_iarchive_impl.hpp +101 -0
  26. ray/cpp/include/boost/archive/binary_oarchive.hpp +68 -0
  27. ray/cpp/include/boost/archive/binary_oarchive_impl.hpp +102 -0
  28. ray/cpp/include/boost/archive/binary_wiarchive.hpp +56 -0
  29. ray/cpp/include/boost/archive/binary_woarchive.hpp +59 -0
  30. ray/cpp/include/boost/archive/codecvt_null.hpp +116 -0
  31. ray/cpp/include/boost/archive/detail/abi_prefix.hpp +16 -0
  32. ray/cpp/include/boost/archive/detail/abi_suffix.hpp +15 -0
  33. ray/cpp/include/boost/archive/detail/archive_serializer_map.hpp +54 -0
  34. ray/cpp/include/boost/archive/detail/auto_link_archive.hpp +48 -0
  35. ray/cpp/include/boost/archive/detail/auto_link_warchive.hpp +47 -0
  36. ray/cpp/include/boost/archive/detail/basic_iarchive.hpp +105 -0
  37. ray/cpp/include/boost/archive/detail/basic_iserializer.hpp +91 -0
  38. ray/cpp/include/boost/archive/detail/basic_oarchive.hpp +94 -0
  39. ray/cpp/include/boost/archive/detail/basic_oserializer.hpp +89 -0
  40. ray/cpp/include/boost/archive/detail/basic_pointer_iserializer.hpp +70 -0
  41. ray/cpp/include/boost/archive/detail/basic_pointer_oserializer.hpp +68 -0
  42. ray/cpp/include/boost/archive/detail/basic_serializer.hpp +77 -0
  43. ray/cpp/include/boost/archive/detail/basic_serializer_map.hpp +69 -0
  44. ray/cpp/include/boost/archive/detail/check.hpp +171 -0
  45. ray/cpp/include/boost/archive/detail/common_iarchive.hpp +88 -0
  46. ray/cpp/include/boost/archive/detail/common_oarchive.hpp +89 -0
  47. ray/cpp/include/boost/archive/detail/decl.hpp +57 -0
  48. ray/cpp/include/boost/archive/detail/helper_collection.hpp +99 -0
  49. ray/cpp/include/boost/archive/detail/interface_iarchive.hpp +85 -0
  50. ray/cpp/include/boost/archive/detail/interface_oarchive.hpp +87 -0
  51. ray/cpp/include/boost/archive/detail/iserializer.hpp +632 -0
  52. ray/cpp/include/boost/archive/detail/oserializer.hpp +547 -0
  53. ray/cpp/include/boost/archive/detail/polymorphic_iarchive_route.hpp +218 -0
  54. ray/cpp/include/boost/archive/detail/polymorphic_oarchive_route.hpp +209 -0
  55. ray/cpp/include/boost/archive/detail/register_archive.hpp +91 -0
  56. ray/cpp/include/boost/archive/detail/utf8_codecvt_facet.hpp +28 -0
  57. ray/cpp/include/boost/archive/dinkumware.hpp +222 -0
  58. ray/cpp/include/boost/archive/impl/archive_serializer_map.ipp +75 -0
  59. ray/cpp/include/boost/archive/impl/basic_binary_iarchive.ipp +134 -0
  60. ray/cpp/include/boost/archive/impl/basic_binary_iprimitive.ipp +173 -0
  61. ray/cpp/include/boost/archive/impl/basic_binary_oarchive.ipp +42 -0
  62. ray/cpp/include/boost/archive/impl/basic_binary_oprimitive.ipp +126 -0
  63. ray/cpp/include/boost/archive/impl/basic_text_iarchive.ipp +76 -0
  64. ray/cpp/include/boost/archive/impl/basic_text_iprimitive.ipp +138 -0
  65. ray/cpp/include/boost/archive/impl/basic_text_oarchive.ipp +62 -0
  66. ray/cpp/include/boost/archive/impl/basic_text_oprimitive.ipp +117 -0
  67. ray/cpp/include/boost/archive/impl/basic_xml_grammar.hpp +173 -0
  68. ray/cpp/include/boost/archive/impl/basic_xml_iarchive.ipp +114 -0
  69. ray/cpp/include/boost/archive/impl/basic_xml_oarchive.ipp +272 -0
  70. ray/cpp/include/boost/archive/impl/text_iarchive_impl.ipp +121 -0
  71. ray/cpp/include/boost/archive/impl/text_oarchive_impl.ipp +116 -0
  72. ray/cpp/include/boost/archive/impl/text_wiarchive_impl.ipp +116 -0
  73. ray/cpp/include/boost/archive/impl/text_woarchive_impl.ipp +85 -0
  74. ray/cpp/include/boost/archive/impl/xml_iarchive_impl.ipp +196 -0
  75. ray/cpp/include/boost/archive/impl/xml_oarchive_impl.ipp +139 -0
  76. ray/cpp/include/boost/archive/impl/xml_wiarchive_impl.ipp +187 -0
  77. ray/cpp/include/boost/archive/impl/xml_woarchive_impl.ipp +169 -0
  78. ray/cpp/include/boost/archive/iterators/base64_exception.hpp +68 -0
  79. ray/cpp/include/boost/archive/iterators/base64_from_binary.hpp +109 -0
  80. ray/cpp/include/boost/archive/iterators/binary_from_base64.hpp +118 -0
  81. ray/cpp/include/boost/archive/iterators/dataflow.hpp +102 -0
  82. ray/cpp/include/boost/archive/iterators/dataflow_exception.hpp +80 -0
  83. ray/cpp/include/boost/archive/iterators/escape.hpp +115 -0
  84. ray/cpp/include/boost/archive/iterators/insert_linebreaks.hpp +99 -0
  85. ray/cpp/include/boost/archive/iterators/istream_iterator.hpp +92 -0
  86. ray/cpp/include/boost/archive/iterators/mb_from_wchar.hpp +142 -0
  87. ray/cpp/include/boost/archive/iterators/ostream_iterator.hpp +83 -0
  88. ray/cpp/include/boost/archive/iterators/remove_whitespace.hpp +167 -0
  89. ray/cpp/include/boost/archive/iterators/transform_width.hpp +177 -0
  90. ray/cpp/include/boost/archive/iterators/unescape.hpp +89 -0
  91. ray/cpp/include/boost/archive/iterators/wchar_from_mb.hpp +196 -0
  92. ray/cpp/include/boost/archive/iterators/xml_escape.hpp +121 -0
  93. ray/cpp/include/boost/archive/iterators/xml_unescape.hpp +127 -0
  94. ray/cpp/include/boost/archive/iterators/xml_unescape_exception.hpp +49 -0
  95. ray/cpp/include/boost/archive/polymorphic_binary_iarchive.hpp +53 -0
  96. ray/cpp/include/boost/archive/polymorphic_binary_oarchive.hpp +44 -0
  97. ray/cpp/include/boost/archive/polymorphic_iarchive.hpp +171 -0
  98. ray/cpp/include/boost/archive/polymorphic_oarchive.hpp +154 -0
  99. ray/cpp/include/boost/archive/polymorphic_text_iarchive.hpp +53 -0
  100. ray/cpp/include/boost/archive/polymorphic_text_oarchive.hpp +44 -0
  101. ray/cpp/include/boost/archive/polymorphic_text_wiarchive.hpp +58 -0
  102. ray/cpp/include/boost/archive/polymorphic_text_woarchive.hpp +49 -0
  103. ray/cpp/include/boost/archive/polymorphic_xml_iarchive.hpp +53 -0
  104. ray/cpp/include/boost/archive/polymorphic_xml_oarchive.hpp +43 -0
  105. ray/cpp/include/boost/archive/polymorphic_xml_wiarchive.hpp +49 -0
  106. ray/cpp/include/boost/archive/polymorphic_xml_woarchive.hpp +49 -0
  107. ray/cpp/include/boost/archive/text_iarchive.hpp +135 -0
  108. ray/cpp/include/boost/archive/text_oarchive.hpp +124 -0
  109. ray/cpp/include/boost/archive/text_wiarchive.hpp +140 -0
  110. ray/cpp/include/boost/archive/text_woarchive.hpp +155 -0
  111. ray/cpp/include/boost/archive/tmpdir.hpp +49 -0
  112. ray/cpp/include/boost/archive/wcslen.hpp +58 -0
  113. ray/cpp/include/boost/archive/xml_archive_exception.hpp +57 -0
  114. ray/cpp/include/boost/archive/xml_iarchive.hpp +145 -0
  115. ray/cpp/include/boost/archive/xml_oarchive.hpp +140 -0
  116. ray/cpp/include/boost/archive/xml_wiarchive.hpp +152 -0
  117. ray/cpp/include/boost/archive/xml_woarchive.hpp +135 -0
  118. ray/cpp/include/boost/array.hpp +456 -0
  119. ray/cpp/include/boost/asio.hpp +211 -0
  120. ray/cpp/include/boost/assert/source_location.hpp +189 -0
  121. ray/cpp/include/boost/assert.hpp +85 -0
  122. ray/cpp/include/boost/assign.hpp +24 -0
  123. ray/cpp/include/boost/atomic.hpp +27 -0
  124. ray/cpp/include/boost/beast.hpp +21 -0
  125. ray/cpp/include/boost/bimap.hpp +19 -0
  126. ray/cpp/include/boost/bind/apply.hpp +87 -0
  127. ray/cpp/include/boost/bind/arg.hpp +69 -0
  128. ray/cpp/include/boost/bind/bind.hpp +2345 -0
  129. ray/cpp/include/boost/bind/bind_cc.hpp +117 -0
  130. ray/cpp/include/boost/bind/bind_mf2_cc.hpp +228 -0
  131. ray/cpp/include/boost/bind/bind_mf_cc.hpp +441 -0
  132. ray/cpp/include/boost/bind/bind_template.hpp +345 -0
  133. ray/cpp/include/boost/bind/detail/result_traits.hpp +164 -0
  134. ray/cpp/include/boost/bind/make_adaptable.hpp +187 -0
  135. ray/cpp/include/boost/bind/mem_fn.hpp +403 -0
  136. ray/cpp/include/boost/bind/mem_fn_cc.hpp +103 -0
  137. ray/cpp/include/boost/bind/mem_fn_template.hpp +1047 -0
  138. ray/cpp/include/boost/bind/mem_fn_vw.hpp +130 -0
  139. ray/cpp/include/boost/bind/placeholders.hpp +74 -0
  140. ray/cpp/include/boost/bind/protect.hpp +348 -0
  141. ray/cpp/include/boost/bind/std_placeholders.hpp +39 -0
  142. ray/cpp/include/boost/bind/storage.hpp +475 -0
  143. ray/cpp/include/boost/bind.hpp +60 -0
  144. ray/cpp/include/boost/blank.hpp +106 -0
  145. ray/cpp/include/boost/blank_fwd.hpp +22 -0
  146. ray/cpp/include/boost/call_traits.hpp +20 -0
  147. ray/cpp/include/boost/callable_traits/add_member_const.hpp +105 -0
  148. ray/cpp/include/boost/callable_traits/add_member_cv.hpp +101 -0
  149. ray/cpp/include/boost/callable_traits/add_member_lvalue_reference.hpp +114 -0
  150. ray/cpp/include/boost/callable_traits/add_member_rvalue_reference.hpp +113 -0
  151. ray/cpp/include/boost/callable_traits/add_member_volatile.hpp +100 -0
  152. ray/cpp/include/boost/callable_traits/add_noexcept.hpp +108 -0
  153. ray/cpp/include/boost/callable_traits/add_transaction_safe.hpp +110 -0
  154. ray/cpp/include/boost/callable_traits/add_varargs.hpp +90 -0
  155. ray/cpp/include/boost/callable_traits/apply_member_pointer.hpp +123 -0
  156. ray/cpp/include/boost/callable_traits/apply_return.hpp +109 -0
  157. ray/cpp/include/boost/callable_traits/args.hpp +97 -0
  158. ray/cpp/include/boost/callable_traits/class_of.hpp +75 -0
  159. ray/cpp/include/boost/callable_traits/detail/config.hpp +110 -0
  160. ray/cpp/include/boost/callable_traits/detail/core.hpp +19 -0
  161. ray/cpp/include/boost/callable_traits/detail/default_callable_traits.hpp +207 -0
  162. ray/cpp/include/boost/callable_traits/detail/forward_declarations.hpp +54 -0
  163. ray/cpp/include/boost/callable_traits/detail/function.hpp +192 -0
  164. ray/cpp/include/boost/callable_traits/detail/function_object.hpp +107 -0
  165. ray/cpp/include/boost/callable_traits/detail/is_invocable_impl.hpp +150 -0
  166. ray/cpp/include/boost/callable_traits/detail/parameter_index_helper.hpp +51 -0
  167. ray/cpp/include/boost/callable_traits/detail/pmd.hpp +53 -0
  168. ray/cpp/include/boost/callable_traits/detail/pmf.hpp +97 -0
  169. ray/cpp/include/boost/callable_traits/detail/polyfills/disjunction.hpp +31 -0
  170. ray/cpp/include/boost/callable_traits/detail/polyfills/make_index_sequence.hpp +50 -0
  171. ray/cpp/include/boost/callable_traits/detail/qualifier_flags.hpp +123 -0
  172. ray/cpp/include/boost/callable_traits/detail/set_function_qualifiers.hpp +120 -0
  173. ray/cpp/include/boost/callable_traits/detail/sfinae_errors.hpp +89 -0
  174. ray/cpp/include/boost/callable_traits/detail/traits.hpp +29 -0
  175. ray/cpp/include/boost/callable_traits/detail/unguarded/function.hpp +23 -0
  176. ray/cpp/include/boost/callable_traits/detail/unguarded/function_2.hpp +23 -0
  177. ray/cpp/include/boost/callable_traits/detail/unguarded/function_3.hpp +260 -0
  178. ray/cpp/include/boost/callable_traits/detail/unguarded/function_ptr.hpp +25 -0
  179. ray/cpp/include/boost/callable_traits/detail/unguarded/function_ptr_2.hpp +23 -0
  180. ray/cpp/include/boost/callable_traits/detail/unguarded/function_ptr_3.hpp +94 -0
  181. ray/cpp/include/boost/callable_traits/detail/unguarded/function_ptr_varargs.hpp +23 -0
  182. ray/cpp/include/boost/callable_traits/detail/unguarded/function_ptr_varargs_2.hpp +23 -0
  183. ray/cpp/include/boost/callable_traits/detail/unguarded/function_ptr_varargs_3.hpp +98 -0
  184. ray/cpp/include/boost/callable_traits/detail/unguarded/pmf.hpp +94 -0
  185. ray/cpp/include/boost/callable_traits/detail/unguarded/pmf_2.hpp +74 -0
  186. ray/cpp/include/boost/callable_traits/detail/unguarded/pmf_3.hpp +23 -0
  187. ray/cpp/include/boost/callable_traits/detail/unguarded/pmf_4.hpp +147 -0
  188. ray/cpp/include/boost/callable_traits/detail/unguarded/pmf_varargs.hpp +89 -0
  189. ray/cpp/include/boost/callable_traits/detail/unguarded/pmf_varargs_2.hpp +78 -0
  190. ray/cpp/include/boost/callable_traits/detail/unguarded/pmf_varargs_3.hpp +23 -0
  191. ray/cpp/include/boost/callable_traits/detail/unguarded/pmf_varargs_4.hpp +149 -0
  192. ray/cpp/include/boost/callable_traits/detail/utility.hpp +111 -0
  193. ray/cpp/include/boost/callable_traits/function_type.hpp +97 -0
  194. ray/cpp/include/boost/callable_traits/has_member_qualifiers.hpp +99 -0
  195. ray/cpp/include/boost/callable_traits/has_varargs.hpp +94 -0
  196. ray/cpp/include/boost/callable_traits/has_void_return.hpp +93 -0
  197. ray/cpp/include/boost/callable_traits/is_const_member.hpp +97 -0
  198. ray/cpp/include/boost/callable_traits/is_cv_member.hpp +95 -0
  199. ray/cpp/include/boost/callable_traits/is_invocable.hpp +103 -0
  200. ray/cpp/include/boost/callable_traits/is_lvalue_reference_member.hpp +95 -0
  201. ray/cpp/include/boost/callable_traits/is_noexcept.hpp +95 -0
  202. ray/cpp/include/boost/callable_traits/is_reference_member.hpp +98 -0
  203. ray/cpp/include/boost/callable_traits/is_rvalue_reference_member.hpp +97 -0
  204. ray/cpp/include/boost/callable_traits/is_transaction_safe.hpp +98 -0
  205. ray/cpp/include/boost/callable_traits/is_volatile_member.hpp +100 -0
  206. ray/cpp/include/boost/callable_traits/qualified_class_of.hpp +81 -0
  207. ray/cpp/include/boost/callable_traits/remove_member_const.hpp +85 -0
  208. ray/cpp/include/boost/callable_traits/remove_member_cv.hpp +87 -0
  209. ray/cpp/include/boost/callable_traits/remove_member_reference.hpp +85 -0
  210. ray/cpp/include/boost/callable_traits/remove_member_volatile.hpp +85 -0
  211. ray/cpp/include/boost/callable_traits/remove_noexcept.hpp +93 -0
  212. ray/cpp/include/boost/callable_traits/remove_transaction_safe.hpp +93 -0
  213. ray/cpp/include/boost/callable_traits/remove_varargs.hpp +91 -0
  214. ray/cpp/include/boost/callable_traits/return_type.hpp +90 -0
  215. ray/cpp/include/boost/callable_traits.hpp +47 -0
  216. ray/cpp/include/boost/cast.hpp +20 -0
  217. ray/cpp/include/boost/cerrno.hpp +15 -0
  218. ray/cpp/include/boost/checked_delete.hpp +17 -0
  219. ray/cpp/include/boost/chrono.hpp +20 -0
  220. ray/cpp/include/boost/circular_buffer.hpp +65 -0
  221. ray/cpp/include/boost/circular_buffer_fwd.hpp +43 -0
  222. ray/cpp/include/boost/compressed_pair.hpp +20 -0
  223. ray/cpp/include/boost/compute.hpp +44 -0
  224. ray/cpp/include/boost/concept/assert.hpp +45 -0
  225. ray/cpp/include/boost/concept/detail/backward_compatibility.hpp +16 -0
  226. ray/cpp/include/boost/concept/detail/borland.hpp +30 -0
  227. ray/cpp/include/boost/concept/detail/concept_def.hpp +34 -0
  228. ray/cpp/include/boost/concept/detail/concept_undef.hpp +5 -0
  229. ray/cpp/include/boost/concept/detail/general.hpp +98 -0
  230. ray/cpp/include/boost/concept/detail/has_constraints.hpp +50 -0
  231. ray/cpp/include/boost/concept/detail/msvc.hpp +123 -0
  232. ray/cpp/include/boost/concept/requires.hpp +93 -0
  233. ray/cpp/include/boost/concept/usage.hpp +43 -0
  234. ray/cpp/include/boost/concept_archetype.hpp +670 -0
  235. ray/cpp/include/boost/concept_check.hpp +1082 -0
  236. ray/cpp/include/boost/config/abi/borland_prefix.hpp +27 -0
  237. ray/cpp/include/boost/config/abi/borland_suffix.hpp +12 -0
  238. ray/cpp/include/boost/config/abi/msvc_prefix.hpp +22 -0
  239. ray/cpp/include/boost/config/abi/msvc_suffix.hpp +8 -0
  240. ray/cpp/include/boost/config/abi_prefix.hpp +25 -0
  241. ray/cpp/include/boost/config/abi_suffix.hpp +25 -0
  242. ray/cpp/include/boost/config/assert_cxx03.hpp +211 -0
  243. ray/cpp/include/boost/config/assert_cxx11.hpp +209 -0
  244. ray/cpp/include/boost/config/assert_cxx14.hpp +47 -0
  245. ray/cpp/include/boost/config/assert_cxx17.hpp +62 -0
  246. ray/cpp/include/boost/config/assert_cxx20.hpp +59 -0
  247. ray/cpp/include/boost/config/assert_cxx98.hpp +23 -0
  248. ray/cpp/include/boost/config/auto_link.hpp +525 -0
  249. ray/cpp/include/boost/config/compiler/borland.hpp +338 -0
  250. ray/cpp/include/boost/config/compiler/clang.hpp +362 -0
  251. ray/cpp/include/boost/config/compiler/clang_version.hpp +83 -0
  252. ray/cpp/include/boost/config/compiler/codegear.hpp +384 -0
  253. ray/cpp/include/boost/config/compiler/comeau.hpp +59 -0
  254. ray/cpp/include/boost/config/compiler/common_edg.hpp +182 -0
  255. ray/cpp/include/boost/config/compiler/compaq_cxx.hpp +19 -0
  256. ray/cpp/include/boost/config/compiler/cray.hpp +445 -0
  257. ray/cpp/include/boost/config/compiler/diab.hpp +26 -0
  258. ray/cpp/include/boost/config/compiler/digitalmars.hpp +142 -0
  259. ray/cpp/include/boost/config/compiler/gcc.hpp +382 -0
  260. ray/cpp/include/boost/config/compiler/gcc_xml.hpp +113 -0
  261. ray/cpp/include/boost/config/compiler/greenhills.hpp +28 -0
  262. ray/cpp/include/boost/config/compiler/hp_acc.hpp +148 -0
  263. ray/cpp/include/boost/config/compiler/intel.hpp +576 -0
  264. ray/cpp/include/boost/config/compiler/kai.hpp +33 -0
  265. ray/cpp/include/boost/config/compiler/metrowerks.hpp +197 -0
  266. ray/cpp/include/boost/config/compiler/mpw.hpp +139 -0
  267. ray/cpp/include/boost/config/compiler/nvcc.hpp +61 -0
  268. ray/cpp/include/boost/config/compiler/pathscale.hpp +137 -0
  269. ray/cpp/include/boost/config/compiler/pgi.hpp +23 -0
  270. ray/cpp/include/boost/config/compiler/sgi_mipspro.hpp +29 -0
  271. ray/cpp/include/boost/config/compiler/sunpro_cc.hpp +221 -0
  272. ray/cpp/include/boost/config/compiler/vacpp.hpp +185 -0
  273. ray/cpp/include/boost/config/compiler/visualc.hpp +388 -0
  274. ray/cpp/include/boost/config/compiler/xlcpp.hpp +295 -0
  275. ray/cpp/include/boost/config/compiler/xlcpp_zos.hpp +172 -0
  276. ray/cpp/include/boost/config/detail/cxx_composite.hpp +203 -0
  277. ray/cpp/include/boost/config/detail/posix_features.hpp +95 -0
  278. ray/cpp/include/boost/config/detail/select_compiler_config.hpp +157 -0
  279. ray/cpp/include/boost/config/detail/select_platform_config.hpp +147 -0
  280. ray/cpp/include/boost/config/detail/select_stdlib_config.hpp +121 -0
  281. ray/cpp/include/boost/config/detail/suffix.hpp +1278 -0
  282. ray/cpp/include/boost/config/header_deprecated.hpp +26 -0
  283. ray/cpp/include/boost/config/helper_macros.hpp +37 -0
  284. ray/cpp/include/boost/config/no_tr1/cmath.hpp +28 -0
  285. ray/cpp/include/boost/config/no_tr1/complex.hpp +28 -0
  286. ray/cpp/include/boost/config/no_tr1/functional.hpp +28 -0
  287. ray/cpp/include/boost/config/no_tr1/memory.hpp +28 -0
  288. ray/cpp/include/boost/config/no_tr1/utility.hpp +28 -0
  289. ray/cpp/include/boost/config/platform/aix.hpp +33 -0
  290. ray/cpp/include/boost/config/platform/amigaos.hpp +15 -0
  291. ray/cpp/include/boost/config/platform/beos.hpp +26 -0
  292. ray/cpp/include/boost/config/platform/bsd.hpp +83 -0
  293. ray/cpp/include/boost/config/platform/cloudabi.hpp +18 -0
  294. ray/cpp/include/boost/config/platform/cray.hpp +18 -0
  295. ray/cpp/include/boost/config/platform/cygwin.hpp +71 -0
  296. ray/cpp/include/boost/config/platform/haiku.hpp +31 -0
  297. ray/cpp/include/boost/config/platform/hpux.hpp +87 -0
  298. ray/cpp/include/boost/config/platform/irix.hpp +31 -0
  299. ray/cpp/include/boost/config/platform/linux.hpp +106 -0
  300. ray/cpp/include/boost/config/platform/macos.hpp +87 -0
  301. ray/cpp/include/boost/config/platform/qnxnto.hpp +31 -0
  302. ray/cpp/include/boost/config/platform/solaris.hpp +31 -0
  303. ray/cpp/include/boost/config/platform/symbian.hpp +97 -0
  304. ray/cpp/include/boost/config/platform/vms.hpp +25 -0
  305. ray/cpp/include/boost/config/platform/vxworks.hpp +422 -0
  306. ray/cpp/include/boost/config/platform/wasm.hpp +23 -0
  307. ray/cpp/include/boost/config/platform/win32.hpp +90 -0
  308. ray/cpp/include/boost/config/platform/zos.hpp +32 -0
  309. ray/cpp/include/boost/config/pragma_message.hpp +31 -0
  310. ray/cpp/include/boost/config/requires_threads.hpp +92 -0
  311. ray/cpp/include/boost/config/stdlib/dinkumware.hpp +292 -0
  312. ray/cpp/include/boost/config/stdlib/libcomo.hpp +93 -0
  313. ray/cpp/include/boost/config/stdlib/libcpp.hpp +180 -0
  314. ray/cpp/include/boost/config/stdlib/libstdcpp3.hpp +467 -0
  315. ray/cpp/include/boost/config/stdlib/modena.hpp +79 -0
  316. ray/cpp/include/boost/config/stdlib/msl.hpp +98 -0
  317. ray/cpp/include/boost/config/stdlib/roguewave.hpp +208 -0
  318. ray/cpp/include/boost/config/stdlib/sgi.hpp +168 -0
  319. ray/cpp/include/boost/config/stdlib/stlport.hpp +258 -0
  320. ray/cpp/include/boost/config/stdlib/vacpp.hpp +74 -0
  321. ray/cpp/include/boost/config/stdlib/xlcpp_zos.hpp +61 -0
  322. ray/cpp/include/boost/config/user.hpp +133 -0
  323. ray/cpp/include/boost/config/warning_disable.hpp +47 -0
  324. ray/cpp/include/boost/config/workaround.hpp +305 -0
  325. ray/cpp/include/boost/config.hpp +67 -0
  326. ray/cpp/include/boost/container/adaptive_pool.hpp +623 -0
  327. ray/cpp/include/boost/container/allocator.hpp +377 -0
  328. ray/cpp/include/boost/container/allocator_traits.hpp +502 -0
  329. ray/cpp/include/boost/container/container_fwd.hpp +417 -0
  330. ray/cpp/include/boost/container/deque.hpp +2375 -0
  331. ray/cpp/include/boost/container/detail/adaptive_node_pool.hpp +169 -0
  332. ray/cpp/include/boost/container/detail/adaptive_node_pool_impl.hpp +1261 -0
  333. ray/cpp/include/boost/container/detail/addressof.hpp +33 -0
  334. ray/cpp/include/boost/container/detail/advanced_insert_int.hpp +543 -0
  335. ray/cpp/include/boost/container/detail/algorithm.hpp +185 -0
  336. ray/cpp/include/boost/container/detail/alloc_helpers.hpp +60 -0
  337. ray/cpp/include/boost/container/detail/alloc_lib.h +314 -0
  338. ray/cpp/include/boost/container/detail/allocation_type.hpp +58 -0
  339. ray/cpp/include/boost/container/detail/allocator_version_traits.hpp +163 -0
  340. ray/cpp/include/boost/container/detail/auto_link.hpp +51 -0
  341. ray/cpp/include/boost/container/detail/block_list.hpp +140 -0
  342. ray/cpp/include/boost/container/detail/block_slist.hpp +158 -0
  343. ray/cpp/include/boost/container/detail/compare_functors.hpp +134 -0
  344. ray/cpp/include/boost/container/detail/config_begin.hpp +60 -0
  345. ray/cpp/include/boost/container/detail/config_end.hpp +16 -0
  346. ray/cpp/include/boost/container/detail/construct_in_place.hpp +98 -0
  347. ray/cpp/include/boost/container/detail/container_or_allocator_rebind.hpp +53 -0
  348. ray/cpp/include/boost/container/detail/container_rebind.hpp +163 -0
  349. ray/cpp/include/boost/container/detail/copy_move_algo.hpp +1985 -0
  350. ray/cpp/include/boost/container/detail/destroyers.hpp +502 -0
  351. ray/cpp/include/boost/container/detail/dispatch_uses_allocator.hpp +463 -0
  352. ray/cpp/include/boost/container/detail/dlmalloc.hpp +103 -0
  353. ray/cpp/include/boost/container/detail/flat_tree.hpp +1699 -0
  354. ray/cpp/include/boost/container/detail/function_detector.hpp +96 -0
  355. ray/cpp/include/boost/container/detail/guards_dended.hpp +198 -0
  356. ray/cpp/include/boost/container/detail/hash_table.hpp +1278 -0
  357. ray/cpp/include/boost/container/detail/is_container.hpp +72 -0
  358. ray/cpp/include/boost/container/detail/is_contiguous_container.hpp +82 -0
  359. ray/cpp/include/boost/container/detail/is_pair.hpp +91 -0
  360. ray/cpp/include/boost/container/detail/is_sorted.hpp +57 -0
  361. ray/cpp/include/boost/container/detail/iterator.hpp +94 -0
  362. ray/cpp/include/boost/container/detail/iterator_to_raw_pointer.hpp +33 -0
  363. ray/cpp/include/boost/container/detail/iterators.hpp +910 -0
  364. ray/cpp/include/boost/container/detail/math_functions.hpp +177 -0
  365. ray/cpp/include/boost/container/detail/min_max.hpp +37 -0
  366. ray/cpp/include/boost/container/detail/minimal_char_traits_header.hpp +32 -0
  367. ray/cpp/include/boost/container/detail/mpl.hpp +144 -0
  368. ray/cpp/include/boost/container/detail/multiallocation_chain.hpp +307 -0
  369. ray/cpp/include/boost/container/detail/mutex.hpp +272 -0
  370. ray/cpp/include/boost/container/detail/next_capacity.hpp +98 -0
  371. ray/cpp/include/boost/container/detail/node_alloc_holder.hpp +606 -0
  372. ray/cpp/include/boost/container/detail/node_pool.hpp +157 -0
  373. ray/cpp/include/boost/container/detail/node_pool_impl.hpp +376 -0
  374. ray/cpp/include/boost/container/detail/pair.hpp +607 -0
  375. ray/cpp/include/boost/container/detail/pair_key_mapped_of_value.hpp +55 -0
  376. ray/cpp/include/boost/container/detail/placement_new.hpp +32 -0
  377. ray/cpp/include/boost/container/detail/pool_common.hpp +57 -0
  378. ray/cpp/include/boost/container/detail/pool_common_alloc.hpp +102 -0
  379. ray/cpp/include/boost/container/detail/pool_resource.hpp +187 -0
  380. ray/cpp/include/boost/container/detail/singleton.hpp +121 -0
  381. ray/cpp/include/boost/container/detail/std_fwd.hpp +62 -0
  382. ray/cpp/include/boost/container/detail/thread_mutex.hpp +181 -0
  383. ray/cpp/include/boost/container/detail/transform_iterator.hpp +180 -0
  384. ray/cpp/include/boost/container/detail/tree.hpp +1438 -0
  385. ray/cpp/include/boost/container/detail/type_traits.hpp +75 -0
  386. ray/cpp/include/boost/container/detail/value_functors.hpp +32 -0
  387. ray/cpp/include/boost/container/detail/value_init.hpp +51 -0
  388. ray/cpp/include/boost/container/detail/variadic_templates_tools.hpp +163 -0
  389. ray/cpp/include/boost/container/detail/version_type.hpp +101 -0
  390. ray/cpp/include/boost/container/detail/workaround.hpp +157 -0
  391. ray/cpp/include/boost/container/devector.hpp +2965 -0
  392. ray/cpp/include/boost/container/flat_map.hpp +3069 -0
  393. ray/cpp/include/boost/container/flat_set.hpp +1946 -0
  394. ray/cpp/include/boost/container/list.hpp +1511 -0
  395. ray/cpp/include/boost/container/map.hpp +2316 -0
  396. ray/cpp/include/boost/container/new_allocator.hpp +201 -0
  397. ray/cpp/include/boost/container/node_allocator.hpp +341 -0
  398. ray/cpp/include/boost/container/node_handle.hpp +443 -0
  399. ray/cpp/include/boost/container/options.hpp +671 -0
  400. ray/cpp/include/boost/container/pmr/deque.hpp +45 -0
  401. ray/cpp/include/boost/container/pmr/devector.hpp +51 -0
  402. ray/cpp/include/boost/container/pmr/flat_map.hpp +63 -0
  403. ray/cpp/include/boost/container/pmr/flat_set.hpp +59 -0
  404. ray/cpp/include/boost/container/pmr/global_resource.hpp +63 -0
  405. ray/cpp/include/boost/container/pmr/list.hpp +45 -0
  406. ray/cpp/include/boost/container/pmr/map.hpp +67 -0
  407. ray/cpp/include/boost/container/pmr/memory_resource.hpp +135 -0
  408. ray/cpp/include/boost/container/pmr/monotonic_buffer_resource.hpp +183 -0
  409. ray/cpp/include/boost/container/pmr/polymorphic_allocator.hpp +165 -0
  410. ray/cpp/include/boost/container/pmr/pool_options.hpp +52 -0
  411. ray/cpp/include/boost/container/pmr/resource_adaptor.hpp +277 -0
  412. ray/cpp/include/boost/container/pmr/set.hpp +63 -0
  413. ray/cpp/include/boost/container/pmr/slist.hpp +45 -0
  414. ray/cpp/include/boost/container/pmr/small_vector.hpp +45 -0
  415. ray/cpp/include/boost/container/pmr/stable_vector.hpp +45 -0
  416. ray/cpp/include/boost/container/pmr/string.hpp +50 -0
  417. ray/cpp/include/boost/container/pmr/synchronized_pool_resource.hpp +139 -0
  418. ray/cpp/include/boost/container/pmr/unsynchronized_pool_resource.hpp +194 -0
  419. ray/cpp/include/boost/container/pmr/vector.hpp +45 -0
  420. ray/cpp/include/boost/container/scoped_allocator.hpp +907 -0
  421. ray/cpp/include/boost/container/scoped_allocator_fwd.hpp +71 -0
  422. ray/cpp/include/boost/container/set.hpp +1695 -0
  423. ray/cpp/include/boost/container/slist.hpp +1726 -0
  424. ray/cpp/include/boost/container/small_vector.hpp +666 -0
  425. ray/cpp/include/boost/container/stable_vector.hpp +2259 -0
  426. ray/cpp/include/boost/container/static_vector.hpp +1326 -0
  427. ray/cpp/include/boost/container/string.hpp +3614 -0
  428. ray/cpp/include/boost/container/throw_exception.hpp +296 -0
  429. ray/cpp/include/boost/container/uses_allocator.hpp +169 -0
  430. ray/cpp/include/boost/container/uses_allocator_fwd.hpp +73 -0
  431. ray/cpp/include/boost/container/vector.hpp +3124 -0
  432. ray/cpp/include/boost/container_hash/detail/hash_mix.hpp +113 -0
  433. ray/cpp/include/boost/container_hash/detail/hash_range.hpp +173 -0
  434. ray/cpp/include/boost/container_hash/detail/hash_tuple.hpp +133 -0
  435. ray/cpp/include/boost/container_hash/detail/limits.hpp +19 -0
  436. ray/cpp/include/boost/container_hash/extensions.hpp +10 -0
  437. ray/cpp/include/boost/container_hash/hash.hpp +662 -0
  438. ray/cpp/include/boost/container_hash/hash_fwd.hpp +36 -0
  439. ray/cpp/include/boost/container_hash/is_contiguous_range.hpp +91 -0
  440. ray/cpp/include/boost/container_hash/is_described_class.hpp +38 -0
  441. ray/cpp/include/boost/container_hash/is_range.hpp +73 -0
  442. ray/cpp/include/boost/container_hash/is_unordered_range.hpp +39 -0
  443. ray/cpp/include/boost/contract.hpp +44 -0
  444. ray/cpp/include/boost/contract_macro.hpp +1409 -0
  445. ray/cpp/include/boost/convert.hpp +209 -0
  446. ray/cpp/include/boost/core/addressof.hpp +274 -0
  447. ray/cpp/include/boost/core/alloc_construct.hpp +95 -0
  448. ray/cpp/include/boost/core/allocator_access.hpp +820 -0
  449. ray/cpp/include/boost/core/allocator_traits.hpp +112 -0
  450. ray/cpp/include/boost/core/bit.hpp +623 -0
  451. ray/cpp/include/boost/core/checked_delete.hpp +71 -0
  452. ray/cpp/include/boost/core/cmath.hpp +298 -0
  453. ray/cpp/include/boost/core/default_allocator.hpp +158 -0
  454. ray/cpp/include/boost/core/demangle.hpp +126 -0
  455. ray/cpp/include/boost/core/detail/splitmix64.hpp +54 -0
  456. ray/cpp/include/boost/core/detail/string_view.hpp +1272 -0
  457. ray/cpp/include/boost/core/empty_value.hpp +155 -0
  458. ray/cpp/include/boost/core/enable_if.hpp +128 -0
  459. ray/cpp/include/boost/core/exchange.hpp +49 -0
  460. ray/cpp/include/boost/core/explicit_operator_bool.hpp +163 -0
  461. ray/cpp/include/boost/core/fclose_deleter.hpp +46 -0
  462. ray/cpp/include/boost/core/first_scalar.hpp +45 -0
  463. ray/cpp/include/boost/core/ignore_unused.hpp +100 -0
  464. ray/cpp/include/boost/core/is_same.hpp +40 -0
  465. ray/cpp/include/boost/core/lightweight_test.hpp +591 -0
  466. ray/cpp/include/boost/core/lightweight_test_trait.hpp +91 -0
  467. ray/cpp/include/boost/core/no_exceptions_support.hpp +56 -0
  468. ray/cpp/include/boost/core/noinit_adaptor.hpp +90 -0
  469. ray/cpp/include/boost/core/noncopyable.hpp +63 -0
  470. ray/cpp/include/boost/core/null_deleter.hpp +44 -0
  471. ray/cpp/include/boost/core/nvp.hpp +57 -0
  472. ray/cpp/include/boost/core/pointer_traits.hpp +285 -0
  473. ray/cpp/include/boost/core/quick_exit.hpp +59 -0
  474. ray/cpp/include/boost/core/ref.hpp +338 -0
  475. ray/cpp/include/boost/core/scoped_enum.hpp +194 -0
  476. ray/cpp/include/boost/core/span.hpp +399 -0
  477. ray/cpp/include/boost/core/swap.hpp +70 -0
  478. ray/cpp/include/boost/core/type_name.hpp +1157 -0
  479. ray/cpp/include/boost/core/typeinfo.hpp +167 -0
  480. ray/cpp/include/boost/core/uncaught_exceptions.hpp +155 -0
  481. ray/cpp/include/boost/core/underlying_type.hpp +79 -0
  482. ray/cpp/include/boost/core/use_default.hpp +17 -0
  483. ray/cpp/include/boost/core/verbose_terminate_handler.hpp +88 -0
  484. ray/cpp/include/boost/crc.hpp +2306 -0
  485. ray/cpp/include/boost/cregex.hpp +43 -0
  486. ray/cpp/include/boost/cstdfloat.hpp +58 -0
  487. ray/cpp/include/boost/cstdint.hpp +556 -0
  488. ray/cpp/include/boost/cstdlib.hpp +41 -0
  489. ray/cpp/include/boost/current_function.hpp +75 -0
  490. ray/cpp/include/boost/cxx11_char_types.hpp +70 -0
  491. ray/cpp/include/boost/date_time.hpp +17 -0
  492. ray/cpp/include/boost/describe.hpp +21 -0
  493. ray/cpp/include/boost/detail/algorithm.hpp +83 -0
  494. ray/cpp/include/boost/detail/allocator_utilities.hpp +193 -0
  495. ray/cpp/include/boost/detail/atomic_count.hpp +21 -0
  496. ray/cpp/include/boost/detail/basic_pointerbuf.hpp +138 -0
  497. ray/cpp/include/boost/detail/binary_search.hpp +216 -0
  498. ray/cpp/include/boost/detail/bitmask.hpp +58 -0
  499. ray/cpp/include/boost/detail/call_traits.hpp +172 -0
  500. ray/cpp/include/boost/detail/catch_exceptions.hpp +143 -0
  501. ray/cpp/include/boost/detail/compressed_pair.hpp +456 -0
  502. ray/cpp/include/boost/detail/container_fwd.hpp +157 -0
  503. ray/cpp/include/boost/detail/fenv.hpp +101 -0
  504. ray/cpp/include/boost/detail/has_default_constructor.hpp +29 -0
  505. ray/cpp/include/boost/detail/identifier.hpp +87 -0
  506. ray/cpp/include/boost/detail/indirect_traits.hpp +195 -0
  507. ray/cpp/include/boost/detail/interlocked.hpp +273 -0
  508. ray/cpp/include/boost/detail/is_incrementable.hpp +121 -0
  509. ray/cpp/include/boost/detail/is_sorted.hpp +55 -0
  510. ray/cpp/include/boost/detail/is_xxx.hpp +27 -0
  511. ray/cpp/include/boost/detail/iterator.hpp +43 -0
  512. ray/cpp/include/boost/detail/lcast_precision.hpp +185 -0
  513. ray/cpp/include/boost/detail/lightweight_main.hpp +36 -0
  514. ray/cpp/include/boost/detail/lightweight_mutex.hpp +22 -0
  515. ray/cpp/include/boost/detail/lightweight_test.hpp +17 -0
  516. ray/cpp/include/boost/detail/lightweight_test_report.hpp +56 -0
  517. ray/cpp/include/boost/detail/lightweight_thread.hpp +26 -0
  518. ray/cpp/include/boost/detail/named_template_params.hpp +178 -0
  519. ray/cpp/include/boost/detail/no_exceptions_support.hpp +21 -0
  520. ray/cpp/include/boost/detail/numeric_traits.hpp +160 -0
  521. ray/cpp/include/boost/detail/ob_compressed_pair.hpp +498 -0
  522. ray/cpp/include/boost/detail/quick_allocator.hpp +23 -0
  523. ray/cpp/include/boost/detail/reference_content.hpp +120 -0
  524. ray/cpp/include/boost/detail/scoped_enum_emulation.hpp +21 -0
  525. ray/cpp/include/boost/detail/select_type.hpp +36 -0
  526. ray/cpp/include/boost/detail/sp_typeinfo.hpp +39 -0
  527. ray/cpp/include/boost/detail/templated_streams.hpp +74 -0
  528. ray/cpp/include/boost/detail/utf8_codecvt_facet.hpp +220 -0
  529. ray/cpp/include/boost/detail/utf8_codecvt_facet.ipp +296 -0
  530. ray/cpp/include/boost/detail/winapi/access_rights.hpp +24 -0
  531. ray/cpp/include/boost/detail/winapi/apc.hpp +24 -0
  532. ray/cpp/include/boost/detail/winapi/basic_types.hpp +24 -0
  533. ray/cpp/include/boost/detail/winapi/bcrypt.hpp +24 -0
  534. ray/cpp/include/boost/detail/winapi/character_code_conversion.hpp +24 -0
  535. ray/cpp/include/boost/detail/winapi/condition_variable.hpp +27 -0
  536. ray/cpp/include/boost/detail/winapi/config.hpp +23 -0
  537. ray/cpp/include/boost/detail/winapi/critical_section.hpp +24 -0
  538. ray/cpp/include/boost/detail/winapi/crypt.hpp +24 -0
  539. ray/cpp/include/boost/detail/winapi/dbghelp.hpp +24 -0
  540. ray/cpp/include/boost/detail/winapi/debugapi.hpp +24 -0
  541. ray/cpp/include/boost/detail/winapi/detail/deprecated_namespace.hpp +28 -0
  542. ray/cpp/include/boost/detail/winapi/directory_management.hpp +24 -0
  543. ray/cpp/include/boost/detail/winapi/dll.hpp +24 -0
  544. ray/cpp/include/boost/detail/winapi/environment.hpp +24 -0
  545. ray/cpp/include/boost/detail/winapi/error_codes.hpp +24 -0
  546. ray/cpp/include/boost/detail/winapi/error_handling.hpp +24 -0
  547. ray/cpp/include/boost/detail/winapi/event.hpp +24 -0
  548. ray/cpp/include/boost/detail/winapi/file_management.hpp +24 -0
  549. ray/cpp/include/boost/detail/winapi/file_mapping.hpp +24 -0
  550. ray/cpp/include/boost/detail/winapi/get_current_process.hpp +24 -0
  551. ray/cpp/include/boost/detail/winapi/get_current_process_id.hpp +24 -0
  552. ray/cpp/include/boost/detail/winapi/get_current_thread.hpp +24 -0
  553. ray/cpp/include/boost/detail/winapi/get_current_thread_id.hpp +24 -0
  554. ray/cpp/include/boost/detail/winapi/get_last_error.hpp +24 -0
  555. ray/cpp/include/boost/detail/winapi/get_process_times.hpp +24 -0
  556. ray/cpp/include/boost/detail/winapi/get_system_directory.hpp +24 -0
  557. ray/cpp/include/boost/detail/winapi/get_thread_times.hpp +24 -0
  558. ray/cpp/include/boost/detail/winapi/handle_info.hpp +24 -0
  559. ray/cpp/include/boost/detail/winapi/handles.hpp +24 -0
  560. ray/cpp/include/boost/detail/winapi/heap_memory.hpp +24 -0
  561. ray/cpp/include/boost/detail/winapi/init_once.hpp +26 -0
  562. ray/cpp/include/boost/detail/winapi/jobs.hpp +24 -0
  563. ray/cpp/include/boost/detail/winapi/limits.hpp +24 -0
  564. ray/cpp/include/boost/detail/winapi/local_memory.hpp +24 -0
  565. ray/cpp/include/boost/detail/winapi/memory.hpp +24 -0
  566. ray/cpp/include/boost/detail/winapi/mutex.hpp +24 -0
  567. ray/cpp/include/boost/detail/winapi/overlapped.hpp +24 -0
  568. ray/cpp/include/boost/detail/winapi/page_protection_flags.hpp +24 -0
  569. ray/cpp/include/boost/detail/winapi/pipes.hpp +24 -0
  570. ray/cpp/include/boost/detail/winapi/priority_class.hpp +24 -0
  571. ray/cpp/include/boost/detail/winapi/process.hpp +24 -0
  572. ray/cpp/include/boost/detail/winapi/security.hpp +24 -0
  573. ray/cpp/include/boost/detail/winapi/semaphore.hpp +24 -0
  574. ray/cpp/include/boost/detail/winapi/shell.hpp +24 -0
  575. ray/cpp/include/boost/detail/winapi/show_window.hpp +24 -0
  576. ray/cpp/include/boost/detail/winapi/srw_lock.hpp +27 -0
  577. ray/cpp/include/boost/detail/winapi/stack_backtrace.hpp +24 -0
  578. ray/cpp/include/boost/detail/winapi/synchronization.hpp +24 -0
  579. ray/cpp/include/boost/detail/winapi/system.hpp +24 -0
  580. ray/cpp/include/boost/detail/winapi/thread.hpp +24 -0
  581. ray/cpp/include/boost/detail/winapi/thread_pool.hpp +24 -0
  582. ray/cpp/include/boost/detail/winapi/time.hpp +24 -0
  583. ray/cpp/include/boost/detail/winapi/timers.hpp +24 -0
  584. ray/cpp/include/boost/detail/winapi/tls.hpp +24 -0
  585. ray/cpp/include/boost/detail/winapi/wait.hpp +24 -0
  586. ray/cpp/include/boost/detail/winapi/waitable_timer.hpp +24 -0
  587. ray/cpp/include/boost/detail/workaround.hpp +10 -0
  588. ray/cpp/include/boost/dll/alias.hpp +268 -0
  589. ray/cpp/include/boost/dll/config.hpp +79 -0
  590. ray/cpp/include/boost/dll/detail/aggressive_ptr_cast.hpp +136 -0
  591. ray/cpp/include/boost/dll/detail/ctor_dtor.hpp +193 -0
  592. ray/cpp/include/boost/dll/detail/demangling/demangle_symbol.hpp +109 -0
  593. ray/cpp/include/boost/dll/detail/demangling/itanium.hpp +489 -0
  594. ray/cpp/include/boost/dll/detail/demangling/mangled_storage_base.hpp +120 -0
  595. ray/cpp/include/boost/dll/detail/demangling/msvc.hpp +441 -0
  596. ray/cpp/include/boost/dll/detail/elf_info.hpp +344 -0
  597. ray/cpp/include/boost/dll/detail/get_mem_fn_type.hpp +40 -0
  598. ray/cpp/include/boost/dll/detail/import_mangled_helpers.hpp +290 -0
  599. ray/cpp/include/boost/dll/detail/macho_info.hpp +319 -0
  600. ray/cpp/include/boost/dll/detail/pe_info.hpp +436 -0
  601. ray/cpp/include/boost/dll/detail/posix/path_from_handle.hpp +167 -0
  602. ray/cpp/include/boost/dll/detail/posix/program_location_impl.hpp +135 -0
  603. ray/cpp/include/boost/dll/detail/posix/shared_library_impl.hpp +223 -0
  604. ray/cpp/include/boost/dll/detail/system_error.hpp +55 -0
  605. ray/cpp/include/boost/dll/detail/type_info.hpp +87 -0
  606. ray/cpp/include/boost/dll/detail/windows/path_from_handle.hpp +65 -0
  607. ray/cpp/include/boost/dll/detail/windows/shared_library_impl.hpp +195 -0
  608. ray/cpp/include/boost/dll/import.hpp +277 -0
  609. ray/cpp/include/boost/dll/import_class.hpp +565 -0
  610. ray/cpp/include/boost/dll/import_mangled.hpp +315 -0
  611. ray/cpp/include/boost/dll/library_info.hpp +209 -0
  612. ray/cpp/include/boost/dll/runtime_symbol_info.hpp +237 -0
  613. ray/cpp/include/boost/dll/shared_library.hpp +569 -0
  614. ray/cpp/include/boost/dll/shared_library_load_mode.hpp +248 -0
  615. ray/cpp/include/boost/dll/smart_library.hpp +465 -0
  616. ray/cpp/include/boost/dll.hpp +27 -0
  617. ray/cpp/include/boost/dynamic_bitset.hpp +17 -0
  618. ray/cpp/include/boost/dynamic_bitset_fwd.hpp +25 -0
  619. ray/cpp/include/boost/enable_shared_from_this.hpp +18 -0
  620. ray/cpp/include/boost/endian.hpp +13 -0
  621. ray/cpp/include/boost/exception/all.hpp +27 -0
  622. ray/cpp/include/boost/exception/current_exception_cast.hpp +49 -0
  623. ray/cpp/include/boost/exception/detail/clone_current_exception.hpp +62 -0
  624. ray/cpp/include/boost/exception/detail/error_info_impl.hpp +107 -0
  625. ray/cpp/include/boost/exception/detail/exception_ptr.hpp +603 -0
  626. ray/cpp/include/boost/exception/detail/is_output_streamable.hpp +66 -0
  627. ray/cpp/include/boost/exception/detail/object_hex_dump.hpp +56 -0
  628. ray/cpp/include/boost/exception/detail/shared_ptr.hpp +17 -0
  629. ray/cpp/include/boost/exception/detail/type_info.hpp +88 -0
  630. ray/cpp/include/boost/exception/diagnostic_information.hpp +213 -0
  631. ray/cpp/include/boost/exception/enable_current_exception.hpp +11 -0
  632. ray/cpp/include/boost/exception/enable_error_info.hpp +11 -0
  633. ray/cpp/include/boost/exception/errinfo_api_function.hpp +22 -0
  634. ray/cpp/include/boost/exception/errinfo_at_line.hpp +18 -0
  635. ray/cpp/include/boost/exception/errinfo_errno.hpp +51 -0
  636. ray/cpp/include/boost/exception/errinfo_file_handle.hpp +20 -0
  637. ray/cpp/include/boost/exception/errinfo_file_name.hpp +26 -0
  638. ray/cpp/include/boost/exception/errinfo_file_open_mode.hpp +26 -0
  639. ray/cpp/include/boost/exception/errinfo_nested_exception.hpp +18 -0
  640. ray/cpp/include/boost/exception/errinfo_type_info_name.hpp +23 -0
  641. ray/cpp/include/boost/exception/error_info.hpp +9 -0
  642. ray/cpp/include/boost/exception/exception.hpp +569 -0
  643. ray/cpp/include/boost/exception/get_error_info.hpp +138 -0
  644. ray/cpp/include/boost/exception/info.hpp +279 -0
  645. ray/cpp/include/boost/exception/info_tuple.hpp +106 -0
  646. ray/cpp/include/boost/exception/to_string.hpp +94 -0
  647. ray/cpp/include/boost/exception/to_string_stub.hpp +123 -0
  648. ray/cpp/include/boost/exception_ptr.hpp +11 -0
  649. ray/cpp/include/boost/filesystem/config.hpp +184 -0
  650. ray/cpp/include/boost/filesystem/convenience.hpp +55 -0
  651. ray/cpp/include/boost/filesystem/detail/footer.hpp +23 -0
  652. ray/cpp/include/boost/filesystem/detail/header.hpp +49 -0
  653. ray/cpp/include/boost/filesystem/detail/path_traits.hpp +700 -0
  654. ray/cpp/include/boost/filesystem/detail/utf8_codecvt_facet.hpp +33 -0
  655. ray/cpp/include/boost/filesystem/directory.hpp +775 -0
  656. ray/cpp/include/boost/filesystem/exception.hpp +92 -0
  657. ray/cpp/include/boost/filesystem/file_status.hpp +244 -0
  658. ray/cpp/include/boost/filesystem/fstream.hpp +207 -0
  659. ray/cpp/include/boost/filesystem/operations.hpp +729 -0
  660. ray/cpp/include/boost/filesystem/path.hpp +1502 -0
  661. ray/cpp/include/boost/filesystem/path_traits.hpp +38 -0
  662. ray/cpp/include/boost/filesystem/string_file.hpp +70 -0
  663. ray/cpp/include/boost/filesystem.hpp +26 -0
  664. ray/cpp/include/boost/flyweight.hpp +22 -0
  665. ray/cpp/include/boost/foreach.hpp +1134 -0
  666. ray/cpp/include/boost/foreach_fwd.hpp +51 -0
  667. ray/cpp/include/boost/format.hpp +59 -0
  668. ray/cpp/include/boost/function.hpp +74 -0
  669. ray/cpp/include/boost/function_equal.hpp +28 -0
  670. ray/cpp/include/boost/function_output_iterator.hpp +18 -0
  671. ray/cpp/include/boost/functional/factory.hpp +365 -0
  672. ray/cpp/include/boost/functional/forward_adapter.hpp +501 -0
  673. ray/cpp/include/boost/functional/hash/extensions.hpp +6 -0
  674. ray/cpp/include/boost/functional/hash/hash.hpp +6 -0
  675. ray/cpp/include/boost/functional/hash/hash_fwd.hpp +6 -0
  676. ray/cpp/include/boost/functional/hash.hpp +6 -0
  677. ray/cpp/include/boost/functional/hash_fwd.hpp +6 -0
  678. ray/cpp/include/boost/functional/identity.hpp +61 -0
  679. ray/cpp/include/boost/functional/lightweight_forward_adapter.hpp +288 -0
  680. ray/cpp/include/boost/functional/overloaded_function/config.hpp +50 -0
  681. ray/cpp/include/boost/functional/overloaded_function/detail/base.hpp +86 -0
  682. ray/cpp/include/boost/functional/overloaded_function/detail/function_type.hpp +85 -0
  683. ray/cpp/include/boost/functional/overloaded_function.hpp +311 -0
  684. ray/cpp/include/boost/functional/value_factory.hpp +106 -0
  685. ray/cpp/include/boost/functional.hpp +581 -0
  686. ray/cpp/include/boost/generator_iterator.hpp +85 -0
  687. ray/cpp/include/boost/geometry.hpp +19 -0
  688. ray/cpp/include/boost/get_pointer.hpp +76 -0
  689. ray/cpp/include/boost/gil.hpp +65 -0
  690. ray/cpp/include/boost/hana.hpp +209 -0
  691. ray/cpp/include/boost/histogram.hpp +37 -0
  692. ray/cpp/include/boost/hof.hpp +63 -0
  693. ray/cpp/include/boost/implicit_cast.hpp +38 -0
  694. ray/cpp/include/boost/indirect_reference.hpp +43 -0
  695. ray/cpp/include/boost/integer.hpp +262 -0
  696. ray/cpp/include/boost/integer_fwd.hpp +190 -0
  697. ray/cpp/include/boost/integer_traits.hpp +256 -0
  698. ray/cpp/include/boost/intrusive_ptr.hpp +18 -0
  699. ray/cpp/include/boost/io/detail/buffer_fill.hpp +39 -0
  700. ray/cpp/include/boost/io/detail/ostream_guard.hpp +45 -0
  701. ray/cpp/include/boost/io/ios_state.hpp +485 -0
  702. ray/cpp/include/boost/io/nullstream.hpp +63 -0
  703. ray/cpp/include/boost/io/ostream_joiner.hpp +118 -0
  704. ray/cpp/include/boost/io/ostream_put.hpp +50 -0
  705. ray/cpp/include/boost/io/quoted.hpp +217 -0
  706. ray/cpp/include/boost/io_fwd.hpp +63 -0
  707. ray/cpp/include/boost/is_placeholder.hpp +31 -0
  708. ray/cpp/include/boost/iterator/advance.hpp +95 -0
  709. ray/cpp/include/boost/iterator/counting_iterator.hpp +254 -0
  710. ray/cpp/include/boost/iterator/detail/any_conversion_eater.hpp +21 -0
  711. ray/cpp/include/boost/iterator/detail/config_def.hpp +128 -0
  712. ray/cpp/include/boost/iterator/detail/config_undef.hpp +24 -0
  713. ray/cpp/include/boost/iterator/detail/enable_if.hpp +83 -0
  714. ray/cpp/include/boost/iterator/detail/facade_iterator_category.hpp +194 -0
  715. ray/cpp/include/boost/iterator/detail/minimum_category.hpp +19 -0
  716. ray/cpp/include/boost/iterator/distance.hpp +65 -0
  717. ray/cpp/include/boost/iterator/filter_iterator.hpp +136 -0
  718. ray/cpp/include/boost/iterator/function_input_iterator.hpp +180 -0
  719. ray/cpp/include/boost/iterator/function_output_iterator.hpp +95 -0
  720. ray/cpp/include/boost/iterator/indirect_iterator.hpp +145 -0
  721. ray/cpp/include/boost/iterator/interoperable.hpp +54 -0
  722. ray/cpp/include/boost/iterator/is_lvalue_iterator.hpp +164 -0
  723. ray/cpp/include/boost/iterator/is_readable_iterator.hpp +119 -0
  724. ray/cpp/include/boost/iterator/iterator_adaptor.hpp +358 -0
  725. ray/cpp/include/boost/iterator/iterator_archetypes.hpp +509 -0
  726. ray/cpp/include/boost/iterator/iterator_categories.hpp +216 -0
  727. ray/cpp/include/boost/iterator/iterator_concepts.hpp +273 -0
  728. ray/cpp/include/boost/iterator/iterator_facade.hpp +1062 -0
  729. ray/cpp/include/boost/iterator/iterator_traits.hpp +61 -0
  730. ray/cpp/include/boost/iterator/minimum_category.hpp +95 -0
  731. ray/cpp/include/boost/iterator/new_iterator_tests.hpp +265 -0
  732. ray/cpp/include/boost/iterator/permutation_iterator.hpp +76 -0
  733. ray/cpp/include/boost/iterator/reverse_iterator.hpp +77 -0
  734. ray/cpp/include/boost/iterator/transform_iterator.hpp +179 -0
  735. ray/cpp/include/boost/iterator/zip_iterator.hpp +367 -0
  736. ray/cpp/include/boost/iterator.hpp +22 -0
  737. ray/cpp/include/boost/iterator_adaptors.hpp +13 -0
  738. ray/cpp/include/boost/json.hpp +47 -0
  739. ray/cpp/include/boost/lambda2.hpp +10 -0
  740. ray/cpp/include/boost/leaf.hpp +11 -0
  741. ray/cpp/include/boost/lexical_cast/bad_lexical_cast.hpp +106 -0
  742. ray/cpp/include/boost/lexical_cast/detail/converter_lexical.hpp +498 -0
  743. ray/cpp/include/boost/lexical_cast/detail/converter_lexical_streams.hpp +786 -0
  744. ray/cpp/include/boost/lexical_cast/detail/converter_numeric.hpp +178 -0
  745. ray/cpp/include/boost/lexical_cast/detail/inf_nan.hpp +194 -0
  746. ray/cpp/include/boost/lexical_cast/detail/is_character.hpp +59 -0
  747. ray/cpp/include/boost/lexical_cast/detail/lcast_char_constants.hpp +46 -0
  748. ray/cpp/include/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +294 -0
  749. ray/cpp/include/boost/lexical_cast/detail/widest_char.hpp +43 -0
  750. ray/cpp/include/boost/lexical_cast/lexical_cast_old.hpp +175 -0
  751. ray/cpp/include/boost/lexical_cast/try_lexical_convert.hpp +232 -0
  752. ray/cpp/include/boost/lexical_cast.hpp +105 -0
  753. ray/cpp/include/boost/limits.hpp +146 -0
  754. ray/cpp/include/boost/local_function.hpp +459 -0
  755. ray/cpp/include/boost/locale.hpp +25 -0
  756. ray/cpp/include/boost/make_default.hpp +40 -0
  757. ray/cpp/include/boost/make_shared.hpp +16 -0
  758. ray/cpp/include/boost/make_unique.hpp +13 -0
  759. ray/cpp/include/boost/math_fwd.hpp +42 -0
  760. ray/cpp/include/boost/mem_fn.hpp +24 -0
  761. ray/cpp/include/boost/memory_order.hpp +82 -0
  762. ray/cpp/include/boost/metaparse.hpp +118 -0
  763. ray/cpp/include/boost/move/adl_move_swap.hpp +272 -0
  764. ray/cpp/include/boost/move/algo/adaptive_merge.hpp +363 -0
  765. ray/cpp/include/boost/move/algo/adaptive_sort.hpp +654 -0
  766. ray/cpp/include/boost/move/algo/detail/adaptive_sort_merge.hpp +1538 -0
  767. ray/cpp/include/boost/move/algo/detail/basic_op.hpp +121 -0
  768. ray/cpp/include/boost/move/algo/detail/heap_sort.hpp +121 -0
  769. ray/cpp/include/boost/move/algo/detail/insertion_sort.hpp +137 -0
  770. ray/cpp/include/boost/move/algo/detail/is_sorted.hpp +55 -0
  771. ray/cpp/include/boost/move/algo/detail/merge.hpp +898 -0
  772. ray/cpp/include/boost/move/algo/detail/merge_sort.hpp +216 -0
  773. ray/cpp/include/boost/move/algo/detail/pdqsort.hpp +345 -0
  774. ray/cpp/include/boost/move/algo/detail/search.hpp +79 -0
  775. ray/cpp/include/boost/move/algo/detail/set_difference.hpp +213 -0
  776. ray/cpp/include/boost/move/algo/move.hpp +160 -0
  777. ray/cpp/include/boost/move/algo/predicate.hpp +101 -0
  778. ray/cpp/include/boost/move/algo/unique.hpp +55 -0
  779. ray/cpp/include/boost/move/algorithm.hpp +167 -0
  780. ray/cpp/include/boost/move/core.hpp +515 -0
  781. ray/cpp/include/boost/move/default_delete.hpp +244 -0
  782. ray/cpp/include/boost/move/detail/addressof.hpp +61 -0
  783. ray/cpp/include/boost/move/detail/config_begin.hpp +22 -0
  784. ray/cpp/include/boost/move/detail/config_end.hpp +12 -0
  785. ray/cpp/include/boost/move/detail/destruct_n.hpp +66 -0
  786. ray/cpp/include/boost/move/detail/force_ptr.hpp +36 -0
  787. ray/cpp/include/boost/move/detail/fwd_macros.hpp +893 -0
  788. ray/cpp/include/boost/move/detail/iterator_to_raw_pointer.hpp +59 -0
  789. ray/cpp/include/boost/move/detail/iterator_traits.hpp +177 -0
  790. ray/cpp/include/boost/move/detail/meta_utils.hpp +563 -0
  791. ray/cpp/include/boost/move/detail/meta_utils_core.hpp +137 -0
  792. ray/cpp/include/boost/move/detail/move_helpers.hpp +256 -0
  793. ray/cpp/include/boost/move/detail/nsec_clock.hpp +227 -0
  794. ray/cpp/include/boost/move/detail/placement_new.hpp +30 -0
  795. ray/cpp/include/boost/move/detail/pointer_element.hpp +168 -0
  796. ray/cpp/include/boost/move/detail/reverse_iterator.hpp +178 -0
  797. ray/cpp/include/boost/move/detail/std_ns_begin.hpp +34 -0
  798. ray/cpp/include/boost/move/detail/std_ns_end.hpp +16 -0
  799. ray/cpp/include/boost/move/detail/to_raw_pointer.hpp +45 -0
  800. ray/cpp/include/boost/move/detail/type_traits.hpp +1300 -0
  801. ray/cpp/include/boost/move/detail/unique_ptr_meta_utils.hpp +565 -0
  802. ray/cpp/include/boost/move/detail/workaround.hpp +71 -0
  803. ray/cpp/include/boost/move/iterator.hpp +311 -0
  804. ray/cpp/include/boost/move/make_unique.hpp +248 -0
  805. ray/cpp/include/boost/move/move.hpp +35 -0
  806. ray/cpp/include/boost/move/traits.hpp +77 -0
  807. ray/cpp/include/boost/move/unique_ptr.hpp +871 -0
  808. ray/cpp/include/boost/move/utility.hpp +150 -0
  809. ray/cpp/include/boost/move/utility_core.hpp +321 -0
  810. ray/cpp/include/boost/mp11.hpp +22 -0
  811. ray/cpp/include/boost/mpi.hpp +35 -0
  812. ray/cpp/include/boost/mpl/O1_size.hpp +40 -0
  813. ray/cpp/include/boost/mpl/O1_size_fwd.hpp +24 -0
  814. ray/cpp/include/boost/mpl/accumulate.hpp +39 -0
  815. ray/cpp/include/boost/mpl/advance.hpp +76 -0
  816. ray/cpp/include/boost/mpl/advance_fwd.hpp +28 -0
  817. ray/cpp/include/boost/mpl/alias.hpp +21 -0
  818. ray/cpp/include/boost/mpl/always.hpp +38 -0
  819. ray/cpp/include/boost/mpl/and.hpp +60 -0
  820. ray/cpp/include/boost/mpl/apply.hpp +229 -0
  821. ray/cpp/include/boost/mpl/apply_fwd.hpp +107 -0
  822. ray/cpp/include/boost/mpl/apply_wrap.hpp +234 -0
  823. ray/cpp/include/boost/mpl/arg.hpp +131 -0
  824. ray/cpp/include/boost/mpl/arg_fwd.hpp +28 -0
  825. ray/cpp/include/boost/mpl/arithmetic.hpp +25 -0
  826. ray/cpp/include/boost/mpl/as_sequence.hpp +38 -0
  827. ray/cpp/include/boost/mpl/assert.hpp +459 -0
  828. ray/cpp/include/boost/mpl/at.hpp +52 -0
  829. ray/cpp/include/boost/mpl/at_fwd.hpp +24 -0
  830. ray/cpp/include/boost/mpl/aux_/O1_size_impl.hpp +87 -0
  831. ray/cpp/include/boost/mpl/aux_/adl_barrier.hpp +48 -0
  832. ray/cpp/include/boost/mpl/aux_/advance_backward.hpp +128 -0
  833. ray/cpp/include/boost/mpl/aux_/advance_forward.hpp +127 -0
  834. ray/cpp/include/boost/mpl/aux_/apply_1st.hpp +35 -0
  835. ray/cpp/include/boost/mpl/aux_/arg_typedef.hpp +31 -0
  836. ray/cpp/include/boost/mpl/aux_/arithmetic_op.hpp +92 -0
  837. ray/cpp/include/boost/mpl/aux_/arity.hpp +39 -0
  838. ray/cpp/include/boost/mpl/aux_/arity_spec.hpp +67 -0
  839. ray/cpp/include/boost/mpl/aux_/at_impl.hpp +45 -0
  840. ray/cpp/include/boost/mpl/aux_/back_impl.hpp +43 -0
  841. ray/cpp/include/boost/mpl/aux_/basic_bind.hpp +21 -0
  842. ray/cpp/include/boost/mpl/aux_/begin_end_impl.hpp +101 -0
  843. ray/cpp/include/boost/mpl/aux_/clear_impl.hpp +35 -0
  844. ray/cpp/include/boost/mpl/aux_/common_name_wknd.hpp +34 -0
  845. ray/cpp/include/boost/mpl/aux_/comparison_op.hpp +83 -0
  846. ray/cpp/include/boost/mpl/aux_/config/adl.hpp +40 -0
  847. ray/cpp/include/boost/mpl/aux_/config/arrays.hpp +30 -0
  848. ray/cpp/include/boost/mpl/aux_/config/bcc.hpp +28 -0
  849. ray/cpp/include/boost/mpl/aux_/config/bind.hpp +33 -0
  850. ray/cpp/include/boost/mpl/aux_/config/compiler.hpp +66 -0
  851. ray/cpp/include/boost/mpl/aux_/config/ctps.hpp +30 -0
  852. ray/cpp/include/boost/mpl/aux_/config/dependent_nttp.hpp +35 -0
  853. ray/cpp/include/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp +27 -0
  854. ray/cpp/include/boost/mpl/aux_/config/dtp.hpp +46 -0
  855. ray/cpp/include/boost/mpl/aux_/config/eti.hpp +47 -0
  856. ray/cpp/include/boost/mpl/aux_/config/forwarding.hpp +27 -0
  857. ray/cpp/include/boost/mpl/aux_/config/gcc.hpp +23 -0
  858. ray/cpp/include/boost/mpl/aux_/config/gpu.hpp +35 -0
  859. ray/cpp/include/boost/mpl/aux_/config/has_apply.hpp +32 -0
  860. ray/cpp/include/boost/mpl/aux_/config/has_xxx.hpp +34 -0
  861. ray/cpp/include/boost/mpl/aux_/config/integral.hpp +38 -0
  862. ray/cpp/include/boost/mpl/aux_/config/intel.hpp +21 -0
  863. ray/cpp/include/boost/mpl/aux_/config/lambda.hpp +32 -0
  864. ray/cpp/include/boost/mpl/aux_/config/msvc.hpp +21 -0
  865. ray/cpp/include/boost/mpl/aux_/config/msvc_typename.hpp +26 -0
  866. ray/cpp/include/boost/mpl/aux_/config/nttp.hpp +41 -0
  867. ray/cpp/include/boost/mpl/aux_/config/operators.hpp +34 -0
  868. ray/cpp/include/boost/mpl/aux_/config/overload_resolution.hpp +29 -0
  869. ray/cpp/include/boost/mpl/aux_/config/pp_counter.hpp +26 -0
  870. ray/cpp/include/boost/mpl/aux_/config/preprocessor.hpp +39 -0
  871. ray/cpp/include/boost/mpl/aux_/config/static_constant.hpp +25 -0
  872. ray/cpp/include/boost/mpl/aux_/config/ttp.hpp +41 -0
  873. ray/cpp/include/boost/mpl/aux_/config/typeof.hpp +38 -0
  874. ray/cpp/include/boost/mpl/aux_/config/use_preprocessed.hpp +19 -0
  875. ray/cpp/include/boost/mpl/aux_/config/workaround.hpp +19 -0
  876. ray/cpp/include/boost/mpl/aux_/contains_impl.hpp +61 -0
  877. ray/cpp/include/boost/mpl/aux_/count_args.hpp +105 -0
  878. ray/cpp/include/boost/mpl/aux_/count_impl.hpp +44 -0
  879. ray/cpp/include/boost/mpl/aux_/empty_impl.hpp +43 -0
  880. ray/cpp/include/boost/mpl/aux_/erase_impl.hpp +69 -0
  881. ray/cpp/include/boost/mpl/aux_/erase_key_impl.hpp +32 -0
  882. ray/cpp/include/boost/mpl/aux_/filter_iter.hpp +140 -0
  883. ray/cpp/include/boost/mpl/aux_/find_if_pred.hpp +31 -0
  884. ray/cpp/include/boost/mpl/aux_/fold_impl.hpp +43 -0
  885. ray/cpp/include/boost/mpl/aux_/fold_impl_body.hpp +365 -0
  886. ray/cpp/include/boost/mpl/aux_/fold_op.hpp +37 -0
  887. ray/cpp/include/boost/mpl/aux_/fold_pred.hpp +37 -0
  888. ray/cpp/include/boost/mpl/aux_/front_impl.hpp +41 -0
  889. ray/cpp/include/boost/mpl/aux_/full_lambda.hpp +354 -0
  890. ray/cpp/include/boost/mpl/aux_/has_apply.hpp +32 -0
  891. ray/cpp/include/boost/mpl/aux_/has_begin.hpp +23 -0
  892. ray/cpp/include/boost/mpl/aux_/has_key_impl.hpp +34 -0
  893. ray/cpp/include/boost/mpl/aux_/has_rebind.hpp +99 -0
  894. ray/cpp/include/boost/mpl/aux_/has_size.hpp +23 -0
  895. ray/cpp/include/boost/mpl/aux_/has_tag.hpp +23 -0
  896. ray/cpp/include/boost/mpl/aux_/has_type.hpp +23 -0
  897. ray/cpp/include/boost/mpl/aux_/include_preprocessed.hpp +42 -0
  898. ray/cpp/include/boost/mpl/aux_/insert_impl.hpp +68 -0
  899. ray/cpp/include/boost/mpl/aux_/insert_range_impl.hpp +80 -0
  900. ray/cpp/include/boost/mpl/aux_/inserter_algorithm.hpp +159 -0
  901. ray/cpp/include/boost/mpl/aux_/integral_wrapper.hpp +93 -0
  902. ray/cpp/include/boost/mpl/aux_/is_msvc_eti_arg.hpp +64 -0
  903. ray/cpp/include/boost/mpl/aux_/iter_apply.hpp +47 -0
  904. ray/cpp/include/boost/mpl/aux_/iter_fold_if_impl.hpp +210 -0
  905. ray/cpp/include/boost/mpl/aux_/iter_fold_impl.hpp +42 -0
  906. ray/cpp/include/boost/mpl/aux_/iter_push_front.hpp +36 -0
  907. ray/cpp/include/boost/mpl/aux_/joint_iter.hpp +120 -0
  908. ray/cpp/include/boost/mpl/aux_/lambda_arity_param.hpp +25 -0
  909. ray/cpp/include/boost/mpl/aux_/lambda_no_ctps.hpp +193 -0
  910. ray/cpp/include/boost/mpl/aux_/lambda_spec.hpp +49 -0
  911. ray/cpp/include/boost/mpl/aux_/lambda_support.hpp +169 -0
  912. ray/cpp/include/boost/mpl/aux_/largest_int.hpp +63 -0
  913. ray/cpp/include/boost/mpl/aux_/logical_op.hpp +165 -0
  914. ray/cpp/include/boost/mpl/aux_/msvc_dtw.hpp +68 -0
  915. ray/cpp/include/boost/mpl/aux_/msvc_eti_base.hpp +77 -0
  916. ray/cpp/include/boost/mpl/aux_/msvc_is_class.hpp +58 -0
  917. ray/cpp/include/boost/mpl/aux_/msvc_never_true.hpp +34 -0
  918. ray/cpp/include/boost/mpl/aux_/msvc_type.hpp +62 -0
  919. ray/cpp/include/boost/mpl/aux_/na.hpp +95 -0
  920. ray/cpp/include/boost/mpl/aux_/na_assert.hpp +34 -0
  921. ray/cpp/include/boost/mpl/aux_/na_fwd.hpp +31 -0
  922. ray/cpp/include/boost/mpl/aux_/na_spec.hpp +175 -0
  923. ray/cpp/include/boost/mpl/aux_/nested_type_wknd.hpp +48 -0
  924. ray/cpp/include/boost/mpl/aux_/nttp_decl.hpp +35 -0
  925. ray/cpp/include/boost/mpl/aux_/numeric_cast_utils.hpp +77 -0
  926. ray/cpp/include/boost/mpl/aux_/numeric_op.hpp +315 -0
  927. ray/cpp/include/boost/mpl/aux_/order_impl.hpp +76 -0
  928. ray/cpp/include/boost/mpl/aux_/overload_names.hpp +48 -0
  929. ray/cpp/include/boost/mpl/aux_/partition_op.hpp +58 -0
  930. ray/cpp/include/boost/mpl/aux_/pop_back_impl.hpp +34 -0
  931. ray/cpp/include/boost/mpl/aux_/pop_front_impl.hpp +44 -0
  932. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp +97 -0
  933. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp +97 -0
  934. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/and.hpp +69 -0
  935. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/apply.hpp +169 -0
  936. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp +52 -0
  937. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp +461 -0
  938. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/arg.hpp +117 -0
  939. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp +300 -0
  940. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/bind.hpp +397 -0
  941. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp +46 -0
  942. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/bitand.hpp +147 -0
  943. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/bitor.hpp +147 -0
  944. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp +147 -0
  945. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/deque.hpp +323 -0
  946. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/divides.hpp +146 -0
  947. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp +94 -0
  948. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp +180 -0
  949. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp +558 -0
  950. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/greater.hpp +94 -0
  951. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp +94 -0
  952. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/inherit.hpp +139 -0
  953. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp +133 -0
  954. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp +180 -0
  955. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp +229 -0
  956. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/less.hpp +94 -0
  957. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp +94 -0
  958. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/list.hpp +323 -0
  959. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/list_c.hpp +328 -0
  960. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/map.hpp +323 -0
  961. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/minus.hpp +146 -0
  962. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/modulus.hpp +101 -0
  963. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp +94 -0
  964. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/or.hpp +69 -0
  965. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp +105 -0
  966. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/plus.hpp +146 -0
  967. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/quote.hpp +119 -0
  968. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp +295 -0
  969. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp +295 -0
  970. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/set.hpp +323 -0
  971. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/set_c.hpp +328 -0
  972. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp +99 -0
  973. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp +99 -0
  974. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp +40 -0
  975. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/times.hpp +146 -0
  976. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp +97 -0
  977. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/vector.hpp +323 -0
  978. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp +309 -0
  979. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp +97 -0
  980. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp +97 -0
  981. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp +69 -0
  982. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/apply.hpp +169 -0
  983. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp +52 -0
  984. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp +456 -0
  985. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/arg.hpp +123 -0
  986. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp +306 -0
  987. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/bind.hpp +403 -0
  988. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp +46 -0
  989. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp +147 -0
  990. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp +147 -0
  991. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp +147 -0
  992. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/deque.hpp +323 -0
  993. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/divides.hpp +146 -0
  994. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp +94 -0
  995. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp +180 -0
  996. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp +558 -0
  997. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/greater.hpp +94 -0
  998. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp +94 -0
  999. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp +141 -0
  1000. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp +133 -0
  1001. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp +180 -0
  1002. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp +229 -0
  1003. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/less.hpp +94 -0
  1004. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp +94 -0
  1005. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/list.hpp +323 -0
  1006. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp +328 -0
  1007. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/map.hpp +323 -0
  1008. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/minus.hpp +146 -0
  1009. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp +101 -0
  1010. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp +94 -0
  1011. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp +69 -0
  1012. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp +105 -0
  1013. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/plus.hpp +146 -0
  1014. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/quote.hpp +11 -0
  1015. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp +295 -0
  1016. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp +295 -0
  1017. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/set.hpp +323 -0
  1018. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp +328 -0
  1019. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp +99 -0
  1020. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp +99 -0
  1021. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp +40 -0
  1022. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/times.hpp +146 -0
  1023. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp +97 -0
  1024. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/vector.hpp +323 -0
  1025. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp +309 -0
  1026. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp +97 -0
  1027. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp +97 -0
  1028. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp +69 -0
  1029. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp +169 -0
  1030. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp +52 -0
  1031. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp +456 -0
  1032. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp +117 -0
  1033. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp +300 -0
  1034. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp +397 -0
  1035. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp +46 -0
  1036. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp +147 -0
  1037. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp +147 -0
  1038. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp +147 -0
  1039. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp +323 -0
  1040. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp +146 -0
  1041. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp +94 -0
  1042. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp +180 -0
  1043. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp +558 -0
  1044. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp +94 -0
  1045. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp +94 -0
  1046. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp +139 -0
  1047. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp +133 -0
  1048. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp +180 -0
  1049. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp +229 -0
  1050. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp +94 -0
  1051. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp +94 -0
  1052. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp +323 -0
  1053. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp +328 -0
  1054. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp +323 -0
  1055. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp +146 -0
  1056. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp +101 -0
  1057. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp +94 -0
  1058. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp +69 -0
  1059. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp +105 -0
  1060. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp +146 -0
  1061. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp +11 -0
  1062. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp +295 -0
  1063. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp +295 -0
  1064. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp +323 -0
  1065. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp +328 -0
  1066. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp +99 -0
  1067. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp +99 -0
  1068. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp +40 -0
  1069. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp +146 -0
  1070. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp +97 -0
  1071. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp +323 -0
  1072. ray/cpp/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp +309 -0
  1073. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp +97 -0
  1074. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp +97 -0
  1075. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/and.hpp +69 -0
  1076. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/apply.hpp +169 -0
  1077. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp +52 -0
  1078. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp +84 -0
  1079. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/arg.hpp +123 -0
  1080. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp +406 -0
  1081. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/bind.hpp +515 -0
  1082. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp +53 -0
  1083. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/bitand.hpp +147 -0
  1084. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/bitor.hpp +147 -0
  1085. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp +147 -0
  1086. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/deque.hpp +323 -0
  1087. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/divides.hpp +146 -0
  1088. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp +94 -0
  1089. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp +180 -0
  1090. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp +536 -0
  1091. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/greater.hpp +94 -0
  1092. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp +94 -0
  1093. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/inherit.hpp +141 -0
  1094. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp +133 -0
  1095. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp +180 -0
  1096. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp +229 -0
  1097. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/less.hpp +94 -0
  1098. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp +94 -0
  1099. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/list.hpp +323 -0
  1100. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/list_c.hpp +328 -0
  1101. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/map.hpp +323 -0
  1102. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/minus.hpp +146 -0
  1103. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/modulus.hpp +101 -0
  1104. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp +94 -0
  1105. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/or.hpp +69 -0
  1106. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp +105 -0
  1107. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/plus.hpp +146 -0
  1108. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/quote.hpp +123 -0
  1109. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp +231 -0
  1110. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp +231 -0
  1111. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/set.hpp +323 -0
  1112. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/set_c.hpp +328 -0
  1113. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp +99 -0
  1114. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp +99 -0
  1115. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp +11 -0
  1116. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/times.hpp +146 -0
  1117. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp +94 -0
  1118. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/vector.hpp +323 -0
  1119. ray/cpp/include/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp +309 -0
  1120. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp +97 -0
  1121. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp +97 -0
  1122. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/and.hpp +69 -0
  1123. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp +169 -0
  1124. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp +52 -0
  1125. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp +84 -0
  1126. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp +123 -0
  1127. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp +440 -0
  1128. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp +561 -0
  1129. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp +52 -0
  1130. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/bitand.hpp +147 -0
  1131. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/bitor.hpp +147 -0
  1132. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp +147 -0
  1133. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/deque.hpp +323 -0
  1134. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/divides.hpp +146 -0
  1135. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp +94 -0
  1136. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp +180 -0
  1137. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp +558 -0
  1138. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp +94 -0
  1139. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp +94 -0
  1140. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/inherit.hpp +141 -0
  1141. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp +133 -0
  1142. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp +180 -0
  1143. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp +229 -0
  1144. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/less.hpp +94 -0
  1145. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp +94 -0
  1146. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/list.hpp +323 -0
  1147. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/list_c.hpp +328 -0
  1148. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/map.hpp +323 -0
  1149. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp +146 -0
  1150. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/modulus.hpp +101 -0
  1151. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp +94 -0
  1152. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/or.hpp +69 -0
  1153. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp +105 -0
  1154. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp +146 -0
  1155. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp +123 -0
  1156. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp +231 -0
  1157. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp +231 -0
  1158. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/set.hpp +323 -0
  1159. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/set_c.hpp +328 -0
  1160. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp +99 -0
  1161. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp +99 -0
  1162. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +97 -0
  1163. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/times.hpp +146 -0
  1164. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp +94 -0
  1165. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp +323 -0
  1166. ray/cpp/include/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp +309 -0
  1167. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp +132 -0
  1168. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp +132 -0
  1169. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp +73 -0
  1170. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/apply.hpp +166 -0
  1171. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp +46 -0
  1172. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp +247 -0
  1173. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/arg.hpp +123 -0
  1174. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp +328 -0
  1175. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/bind.hpp +432 -0
  1176. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp +46 -0
  1177. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp +149 -0
  1178. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp +149 -0
  1179. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp +149 -0
  1180. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/deque.hpp +556 -0
  1181. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp +148 -0
  1182. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp +102 -0
  1183. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp +293 -0
  1184. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp +554 -0
  1185. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/greater.hpp +102 -0
  1186. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp +102 -0
  1187. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp +166 -0
  1188. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp +133 -0
  1189. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp +293 -0
  1190. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp +229 -0
  1191. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/less.hpp +102 -0
  1192. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp +102 -0
  1193. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/list.hpp +556 -0
  1194. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp +534 -0
  1195. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/map.hpp +556 -0
  1196. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp +148 -0
  1197. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp +115 -0
  1198. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp +102 -0
  1199. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp +73 -0
  1200. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp +105 -0
  1201. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp +148 -0
  1202. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/quote.hpp +11 -0
  1203. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp +343 -0
  1204. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp +343 -0
  1205. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/set.hpp +556 -0
  1206. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp +534 -0
  1207. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp +114 -0
  1208. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp +114 -0
  1209. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp +46 -0
  1210. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp +148 -0
  1211. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp +109 -0
  1212. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/vector.hpp +556 -0
  1213. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp +534 -0
  1214. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp +97 -0
  1215. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp +97 -0
  1216. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp +71 -0
  1217. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/apply.hpp +160 -0
  1218. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp +46 -0
  1219. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp +138 -0
  1220. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/arg.hpp +123 -0
  1221. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp +328 -0
  1222. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/bind.hpp +432 -0
  1223. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp +46 -0
  1224. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp +151 -0
  1225. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp +151 -0
  1226. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp +151 -0
  1227. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/deque.hpp +556 -0
  1228. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp +150 -0
  1229. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp +102 -0
  1230. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp +245 -0
  1231. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp +554 -0
  1232. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/greater.hpp +102 -0
  1233. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp +102 -0
  1234. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp +166 -0
  1235. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp +133 -0
  1236. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp +245 -0
  1237. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp +229 -0
  1238. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/less.hpp +102 -0
  1239. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp +102 -0
  1240. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/list.hpp +556 -0
  1241. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp +534 -0
  1242. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/map.hpp +556 -0
  1243. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp +150 -0
  1244. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp +115 -0
  1245. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp +102 -0
  1246. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp +71 -0
  1247. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp +105 -0
  1248. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp +150 -0
  1249. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/quote.hpp +116 -0
  1250. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp +295 -0
  1251. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp +295 -0
  1252. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/set.hpp +556 -0
  1253. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp +534 -0
  1254. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp +114 -0
  1255. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp +114 -0
  1256. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp +46 -0
  1257. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp +150 -0
  1258. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp +109 -0
  1259. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/vector.hpp +556 -0
  1260. ray/cpp/include/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp +534 -0
  1261. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp +97 -0
  1262. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp +97 -0
  1263. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp +69 -0
  1264. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/apply.hpp +169 -0
  1265. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp +52 -0
  1266. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp +456 -0
  1267. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/arg.hpp +123 -0
  1268. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp +440 -0
  1269. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/bind.hpp +561 -0
  1270. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp +52 -0
  1271. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp +147 -0
  1272. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp +147 -0
  1273. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp +147 -0
  1274. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/deque.hpp +323 -0
  1275. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/divides.hpp +146 -0
  1276. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp +94 -0
  1277. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp +180 -0
  1278. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp +554 -0
  1279. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/greater.hpp +94 -0
  1280. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp +94 -0
  1281. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp +141 -0
  1282. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp +133 -0
  1283. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp +180 -0
  1284. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp +229 -0
  1285. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/less.hpp +94 -0
  1286. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp +94 -0
  1287. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/list.hpp +323 -0
  1288. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp +328 -0
  1289. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/map.hpp +323 -0
  1290. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/minus.hpp +146 -0
  1291. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp +101 -0
  1292. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp +94 -0
  1293. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp +69 -0
  1294. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp +105 -0
  1295. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/plus.hpp +146 -0
  1296. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/quote.hpp +123 -0
  1297. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp +231 -0
  1298. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp +231 -0
  1299. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/set.hpp +323 -0
  1300. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp +328 -0
  1301. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp +99 -0
  1302. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp +99 -0
  1303. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp +11 -0
  1304. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/times.hpp +146 -0
  1305. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp +94 -0
  1306. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/vector.hpp +323 -0
  1307. ray/cpp/include/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp +309 -0
  1308. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp +97 -0
  1309. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp +97 -0
  1310. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp +73 -0
  1311. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp +268 -0
  1312. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp +50 -0
  1313. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp +78 -0
  1314. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp +123 -0
  1315. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp +486 -0
  1316. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp +590 -0
  1317. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp +52 -0
  1318. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp +134 -0
  1319. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp +134 -0
  1320. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp +134 -0
  1321. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp +556 -0
  1322. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp +133 -0
  1323. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp +94 -0
  1324. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp +245 -0
  1325. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp +554 -0
  1326. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp +94 -0
  1327. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp +94 -0
  1328. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp +166 -0
  1329. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp +133 -0
  1330. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp +245 -0
  1331. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp +229 -0
  1332. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/less.hpp +94 -0
  1333. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp +94 -0
  1334. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/list.hpp +556 -0
  1335. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp +534 -0
  1336. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/map.hpp +556 -0
  1337. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp +133 -0
  1338. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp +101 -0
  1339. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp +94 -0
  1340. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp +73 -0
  1341. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp +105 -0
  1342. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp +133 -0
  1343. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp +116 -0
  1344. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp +295 -0
  1345. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp +295 -0
  1346. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/set.hpp +556 -0
  1347. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp +534 -0
  1348. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp +99 -0
  1349. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp +99 -0
  1350. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp +40 -0
  1351. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp +133 -0
  1352. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp +109 -0
  1353. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp +556 -0
  1354. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp +534 -0
  1355. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp +97 -0
  1356. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp +97 -0
  1357. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/and.hpp +69 -0
  1358. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp +169 -0
  1359. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp +52 -0
  1360. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp +84 -0
  1361. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp +123 -0
  1362. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp +369 -0
  1363. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp +466 -0
  1364. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp +52 -0
  1365. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp +157 -0
  1366. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp +157 -0
  1367. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp +157 -0
  1368. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp +323 -0
  1369. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp +156 -0
  1370. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp +98 -0
  1371. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp +180 -0
  1372. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp +554 -0
  1373. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp +98 -0
  1374. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp +98 -0
  1375. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp +141 -0
  1376. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp +133 -0
  1377. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp +180 -0
  1378. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp +229 -0
  1379. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/less.hpp +98 -0
  1380. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp +98 -0
  1381. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/list.hpp +323 -0
  1382. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp +328 -0
  1383. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/map.hpp +323 -0
  1384. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp +156 -0
  1385. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp +111 -0
  1386. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp +98 -0
  1387. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/or.hpp +69 -0
  1388. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp +105 -0
  1389. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp +156 -0
  1390. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp +11 -0
  1391. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp +231 -0
  1392. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp +231 -0
  1393. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/set.hpp +323 -0
  1394. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp +328 -0
  1395. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp +110 -0
  1396. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp +110 -0
  1397. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp +40 -0
  1398. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/times.hpp +156 -0
  1399. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp +94 -0
  1400. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp +323 -0
  1401. ray/cpp/include/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp +309 -0
  1402. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp +97 -0
  1403. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp +97 -0
  1404. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/and.hpp +64 -0
  1405. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/apply.hpp +139 -0
  1406. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp +52 -0
  1407. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp +84 -0
  1408. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/arg.hpp +123 -0
  1409. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp +440 -0
  1410. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/bind.hpp +561 -0
  1411. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp +52 -0
  1412. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/bitand.hpp +142 -0
  1413. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/bitor.hpp +142 -0
  1414. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/bitxor.hpp +142 -0
  1415. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/deque.hpp +323 -0
  1416. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/divides.hpp +141 -0
  1417. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/equal_to.hpp +92 -0
  1418. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp +180 -0
  1419. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp +554 -0
  1420. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/greater.hpp +92 -0
  1421. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp +92 -0
  1422. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/inherit.hpp +125 -0
  1423. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp +133 -0
  1424. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp +180 -0
  1425. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp +228 -0
  1426. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/less.hpp +92 -0
  1427. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/less_equal.hpp +92 -0
  1428. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/list.hpp +323 -0
  1429. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/list_c.hpp +328 -0
  1430. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/map.hpp +323 -0
  1431. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/minus.hpp +141 -0
  1432. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/modulus.hpp +99 -0
  1433. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp +92 -0
  1434. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/or.hpp +64 -0
  1435. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp +105 -0
  1436. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/plus.hpp +141 -0
  1437. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/quote.hpp +123 -0
  1438. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp +231 -0
  1439. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp +231 -0
  1440. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/set.hpp +323 -0
  1441. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/set_c.hpp +328 -0
  1442. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/shift_left.hpp +97 -0
  1443. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/shift_right.hpp +97 -0
  1444. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/template_arity.hpp +11 -0
  1445. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/times.hpp +141 -0
  1446. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp +94 -0
  1447. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/vector.hpp +323 -0
  1448. ray/cpp/include/boost/mpl/aux_/preprocessed/plain/vector_c.hpp +309 -0
  1449. ray/cpp/include/boost/mpl/aux_/preprocessor/add.hpp +65 -0
  1450. ray/cpp/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp +105 -0
  1451. ray/cpp/include/boost/mpl/aux_/preprocessor/default_params.hpp +67 -0
  1452. ray/cpp/include/boost/mpl/aux_/preprocessor/enum.hpp +74 -0
  1453. ray/cpp/include/boost/mpl/aux_/preprocessor/ext_params.hpp +78 -0
  1454. ray/cpp/include/boost/mpl/aux_/preprocessor/filter_params.hpp +28 -0
  1455. ray/cpp/include/boost/mpl/aux_/preprocessor/is_seq.hpp +54 -0
  1456. ray/cpp/include/boost/mpl/aux_/preprocessor/params.hpp +77 -0
  1457. ray/cpp/include/boost/mpl/aux_/preprocessor/partial_spec_params.hpp +32 -0
  1458. ray/cpp/include/boost/mpl/aux_/preprocessor/range.hpp +30 -0
  1459. ray/cpp/include/boost/mpl/aux_/preprocessor/repeat.hpp +51 -0
  1460. ray/cpp/include/boost/mpl/aux_/preprocessor/sub.hpp +65 -0
  1461. ray/cpp/include/boost/mpl/aux_/preprocessor/token_equal.hpp +56 -0
  1462. ray/cpp/include/boost/mpl/aux_/preprocessor/tuple.hpp +29 -0
  1463. ray/cpp/include/boost/mpl/aux_/ptr_to_ref.hpp +46 -0
  1464. ray/cpp/include/boost/mpl/aux_/push_back_impl.hpp +70 -0
  1465. ray/cpp/include/boost/mpl/aux_/push_front_impl.hpp +71 -0
  1466. ray/cpp/include/boost/mpl/aux_/range_c/O1_size.hpp +31 -0
  1467. ray/cpp/include/boost/mpl/aux_/range_c/back.hpp +34 -0
  1468. ray/cpp/include/boost/mpl/aux_/range_c/empty.hpp +37 -0
  1469. ray/cpp/include/boost/mpl/aux_/range_c/front.hpp +33 -0
  1470. ray/cpp/include/boost/mpl/aux_/range_c/iterator.hpp +106 -0
  1471. ray/cpp/include/boost/mpl/aux_/range_c/size.hpp +37 -0
  1472. ray/cpp/include/boost/mpl/aux_/range_c/tag.hpp +24 -0
  1473. ray/cpp/include/boost/mpl/aux_/reverse_fold_impl.hpp +44 -0
  1474. ray/cpp/include/boost/mpl/aux_/reverse_fold_impl_body.hpp +412 -0
  1475. ray/cpp/include/boost/mpl/aux_/reverse_iter_fold_impl.hpp +43 -0
  1476. ray/cpp/include/boost/mpl/aux_/sequence_wrapper.hpp +292 -0
  1477. ray/cpp/include/boost/mpl/aux_/shift_op.hpp +87 -0
  1478. ray/cpp/include/boost/mpl/aux_/single_element_iter.hpp +118 -0
  1479. ray/cpp/include/boost/mpl/aux_/size_impl.hpp +52 -0
  1480. ray/cpp/include/boost/mpl/aux_/sort_impl.hpp +121 -0
  1481. ray/cpp/include/boost/mpl/aux_/static_cast.hpp +27 -0
  1482. ray/cpp/include/boost/mpl/aux_/template_arity.hpp +189 -0
  1483. ray/cpp/include/boost/mpl/aux_/template_arity_fwd.hpp +23 -0
  1484. ray/cpp/include/boost/mpl/aux_/test/assert.hpp +29 -0
  1485. ray/cpp/include/boost/mpl/aux_/test/data.hpp +25 -0
  1486. ray/cpp/include/boost/mpl/aux_/test/test_case.hpp +21 -0
  1487. ray/cpp/include/boost/mpl/aux_/test.hpp +32 -0
  1488. ray/cpp/include/boost/mpl/aux_/traits_lambda_spec.hpp +63 -0
  1489. ray/cpp/include/boost/mpl/aux_/transform_iter.hpp +123 -0
  1490. ray/cpp/include/boost/mpl/aux_/type_wrapper.hpp +47 -0
  1491. ray/cpp/include/boost/mpl/aux_/unwrap.hpp +51 -0
  1492. ray/cpp/include/boost/mpl/aux_/value_wknd.hpp +89 -0
  1493. ray/cpp/include/boost/mpl/aux_/yes_no.hpp +59 -0
  1494. ray/cpp/include/boost/mpl/back.hpp +39 -0
  1495. ray/cpp/include/boost/mpl/back_fwd.hpp +24 -0
  1496. ray/cpp/include/boost/mpl/back_inserter.hpp +34 -0
  1497. ray/cpp/include/boost/mpl/base.hpp +35 -0
  1498. ray/cpp/include/boost/mpl/begin.hpp +19 -0
  1499. ray/cpp/include/boost/mpl/begin_end.hpp +57 -0
  1500. ray/cpp/include/boost/mpl/begin_end_fwd.hpp +27 -0
  1501. ray/cpp/include/boost/mpl/bind.hpp +551 -0
  1502. ray/cpp/include/boost/mpl/bind_fwd.hpp +99 -0
  1503. ray/cpp/include/boost/mpl/bitand.hpp +45 -0
  1504. ray/cpp/include/boost/mpl/bitor.hpp +45 -0
  1505. ray/cpp/include/boost/mpl/bitwise.hpp +24 -0
  1506. ray/cpp/include/boost/mpl/bitxor.hpp +23 -0
  1507. ray/cpp/include/boost/mpl/bool.hpp +39 -0
  1508. ray/cpp/include/boost/mpl/bool_fwd.hpp +33 -0
  1509. ray/cpp/include/boost/mpl/char.hpp +22 -0
  1510. ray/cpp/include/boost/mpl/char_fwd.hpp +27 -0
  1511. ray/cpp/include/boost/mpl/clear.hpp +39 -0
  1512. ray/cpp/include/boost/mpl/clear_fwd.hpp +24 -0
  1513. ray/cpp/include/boost/mpl/comparison.hpp +24 -0
  1514. ray/cpp/include/boost/mpl/contains.hpp +41 -0
  1515. ray/cpp/include/boost/mpl/contains_fwd.hpp +25 -0
  1516. ray/cpp/include/boost/mpl/copy.hpp +58 -0
  1517. ray/cpp/include/boost/mpl/copy_if.hpp +96 -0
  1518. ray/cpp/include/boost/mpl/count.hpp +40 -0
  1519. ray/cpp/include/boost/mpl/count_fwd.hpp +24 -0
  1520. ray/cpp/include/boost/mpl/count_if.hpp +79 -0
  1521. ray/cpp/include/boost/mpl/deque.hpp +58 -0
  1522. ray/cpp/include/boost/mpl/deref.hpp +41 -0
  1523. ray/cpp/include/boost/mpl/distance.hpp +78 -0
  1524. ray/cpp/include/boost/mpl/distance_fwd.hpp +28 -0
  1525. ray/cpp/include/boost/mpl/divides.hpp +21 -0
  1526. ray/cpp/include/boost/mpl/empty.hpp +39 -0
  1527. ray/cpp/include/boost/mpl/empty_base.hpp +63 -0
  1528. ray/cpp/include/boost/mpl/empty_fwd.hpp +24 -0
  1529. ray/cpp/include/boost/mpl/empty_sequence.hpp +43 -0
  1530. ray/cpp/include/boost/mpl/end.hpp +19 -0
  1531. ray/cpp/include/boost/mpl/equal.hpp +112 -0
  1532. ray/cpp/include/boost/mpl/equal_to.hpp +21 -0
  1533. ray/cpp/include/boost/mpl/erase.hpp +42 -0
  1534. ray/cpp/include/boost/mpl/erase_fwd.hpp +24 -0
  1535. ray/cpp/include/boost/mpl/erase_key.hpp +41 -0
  1536. ray/cpp/include/boost/mpl/erase_key_fwd.hpp +24 -0
  1537. ray/cpp/include/boost/mpl/eval_if.hpp +71 -0
  1538. ray/cpp/include/boost/mpl/filter_view.hpp +46 -0
  1539. ray/cpp/include/boost/mpl/find.hpp +38 -0
  1540. ray/cpp/include/boost/mpl/find_if.hpp +50 -0
  1541. ray/cpp/include/boost/mpl/fold.hpp +48 -0
  1542. ray/cpp/include/boost/mpl/for_each.hpp +123 -0
  1543. ray/cpp/include/boost/mpl/front.hpp +39 -0
  1544. ray/cpp/include/boost/mpl/front_fwd.hpp +24 -0
  1545. ray/cpp/include/boost/mpl/front_inserter.hpp +33 -0
  1546. ray/cpp/include/boost/mpl/get_tag.hpp +26 -0
  1547. ray/cpp/include/boost/mpl/greater.hpp +21 -0
  1548. ray/cpp/include/boost/mpl/greater_equal.hpp +21 -0
  1549. ray/cpp/include/boost/mpl/has_key.hpp +41 -0
  1550. ray/cpp/include/boost/mpl/has_key_fwd.hpp +25 -0
  1551. ray/cpp/include/boost/mpl/has_xxx.hpp +647 -0
  1552. ray/cpp/include/boost/mpl/identity.hpp +45 -0
  1553. ray/cpp/include/boost/mpl/if.hpp +135 -0
  1554. ray/cpp/include/boost/mpl/index_if.hpp +60 -0
  1555. ray/cpp/include/boost/mpl/index_of.hpp +39 -0
  1556. ray/cpp/include/boost/mpl/inherit.hpp +229 -0
  1557. ray/cpp/include/boost/mpl/inherit_linearly.hpp +39 -0
  1558. ray/cpp/include/boost/mpl/insert.hpp +41 -0
  1559. ray/cpp/include/boost/mpl/insert_fwd.hpp +24 -0
  1560. ray/cpp/include/boost/mpl/insert_range.hpp +41 -0
  1561. ray/cpp/include/boost/mpl/insert_range_fwd.hpp +24 -0
  1562. ray/cpp/include/boost/mpl/inserter.hpp +32 -0
  1563. ray/cpp/include/boost/mpl/int.hpp +22 -0
  1564. ray/cpp/include/boost/mpl/int_fwd.hpp +27 -0
  1565. ray/cpp/include/boost/mpl/integral_c.hpp +51 -0
  1566. ray/cpp/include/boost/mpl/integral_c_fwd.hpp +32 -0
  1567. ray/cpp/include/boost/mpl/integral_c_tag.hpp +26 -0
  1568. ray/cpp/include/boost/mpl/is_placeholder.hpp +67 -0
  1569. ray/cpp/include/boost/mpl/is_sequence.hpp +112 -0
  1570. ray/cpp/include/boost/mpl/iter_fold.hpp +49 -0
  1571. ray/cpp/include/boost/mpl/iter_fold_if.hpp +117 -0
  1572. ray/cpp/include/boost/mpl/iterator_category.hpp +35 -0
  1573. ray/cpp/include/boost/mpl/iterator_range.hpp +42 -0
  1574. ray/cpp/include/boost/mpl/iterator_tags.hpp +27 -0
  1575. ray/cpp/include/boost/mpl/joint_view.hpp +65 -0
  1576. ray/cpp/include/boost/mpl/key_type.hpp +42 -0
  1577. ray/cpp/include/boost/mpl/key_type_fwd.hpp +25 -0
  1578. ray/cpp/include/boost/mpl/lambda.hpp +29 -0
  1579. ray/cpp/include/boost/mpl/lambda_fwd.hpp +57 -0
  1580. ray/cpp/include/boost/mpl/less.hpp +21 -0
  1581. ray/cpp/include/boost/mpl/less_equal.hpp +21 -0
  1582. ray/cpp/include/boost/mpl/limits/arity.hpp +21 -0
  1583. ray/cpp/include/boost/mpl/limits/list.hpp +21 -0
  1584. ray/cpp/include/boost/mpl/limits/map.hpp +21 -0
  1585. ray/cpp/include/boost/mpl/limits/set.hpp +21 -0
  1586. ray/cpp/include/boost/mpl/limits/string.hpp +21 -0
  1587. ray/cpp/include/boost/mpl/limits/unrolling.hpp +21 -0
  1588. ray/cpp/include/boost/mpl/limits/vector.hpp +21 -0
  1589. ray/cpp/include/boost/mpl/list/aux_/O1_size.hpp +33 -0
  1590. ray/cpp/include/boost/mpl/list/aux_/begin_end.hpp +44 -0
  1591. ray/cpp/include/boost/mpl/list/aux_/clear.hpp +34 -0
  1592. ray/cpp/include/boost/mpl/list/aux_/empty.hpp +34 -0
  1593. ray/cpp/include/boost/mpl/list/aux_/front.hpp +33 -0
  1594. ray/cpp/include/boost/mpl/list/aux_/include_preprocessed.hpp +35 -0
  1595. ray/cpp/include/boost/mpl/list/aux_/item.hpp +55 -0
  1596. ray/cpp/include/boost/mpl/list/aux_/iterator.hpp +76 -0
  1597. ray/cpp/include/boost/mpl/list/aux_/numbered.hpp +68 -0
  1598. ray/cpp/include/boost/mpl/list/aux_/numbered_c.hpp +71 -0
  1599. ray/cpp/include/boost/mpl/list/aux_/pop_front.hpp +34 -0
  1600. ray/cpp/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp +149 -0
  1601. ray/cpp/include/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp +164 -0
  1602. ray/cpp/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp +169 -0
  1603. ray/cpp/include/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp +173 -0
  1604. ray/cpp/include/boost/mpl/list/aux_/preprocessed/plain/list30.hpp +189 -0
  1605. ray/cpp/include/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp +183 -0
  1606. ray/cpp/include/boost/mpl/list/aux_/preprocessed/plain/list40.hpp +209 -0
  1607. ray/cpp/include/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp +193 -0
  1608. ray/cpp/include/boost/mpl/list/aux_/preprocessed/plain/list50.hpp +229 -0
  1609. ray/cpp/include/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp +203 -0
  1610. ray/cpp/include/boost/mpl/list/aux_/push_back.hpp +36 -0
  1611. ray/cpp/include/boost/mpl/list/aux_/push_front.hpp +39 -0
  1612. ray/cpp/include/boost/mpl/list/aux_/size.hpp +33 -0
  1613. ray/cpp/include/boost/mpl/list/aux_/tag.hpp +24 -0
  1614. ray/cpp/include/boost/mpl/list/list0.hpp +42 -0
  1615. ray/cpp/include/boost/mpl/list/list0_c.hpp +31 -0
  1616. ray/cpp/include/boost/mpl/list/list10.hpp +43 -0
  1617. ray/cpp/include/boost/mpl/list/list10_c.hpp +43 -0
  1618. ray/cpp/include/boost/mpl/list/list20.hpp +43 -0
  1619. ray/cpp/include/boost/mpl/list/list20_c.hpp +43 -0
  1620. ray/cpp/include/boost/mpl/list/list30.hpp +43 -0
  1621. ray/cpp/include/boost/mpl/list/list30_c.hpp +43 -0
  1622. ray/cpp/include/boost/mpl/list/list40.hpp +43 -0
  1623. ray/cpp/include/boost/mpl/list/list40_c.hpp +43 -0
  1624. ray/cpp/include/boost/mpl/list/list50.hpp +43 -0
  1625. ray/cpp/include/boost/mpl/list/list50_c.hpp +43 -0
  1626. ray/cpp/include/boost/mpl/list.hpp +57 -0
  1627. ray/cpp/include/boost/mpl/list_c.hpp +60 -0
  1628. ray/cpp/include/boost/mpl/logical.hpp +21 -0
  1629. ray/cpp/include/boost/mpl/long.hpp +22 -0
  1630. ray/cpp/include/boost/mpl/long_fwd.hpp +27 -0
  1631. ray/cpp/include/boost/mpl/lower_bound.hpp +143 -0
  1632. ray/cpp/include/boost/mpl/map/aux_/at_impl.hpp +144 -0
  1633. ray/cpp/include/boost/mpl/map/aux_/begin_end_impl.hpp +50 -0
  1634. ray/cpp/include/boost/mpl/map/aux_/clear_impl.hpp +35 -0
  1635. ray/cpp/include/boost/mpl/map/aux_/contains_impl.hpp +43 -0
  1636. ray/cpp/include/boost/mpl/map/aux_/empty_impl.hpp +34 -0
  1637. ray/cpp/include/boost/mpl/map/aux_/erase_impl.hpp +41 -0
  1638. ray/cpp/include/boost/mpl/map/aux_/erase_key_impl.hpp +53 -0
  1639. ray/cpp/include/boost/mpl/map/aux_/has_key_impl.hpp +44 -0
  1640. ray/cpp/include/boost/mpl/map/aux_/include_preprocessed.hpp +53 -0
  1641. ray/cpp/include/boost/mpl/map/aux_/insert_impl.hpp +72 -0
  1642. ray/cpp/include/boost/mpl/map/aux_/insert_range_impl.hpp +41 -0
  1643. ray/cpp/include/boost/mpl/map/aux_/item.hpp +141 -0
  1644. ray/cpp/include/boost/mpl/map/aux_/iterator.hpp +169 -0
  1645. ray/cpp/include/boost/mpl/map/aux_/key_type_impl.hpp +36 -0
  1646. ray/cpp/include/boost/mpl/map/aux_/map0.hpp +74 -0
  1647. ray/cpp/include/boost/mpl/map/aux_/numbered.hpp +110 -0
  1648. ray/cpp/include/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp +350 -0
  1649. ray/cpp/include/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp +370 -0
  1650. ray/cpp/include/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp +390 -0
  1651. ray/cpp/include/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp +410 -0
  1652. ray/cpp/include/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp +430 -0
  1653. ray/cpp/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp +290 -0
  1654. ray/cpp/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp +310 -0
  1655. ray/cpp/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp +330 -0
  1656. ray/cpp/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp +350 -0
  1657. ray/cpp/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp +370 -0
  1658. ray/cpp/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp +150 -0
  1659. ray/cpp/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp +170 -0
  1660. ray/cpp/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp +190 -0
  1661. ray/cpp/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp +210 -0
  1662. ray/cpp/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp +230 -0
  1663. ray/cpp/include/boost/mpl/map/aux_/size_impl.hpp +33 -0
  1664. ray/cpp/include/boost/mpl/map/aux_/tag.hpp +24 -0
  1665. ray/cpp/include/boost/mpl/map/aux_/value_type_impl.hpp +36 -0
  1666. ray/cpp/include/boost/mpl/map/map0.hpp +37 -0
  1667. ray/cpp/include/boost/mpl/map/map10.hpp +44 -0
  1668. ray/cpp/include/boost/mpl/map/map20.hpp +44 -0
  1669. ray/cpp/include/boost/mpl/map/map30.hpp +44 -0
  1670. ray/cpp/include/boost/mpl/map/map40.hpp +44 -0
  1671. ray/cpp/include/boost/mpl/map/map50.hpp +44 -0
  1672. ray/cpp/include/boost/mpl/map.hpp +57 -0
  1673. ray/cpp/include/boost/mpl/math/fixed_c.hpp +36 -0
  1674. ray/cpp/include/boost/mpl/math/is_even.hpp +54 -0
  1675. ray/cpp/include/boost/mpl/math/rational_c.hpp +37 -0
  1676. ray/cpp/include/boost/mpl/max.hpp +19 -0
  1677. ray/cpp/include/boost/mpl/max_element.hpp +72 -0
  1678. ray/cpp/include/boost/mpl/min.hpp +19 -0
  1679. ray/cpp/include/boost/mpl/min_element.hpp +40 -0
  1680. ray/cpp/include/boost/mpl/min_max.hpp +46 -0
  1681. ray/cpp/include/boost/mpl/minus.hpp +21 -0
  1682. ray/cpp/include/boost/mpl/modulus.hpp +22 -0
  1683. ray/cpp/include/boost/mpl/multiplies.hpp +53 -0
  1684. ray/cpp/include/boost/mpl/multiset/aux_/count_impl.hpp +82 -0
  1685. ray/cpp/include/boost/mpl/multiset/aux_/insert_impl.hpp +34 -0
  1686. ray/cpp/include/boost/mpl/multiset/aux_/item.hpp +114 -0
  1687. ray/cpp/include/boost/mpl/multiset/aux_/multiset0.hpp +34 -0
  1688. ray/cpp/include/boost/mpl/multiset/aux_/tag.hpp +23 -0
  1689. ray/cpp/include/boost/mpl/multiset/multiset0.hpp +36 -0
  1690. ray/cpp/include/boost/mpl/negate.hpp +81 -0
  1691. ray/cpp/include/boost/mpl/next.hpp +19 -0
  1692. ray/cpp/include/boost/mpl/next_prior.hpp +49 -0
  1693. ray/cpp/include/boost/mpl/not.hpp +51 -0
  1694. ray/cpp/include/boost/mpl/not_equal_to.hpp +21 -0
  1695. ray/cpp/include/boost/mpl/numeric_cast.hpp +41 -0
  1696. ray/cpp/include/boost/mpl/or.hpp +61 -0
  1697. ray/cpp/include/boost/mpl/order.hpp +41 -0
  1698. ray/cpp/include/boost/mpl/order_fwd.hpp +25 -0
  1699. ray/cpp/include/boost/mpl/pair.hpp +70 -0
  1700. ray/cpp/include/boost/mpl/pair_view.hpp +169 -0
  1701. ray/cpp/include/boost/mpl/partition.hpp +53 -0
  1702. ray/cpp/include/boost/mpl/placeholders.hpp +100 -0
  1703. ray/cpp/include/boost/mpl/plus.hpp +21 -0
  1704. ray/cpp/include/boost/mpl/pop_back.hpp +39 -0
  1705. ray/cpp/include/boost/mpl/pop_back_fwd.hpp +24 -0
  1706. ray/cpp/include/boost/mpl/pop_front.hpp +39 -0
  1707. ray/cpp/include/boost/mpl/pop_front_fwd.hpp +24 -0
  1708. ray/cpp/include/boost/mpl/print.hpp +78 -0
  1709. ray/cpp/include/boost/mpl/prior.hpp +19 -0
  1710. ray/cpp/include/boost/mpl/protect.hpp +55 -0
  1711. ray/cpp/include/boost/mpl/push_back.hpp +53 -0
  1712. ray/cpp/include/boost/mpl/push_back_fwd.hpp +24 -0
  1713. ray/cpp/include/boost/mpl/push_front.hpp +52 -0
  1714. ray/cpp/include/boost/mpl/push_front_fwd.hpp +24 -0
  1715. ray/cpp/include/boost/mpl/quote.hpp +151 -0
  1716. ray/cpp/include/boost/mpl/range_c.hpp +48 -0
  1717. ray/cpp/include/boost/mpl/remove.hpp +52 -0
  1718. ray/cpp/include/boost/mpl/remove_if.hpp +83 -0
  1719. ray/cpp/include/boost/mpl/replace.hpp +55 -0
  1720. ray/cpp/include/boost/mpl/replace_if.hpp +88 -0
  1721. ray/cpp/include/boost/mpl/reverse.hpp +38 -0
  1722. ray/cpp/include/boost/mpl/reverse_fold.hpp +50 -0
  1723. ray/cpp/include/boost/mpl/reverse_iter_fold.hpp +56 -0
  1724. ray/cpp/include/boost/mpl/same_as.hpp +55 -0
  1725. ray/cpp/include/boost/mpl/sequence_tag.hpp +124 -0
  1726. ray/cpp/include/boost/mpl/sequence_tag_fwd.hpp +26 -0
  1727. ray/cpp/include/boost/mpl/set/aux_/at_impl.hpp +40 -0
  1728. ray/cpp/include/boost/mpl/set/aux_/begin_end_impl.hpp +43 -0
  1729. ray/cpp/include/boost/mpl/set/aux_/clear_impl.hpp +35 -0
  1730. ray/cpp/include/boost/mpl/set/aux_/empty_impl.hpp +34 -0
  1731. ray/cpp/include/boost/mpl/set/aux_/erase_impl.hpp +41 -0
  1732. ray/cpp/include/boost/mpl/set/aux_/erase_key_impl.hpp +53 -0
  1733. ray/cpp/include/boost/mpl/set/aux_/has_key_impl.hpp +60 -0
  1734. ray/cpp/include/boost/mpl/set/aux_/include_preprocessed.hpp +42 -0
  1735. ray/cpp/include/boost/mpl/set/aux_/insert_impl.hpp +65 -0
  1736. ray/cpp/include/boost/mpl/set/aux_/insert_range_impl.hpp +41 -0
  1737. ray/cpp/include/boost/mpl/set/aux_/item.hpp +82 -0
  1738. ray/cpp/include/boost/mpl/set/aux_/iterator.hpp +98 -0
  1739. ray/cpp/include/boost/mpl/set/aux_/key_type_impl.hpp +34 -0
  1740. ray/cpp/include/boost/mpl/set/aux_/numbered.hpp +48 -0
  1741. ray/cpp/include/boost/mpl/set/aux_/numbered_c.hpp +48 -0
  1742. ray/cpp/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp +140 -0
  1743. ray/cpp/include/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp +145 -0
  1744. ray/cpp/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp +168 -0
  1745. ray/cpp/include/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp +154 -0
  1746. ray/cpp/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp +195 -0
  1747. ray/cpp/include/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp +164 -0
  1748. ray/cpp/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp +221 -0
  1749. ray/cpp/include/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp +174 -0
  1750. ray/cpp/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp +250 -0
  1751. ray/cpp/include/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp +184 -0
  1752. ray/cpp/include/boost/mpl/set/aux_/set0.hpp +69 -0
  1753. ray/cpp/include/boost/mpl/set/aux_/size_impl.hpp +33 -0
  1754. ray/cpp/include/boost/mpl/set/aux_/tag.hpp +24 -0
  1755. ray/cpp/include/boost/mpl/set/aux_/value_type_impl.hpp +34 -0
  1756. ray/cpp/include/boost/mpl/set/set0.hpp +36 -0
  1757. ray/cpp/include/boost/mpl/set/set0_c.hpp +32 -0
  1758. ray/cpp/include/boost/mpl/set/set10.hpp +44 -0
  1759. ray/cpp/include/boost/mpl/set/set10_c.hpp +45 -0
  1760. ray/cpp/include/boost/mpl/set/set20.hpp +44 -0
  1761. ray/cpp/include/boost/mpl/set/set20_c.hpp +45 -0
  1762. ray/cpp/include/boost/mpl/set/set30.hpp +44 -0
  1763. ray/cpp/include/boost/mpl/set/set30_c.hpp +45 -0
  1764. ray/cpp/include/boost/mpl/set/set40.hpp +44 -0
  1765. ray/cpp/include/boost/mpl/set/set40_c.hpp +45 -0
  1766. ray/cpp/include/boost/mpl/set/set50.hpp +44 -0
  1767. ray/cpp/include/boost/mpl/set/set50_c.hpp +45 -0
  1768. ray/cpp/include/boost/mpl/set.hpp +57 -0
  1769. ray/cpp/include/boost/mpl/set_c.hpp +60 -0
  1770. ray/cpp/include/boost/mpl/shift_left.hpp +22 -0
  1771. ray/cpp/include/boost/mpl/shift_right.hpp +22 -0
  1772. ray/cpp/include/boost/mpl/single_view.hpp +38 -0
  1773. ray/cpp/include/boost/mpl/size.hpp +42 -0
  1774. ray/cpp/include/boost/mpl/size_fwd.hpp +24 -0
  1775. ray/cpp/include/boost/mpl/size_t.hpp +25 -0
  1776. ray/cpp/include/boost/mpl/size_t_fwd.hpp +28 -0
  1777. ray/cpp/include/boost/mpl/sizeof.hpp +36 -0
  1778. ray/cpp/include/boost/mpl/sort.hpp +27 -0
  1779. ray/cpp/include/boost/mpl/stable_partition.hpp +75 -0
  1780. ray/cpp/include/boost/mpl/string.hpp +607 -0
  1781. ray/cpp/include/boost/mpl/switch.hpp +49 -0
  1782. ray/cpp/include/boost/mpl/tag.hpp +52 -0
  1783. ray/cpp/include/boost/mpl/times.hpp +21 -0
  1784. ray/cpp/include/boost/mpl/transform.hpp +145 -0
  1785. ray/cpp/include/boost/mpl/transform_view.hpp +46 -0
  1786. ray/cpp/include/boost/mpl/unique.hpp +85 -0
  1787. ray/cpp/include/boost/mpl/unpack_args.hpp +150 -0
  1788. ray/cpp/include/boost/mpl/upper_bound.hpp +141 -0
  1789. ray/cpp/include/boost/mpl/value_type.hpp +42 -0
  1790. ray/cpp/include/boost/mpl/value_type_fwd.hpp +25 -0
  1791. ray/cpp/include/boost/mpl/vector/aux_/O1_size.hpp +56 -0
  1792. ray/cpp/include/boost/mpl/vector/aux_/at.hpp +116 -0
  1793. ray/cpp/include/boost/mpl/vector/aux_/back.hpp +59 -0
  1794. ray/cpp/include/boost/mpl/vector/aux_/begin_end.hpp +49 -0
  1795. ray/cpp/include/boost/mpl/vector/aux_/clear.hpp +55 -0
  1796. ray/cpp/include/boost/mpl/vector/aux_/empty.hpp +68 -0
  1797. ray/cpp/include/boost/mpl/vector/aux_/front.hpp +56 -0
  1798. ray/cpp/include/boost/mpl/vector/aux_/include_preprocessed.hpp +55 -0
  1799. ray/cpp/include/boost/mpl/vector/aux_/item.hpp +103 -0
  1800. ray/cpp/include/boost/mpl/vector/aux_/iterator.hpp +130 -0
  1801. ray/cpp/include/boost/mpl/vector/aux_/numbered.hpp +218 -0
  1802. ray/cpp/include/boost/mpl/vector/aux_/numbered_c.hpp +77 -0
  1803. ray/cpp/include/boost/mpl/vector/aux_/pop_back.hpp +40 -0
  1804. ray/cpp/include/boost/mpl/vector/aux_/pop_front.hpp +40 -0
  1805. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp +1528 -0
  1806. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp +149 -0
  1807. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp +1804 -0
  1808. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp +195 -0
  1809. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp +2124 -0
  1810. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp +238 -0
  1811. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp +2444 -0
  1812. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp +281 -0
  1813. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp +2764 -0
  1814. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp +325 -0
  1815. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp +829 -0
  1816. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp +149 -0
  1817. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp +1144 -0
  1818. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp +195 -0
  1819. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp +1464 -0
  1820. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp +238 -0
  1821. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp +1784 -0
  1822. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp +281 -0
  1823. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp +2104 -0
  1824. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp +325 -0
  1825. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp +139 -0
  1826. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp +154 -0
  1827. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp +159 -0
  1828. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp +163 -0
  1829. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp +179 -0
  1830. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp +173 -0
  1831. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp +199 -0
  1832. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp +183 -0
  1833. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp +219 -0
  1834. ray/cpp/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp +193 -0
  1835. ray/cpp/include/boost/mpl/vector/aux_/push_back.hpp +40 -0
  1836. ray/cpp/include/boost/mpl/vector/aux_/push_front.hpp +40 -0
  1837. ray/cpp/include/boost/mpl/vector/aux_/size.hpp +49 -0
  1838. ray/cpp/include/boost/mpl/vector/aux_/tag.hpp +32 -0
  1839. ray/cpp/include/boost/mpl/vector/aux_/vector0.hpp +52 -0
  1840. ray/cpp/include/boost/mpl/vector/vector0.hpp +34 -0
  1841. ray/cpp/include/boost/mpl/vector/vector0_c.hpp +31 -0
  1842. ray/cpp/include/boost/mpl/vector/vector10.hpp +45 -0
  1843. ray/cpp/include/boost/mpl/vector/vector10_c.hpp +46 -0
  1844. ray/cpp/include/boost/mpl/vector/vector20.hpp +45 -0
  1845. ray/cpp/include/boost/mpl/vector/vector20_c.hpp +46 -0
  1846. ray/cpp/include/boost/mpl/vector/vector30.hpp +45 -0
  1847. ray/cpp/include/boost/mpl/vector/vector30_c.hpp +47 -0
  1848. ray/cpp/include/boost/mpl/vector/vector40.hpp +45 -0
  1849. ray/cpp/include/boost/mpl/vector/vector40_c.hpp +46 -0
  1850. ray/cpp/include/boost/mpl/vector/vector50.hpp +45 -0
  1851. ray/cpp/include/boost/mpl/vector/vector50_c.hpp +46 -0
  1852. ray/cpp/include/boost/mpl/vector.hpp +57 -0
  1853. ray/cpp/include/boost/mpl/vector_c.hpp +61 -0
  1854. ray/cpp/include/boost/mpl/void.hpp +76 -0
  1855. ray/cpp/include/boost/mpl/void_fwd.hpp +26 -0
  1856. ray/cpp/include/boost/mpl/zip_view.hpp +65 -0
  1857. ray/cpp/include/boost/multi_array.hpp +572 -0
  1858. ray/cpp/include/boost/multi_index_container.hpp +1578 -0
  1859. ray/cpp/include/boost/multi_index_container_fwd.hpp +121 -0
  1860. ray/cpp/include/boost/next_prior.hpp +195 -0
  1861. ray/cpp/include/boost/non_type.hpp +27 -0
  1862. ray/cpp/include/boost/noncopyable.hpp +17 -0
  1863. ray/cpp/include/boost/nondet_random.hpp +22 -0
  1864. ray/cpp/include/boost/none.hpp +59 -0
  1865. ray/cpp/include/boost/none_t.hpp +41 -0
  1866. ray/cpp/include/boost/operators.hpp +920 -0
  1867. ray/cpp/include/boost/operators_v1.hpp +951 -0
  1868. ray/cpp/include/boost/optional/bad_optional_access.hpp +41 -0
  1869. ray/cpp/include/boost/optional/detail/experimental_traits.hpp +104 -0
  1870. ray/cpp/include/boost/optional/detail/old_optional_implementation.hpp +1058 -0
  1871. ray/cpp/include/boost/optional/detail/optional_aligned_storage.hpp +71 -0
  1872. ray/cpp/include/boost/optional/detail/optional_config.hpp +135 -0
  1873. ray/cpp/include/boost/optional/detail/optional_factory_support.hpp +36 -0
  1874. ray/cpp/include/boost/optional/detail/optional_hash.hpp +49 -0
  1875. ray/cpp/include/boost/optional/detail/optional_reference_spec.hpp +279 -0
  1876. ray/cpp/include/boost/optional/detail/optional_relops.hpp +196 -0
  1877. ray/cpp/include/boost/optional/detail/optional_swap.hpp +117 -0
  1878. ray/cpp/include/boost/optional/detail/optional_trivially_copyable_base.hpp +510 -0
  1879. ray/cpp/include/boost/optional/optional.hpp +1666 -0
  1880. ray/cpp/include/boost/optional/optional_fwd.hpp +41 -0
  1881. ray/cpp/include/boost/optional/optional_io.hpp +95 -0
  1882. ray/cpp/include/boost/optional.hpp +18 -0
  1883. ray/cpp/include/boost/outcome.hpp +33 -0
  1884. ray/cpp/include/boost/parameter/are_tagged_arguments.hpp +125 -0
  1885. ray/cpp/include/boost/parameter/aux_/always_true_predicate.hpp +42 -0
  1886. ray/cpp/include/boost/parameter/aux_/arg_list.hpp +1331 -0
  1887. ray/cpp/include/boost/parameter/aux_/as_lvalue.hpp +25 -0
  1888. ray/cpp/include/boost/parameter/aux_/augment_predicate.hpp +198 -0
  1889. ray/cpp/include/boost/parameter/aux_/cast.hpp +12 -0
  1890. ray/cpp/include/boost/parameter/aux_/default.hpp +111 -0
  1891. ray/cpp/include/boost/parameter/aux_/has_nested_template_fn.hpp +111 -0
  1892. ray/cpp/include/boost/parameter/aux_/is_maybe.hpp +52 -0
  1893. ray/cpp/include/boost/parameter/aux_/is_placeholder.hpp +64 -0
  1894. ray/cpp/include/boost/parameter/aux_/is_tagged_argument.hpp +95 -0
  1895. ray/cpp/include/boost/parameter/aux_/lambda_tag.hpp +16 -0
  1896. ray/cpp/include/boost/parameter/aux_/maybe.hpp +151 -0
  1897. ray/cpp/include/boost/parameter/aux_/name.hpp +93 -0
  1898. ray/cpp/include/boost/parameter/aux_/pack/as_parameter_requirements.hpp +32 -0
  1899. ray/cpp/include/boost/parameter/aux_/pack/deduce_tag.hpp +217 -0
  1900. ray/cpp/include/boost/parameter/aux_/pack/deduced_item.hpp +34 -0
  1901. ray/cpp/include/boost/parameter/aux_/pack/insert_tagged.hpp +23 -0
  1902. ray/cpp/include/boost/parameter/aux_/pack/is_named_argument.hpp +43 -0
  1903. ray/cpp/include/boost/parameter/aux_/pack/item.hpp +47 -0
  1904. ray/cpp/include/boost/parameter/aux_/pack/make_arg_list.hpp +438 -0
  1905. ray/cpp/include/boost/parameter/aux_/pack/make_deduced_items.hpp +53 -0
  1906. ray/cpp/include/boost/parameter/aux_/pack/make_items.hpp +45 -0
  1907. ray/cpp/include/boost/parameter/aux_/pack/make_parameter_spec_items.hpp +244 -0
  1908. ray/cpp/include/boost/parameter/aux_/pack/parameter_requirements.hpp +25 -0
  1909. ray/cpp/include/boost/parameter/aux_/pack/predicate.hpp +87 -0
  1910. ray/cpp/include/boost/parameter/aux_/pack/satisfies.hpp +142 -0
  1911. ray/cpp/include/boost/parameter/aux_/pack/tag_deduced.hpp +59 -0
  1912. ray/cpp/include/boost/parameter/aux_/pack/tag_keyword_arg.hpp +30 -0
  1913. ray/cpp/include/boost/parameter/aux_/pack/tag_keyword_arg_ref.hpp +67 -0
  1914. ray/cpp/include/boost/parameter/aux_/pack/tag_template_keyword_arg.hpp +30 -0
  1915. ray/cpp/include/boost/parameter/aux_/pack/tag_type.hpp +89 -0
  1916. ray/cpp/include/boost/parameter/aux_/pack/unmatched_argument.hpp +41 -0
  1917. ray/cpp/include/boost/parameter/aux_/parameter_requirements.hpp +12 -0
  1918. ray/cpp/include/boost/parameter/aux_/parenthesized_type.hpp +12 -0
  1919. ray/cpp/include/boost/parameter/aux_/pp_impl/argument_pack.hpp +91 -0
  1920. ray/cpp/include/boost/parameter/aux_/pp_impl/match.hpp +55 -0
  1921. ray/cpp/include/boost/parameter/aux_/pp_impl/unwrap_predicate.hpp +97 -0
  1922. ray/cpp/include/boost/parameter/aux_/preprocessor/binary_seq_for_each.hpp +1638 -0
  1923. ray/cpp/include/boost/parameter/aux_/preprocessor/binary_seq_for_each_inc.hpp +1796 -0
  1924. ray/cpp/include/boost/parameter/aux_/preprocessor/binary_seq_to_args.hpp +65 -0
  1925. ray/cpp/include/boost/parameter/aux_/preprocessor/convert_binary_seq.hpp +57 -0
  1926. ray/cpp/include/boost/parameter/aux_/preprocessor/flatten.hpp +12 -0
  1927. ray/cpp/include/boost/parameter/aux_/preprocessor/for_each.hpp +12 -0
  1928. ray/cpp/include/boost/parameter/aux_/preprocessor/for_each_pred.hpp +1029 -0
  1929. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/argument_specs.hpp +24 -0
  1930. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/arity_range.hpp +42 -0
  1931. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/flatten.hpp +143 -0
  1932. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/for_each.hpp +152 -0
  1933. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/forwarding_overloads.hpp +509 -0
  1934. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/function_cast.hpp +730 -0
  1935. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/function_dispatch_layer.hpp +474 -0
  1936. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/function_dispatch_tuple.hpp +33 -0
  1937. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/function_forward_match.hpp +43 -0
  1938. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/function_name.hpp +152 -0
  1939. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/no_spec_overloads.hpp +331 -0
  1940. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/parenthesized_return_type.hpp +122 -0
  1941. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/parenthesized_type.hpp +34 -0
  1942. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/specification.hpp +109 -0
  1943. ray/cpp/include/boost/parameter/aux_/preprocessor/impl/split_args.hpp +71 -0
  1944. ray/cpp/include/boost/parameter/aux_/preprocessor/inc_binary_seq.hpp +78 -0
  1945. ray/cpp/include/boost/parameter/aux_/preprocessor/is_binary.hpp +31 -0
  1946. ray/cpp/include/boost/parameter/aux_/preprocessor/is_nullary.hpp +32 -0
  1947. ray/cpp/include/boost/parameter/aux_/preprocessor/no_perfect_forwarding_begin.hpp +165 -0
  1948. ray/cpp/include/boost/parameter/aux_/preprocessor/no_perfect_forwarding_end.hpp +24 -0
  1949. ray/cpp/include/boost/parameter/aux_/preprocessor/nullptr.hpp +18 -0
  1950. ray/cpp/include/boost/parameter/aux_/preprocessor/overloads.hpp +92 -0
  1951. ray/cpp/include/boost/parameter/aux_/preprocessor/qualifier.hpp +88 -0
  1952. ray/cpp/include/boost/parameter/aux_/preprocessor/seq_enum.hpp +26 -0
  1953. ray/cpp/include/boost/parameter/aux_/preprocessor/seq_merge.hpp +1807 -0
  1954. ray/cpp/include/boost/parameter/aux_/python/invoker.hpp +132 -0
  1955. ray/cpp/include/boost/parameter/aux_/python/invoker_iterate.hpp +93 -0
  1956. ray/cpp/include/boost/parameter/aux_/result_of0.hpp +53 -0
  1957. ray/cpp/include/boost/parameter/aux_/set.hpp +118 -0
  1958. ray/cpp/include/boost/parameter/aux_/tag.hpp +160 -0
  1959. ray/cpp/include/boost/parameter/aux_/tagged_argument.hpp +903 -0
  1960. ray/cpp/include/boost/parameter/aux_/tagged_argument_fwd.hpp +38 -0
  1961. ray/cpp/include/boost/parameter/aux_/template_keyword.hpp +89 -0
  1962. ray/cpp/include/boost/parameter/aux_/unwrap_cv_reference.hpp +174 -0
  1963. ray/cpp/include/boost/parameter/aux_/use_default.hpp +17 -0
  1964. ray/cpp/include/boost/parameter/aux_/use_default_tag.hpp +29 -0
  1965. ray/cpp/include/boost/parameter/aux_/void.hpp +38 -0
  1966. ray/cpp/include/boost/parameter/aux_/yesno.hpp +42 -0
  1967. ray/cpp/include/boost/parameter/binding.hpp +164 -0
  1968. ray/cpp/include/boost/parameter/compose.hpp +210 -0
  1969. ray/cpp/include/boost/parameter/config.hpp +83 -0
  1970. ray/cpp/include/boost/parameter/deduced.hpp +132 -0
  1971. ray/cpp/include/boost/parameter/is_argument_pack.hpp +29 -0
  1972. ray/cpp/include/boost/parameter/keyword.hpp +744 -0
  1973. ray/cpp/include/boost/parameter/keyword_fwd.hpp +23 -0
  1974. ray/cpp/include/boost/parameter/macros.hpp +232 -0
  1975. ray/cpp/include/boost/parameter/match.hpp +48 -0
  1976. ray/cpp/include/boost/parameter/name.hpp +120 -0
  1977. ray/cpp/include/boost/parameter/nested_keyword.hpp +111 -0
  1978. ray/cpp/include/boost/parameter/optional.hpp +67 -0
  1979. ray/cpp/include/boost/parameter/parameters.hpp +600 -0
  1980. ray/cpp/include/boost/parameter/preprocessor.hpp +217 -0
  1981. ray/cpp/include/boost/parameter/preprocessor_no_spec.hpp +74 -0
  1982. ray/cpp/include/boost/parameter/python.hpp +734 -0
  1983. ray/cpp/include/boost/parameter/required.hpp +66 -0
  1984. ray/cpp/include/boost/parameter/template_keyword.hpp +87 -0
  1985. ray/cpp/include/boost/parameter/value_type.hpp +164 -0
  1986. ray/cpp/include/boost/parameter.hpp +30 -0
  1987. ray/cpp/include/boost/pfr.hpp +21 -0
  1988. ray/cpp/include/boost/phoenix.hpp +13 -0
  1989. ray/cpp/include/boost/pointee.hpp +76 -0
  1990. ray/cpp/include/boost/pointer_cast.hpp +122 -0
  1991. ray/cpp/include/boost/pointer_to_other.hpp +55 -0
  1992. ray/cpp/include/boost/polymorphic_cast.hpp +126 -0
  1993. ray/cpp/include/boost/polymorphic_pointer_cast.hpp +79 -0
  1994. ray/cpp/include/boost/preprocessor/arithmetic/add.hpp +104 -0
  1995. ray/cpp/include/boost/preprocessor/arithmetic/dec.hpp +322 -0
  1996. ray/cpp/include/boost/preprocessor/arithmetic/detail/div_base.hpp +61 -0
  1997. ray/cpp/include/boost/preprocessor/arithmetic/detail/is_1_number.hpp +21 -0
  1998. ray/cpp/include/boost/preprocessor/arithmetic/detail/is_maximum_number.hpp +22 -0
  1999. ray/cpp/include/boost/preprocessor/arithmetic/detail/is_minimum_number.hpp +21 -0
  2000. ray/cpp/include/boost/preprocessor/arithmetic/detail/maximum_number.hpp +19 -0
  2001. ray/cpp/include/boost/preprocessor/arithmetic/div.hpp +75 -0
  2002. ray/cpp/include/boost/preprocessor/arithmetic/inc.hpp +321 -0
  2003. ray/cpp/include/boost/preprocessor/arithmetic/limits/dec_1024.hpp +531 -0
  2004. ray/cpp/include/boost/preprocessor/arithmetic/limits/dec_256.hpp +276 -0
  2005. ray/cpp/include/boost/preprocessor/arithmetic/limits/dec_512.hpp +275 -0
  2006. ray/cpp/include/boost/preprocessor/arithmetic/limits/inc_1024.hpp +536 -0
  2007. ray/cpp/include/boost/preprocessor/arithmetic/limits/inc_256.hpp +275 -0
  2008. ray/cpp/include/boost/preprocessor/arithmetic/limits/inc_512.hpp +280 -0
  2009. ray/cpp/include/boost/preprocessor/arithmetic/mod.hpp +75 -0
  2010. ray/cpp/include/boost/preprocessor/arithmetic/mul.hpp +112 -0
  2011. ray/cpp/include/boost/preprocessor/arithmetic/sub.hpp +100 -0
  2012. ray/cpp/include/boost/preprocessor/arithmetic.hpp +25 -0
  2013. ray/cpp/include/boost/preprocessor/array/data.hpp +28 -0
  2014. ray/cpp/include/boost/preprocessor/array/detail/get_data.hpp +55 -0
  2015. ray/cpp/include/boost/preprocessor/array/elem.hpp +29 -0
  2016. ray/cpp/include/boost/preprocessor/array/enum.hpp +49 -0
  2017. ray/cpp/include/boost/preprocessor/array/insert.hpp +126 -0
  2018. ray/cpp/include/boost/preprocessor/array/pop_back.hpp +37 -0
  2019. ray/cpp/include/boost/preprocessor/array/pop_front.hpp +38 -0
  2020. ray/cpp/include/boost/preprocessor/array/push_back.hpp +35 -0
  2021. ray/cpp/include/boost/preprocessor/array/push_front.hpp +35 -0
  2022. ray/cpp/include/boost/preprocessor/array/remove.hpp +120 -0
  2023. ray/cpp/include/boost/preprocessor/array/replace.hpp +107 -0
  2024. ray/cpp/include/boost/preprocessor/array/reverse.hpp +29 -0
  2025. ray/cpp/include/boost/preprocessor/array/size.hpp +28 -0
  2026. ray/cpp/include/boost/preprocessor/array/to_list.hpp +47 -0
  2027. ray/cpp/include/boost/preprocessor/array/to_seq.hpp +46 -0
  2028. ray/cpp/include/boost/preprocessor/array/to_tuple.hpp +33 -0
  2029. ray/cpp/include/boost/preprocessor/array.hpp +32 -0
  2030. ray/cpp/include/boost/preprocessor/assert_msg.hpp +17 -0
  2031. ray/cpp/include/boost/preprocessor/cat.hpp +35 -0
  2032. ray/cpp/include/boost/preprocessor/comma.hpp +17 -0
  2033. ray/cpp/include/boost/preprocessor/comma_if.hpp +17 -0
  2034. ray/cpp/include/boost/preprocessor/comparison/equal.hpp +34 -0
  2035. ray/cpp/include/boost/preprocessor/comparison/greater.hpp +38 -0
  2036. ray/cpp/include/boost/preprocessor/comparison/greater_equal.hpp +38 -0
  2037. ray/cpp/include/boost/preprocessor/comparison/less.hpp +46 -0
  2038. ray/cpp/include/boost/preprocessor/comparison/less_equal.hpp +39 -0
  2039. ray/cpp/include/boost/preprocessor/comparison/limits/not_equal_1024.hpp +1044 -0
  2040. ray/cpp/include/boost/preprocessor/comparison/limits/not_equal_256.hpp +793 -0
  2041. ray/cpp/include/boost/preprocessor/comparison/limits/not_equal_512.hpp +532 -0
  2042. ray/cpp/include/boost/preprocessor/comparison/not_equal.hpp +857 -0
  2043. ray/cpp/include/boost/preprocessor/comparison.hpp +24 -0
  2044. ray/cpp/include/boost/preprocessor/config/config.hpp +98 -0
  2045. ray/cpp/include/boost/preprocessor/config/limits.hpp +163 -0
  2046. ray/cpp/include/boost/preprocessor/control/deduce_d.hpp +49 -0
  2047. ray/cpp/include/boost/preprocessor/control/detail/dmc/while.hpp +535 -0
  2048. ray/cpp/include/boost/preprocessor/control/detail/edg/limits/while_1024.hpp +1044 -0
  2049. ray/cpp/include/boost/preprocessor/control/detail/edg/limits/while_256.hpp +533 -0
  2050. ray/cpp/include/boost/preprocessor/control/detail/edg/limits/while_512.hpp +532 -0
  2051. ray/cpp/include/boost/preprocessor/control/detail/edg/while.hpp +561 -0
  2052. ray/cpp/include/boost/preprocessor/control/detail/limits/while_1024.hpp +1044 -0
  2053. ray/cpp/include/boost/preprocessor/control/detail/limits/while_256.hpp +533 -0
  2054. ray/cpp/include/boost/preprocessor/control/detail/limits/while_512.hpp +532 -0
  2055. ray/cpp/include/boost/preprocessor/control/detail/msvc/while.hpp +277 -0
  2056. ray/cpp/include/boost/preprocessor/control/detail/while.hpp +563 -0
  2057. ray/cpp/include/boost/preprocessor/control/expr_if.hpp +30 -0
  2058. ray/cpp/include/boost/preprocessor/control/expr_iif.hpp +31 -0
  2059. ray/cpp/include/boost/preprocessor/control/if.hpp +30 -0
  2060. ray/cpp/include/boost/preprocessor/control/iif.hpp +34 -0
  2061. ray/cpp/include/boost/preprocessor/control/limits/while_1024.hpp +531 -0
  2062. ray/cpp/include/boost/preprocessor/control/limits/while_256.hpp +275 -0
  2063. ray/cpp/include/boost/preprocessor/control/limits/while_512.hpp +275 -0
  2064. ray/cpp/include/boost/preprocessor/control/while.hpp +387 -0
  2065. ray/cpp/include/boost/preprocessor/control.hpp +22 -0
  2066. ray/cpp/include/boost/preprocessor/debug/assert.hpp +44 -0
  2067. ray/cpp/include/boost/preprocessor/debug/error.hpp +33 -0
  2068. ray/cpp/include/boost/preprocessor/debug/line.hpp +35 -0
  2069. ray/cpp/include/boost/preprocessor/debug.hpp +18 -0
  2070. ray/cpp/include/boost/preprocessor/dec.hpp +17 -0
  2071. ray/cpp/include/boost/preprocessor/detail/auto_rec.hpp +334 -0
  2072. ray/cpp/include/boost/preprocessor/detail/check.hpp +48 -0
  2073. ray/cpp/include/boost/preprocessor/detail/dmc/auto_rec.hpp +286 -0
  2074. ray/cpp/include/boost/preprocessor/detail/is_binary.hpp +30 -0
  2075. ray/cpp/include/boost/preprocessor/detail/is_nullary.hpp +30 -0
  2076. ray/cpp/include/boost/preprocessor/detail/is_unary.hpp +30 -0
  2077. ray/cpp/include/boost/preprocessor/detail/limits/auto_rec_1024.hpp +532 -0
  2078. ray/cpp/include/boost/preprocessor/detail/limits/auto_rec_256.hpp +280 -0
  2079. ray/cpp/include/boost/preprocessor/detail/limits/auto_rec_512.hpp +276 -0
  2080. ray/cpp/include/boost/preprocessor/detail/null.hpp +17 -0
  2081. ray/cpp/include/boost/preprocessor/detail/split.hpp +35 -0
  2082. ray/cpp/include/boost/preprocessor/empty.hpp +17 -0
  2083. ray/cpp/include/boost/preprocessor/enum.hpp +17 -0
  2084. ray/cpp/include/boost/preprocessor/enum_params.hpp +17 -0
  2085. ray/cpp/include/boost/preprocessor/enum_params_with_a_default.hpp +17 -0
  2086. ray/cpp/include/boost/preprocessor/enum_params_with_defaults.hpp +17 -0
  2087. ray/cpp/include/boost/preprocessor/enum_shifted.hpp +17 -0
  2088. ray/cpp/include/boost/preprocessor/enum_shifted_params.hpp +17 -0
  2089. ray/cpp/include/boost/preprocessor/expand.hpp +17 -0
  2090. ray/cpp/include/boost/preprocessor/expr_if.hpp +17 -0
  2091. ray/cpp/include/boost/preprocessor/facilities/apply.hpp +34 -0
  2092. ray/cpp/include/boost/preprocessor/facilities/check_empty.hpp +19 -0
  2093. ray/cpp/include/boost/preprocessor/facilities/detail/is_empty.hpp +55 -0
  2094. ray/cpp/include/boost/preprocessor/facilities/empty.hpp +23 -0
  2095. ray/cpp/include/boost/preprocessor/facilities/expand.hpp +28 -0
  2096. ray/cpp/include/boost/preprocessor/facilities/identity.hpp +27 -0
  2097. ray/cpp/include/boost/preprocessor/facilities/intercept.hpp +306 -0
  2098. ray/cpp/include/boost/preprocessor/facilities/is_1.hpp +23 -0
  2099. ray/cpp/include/boost/preprocessor/facilities/is_empty.hpp +19 -0
  2100. ray/cpp/include/boost/preprocessor/facilities/is_empty_or_1.hpp +31 -0
  2101. ray/cpp/include/boost/preprocessor/facilities/is_empty_variadic.hpp +80 -0
  2102. ray/cpp/include/boost/preprocessor/facilities/limits/intercept_1024.hpp +530 -0
  2103. ray/cpp/include/boost/preprocessor/facilities/limits/intercept_256.hpp +273 -0
  2104. ray/cpp/include/boost/preprocessor/facilities/limits/intercept_512.hpp +274 -0
  2105. ray/cpp/include/boost/preprocessor/facilities/overload.hpp +23 -0
  2106. ray/cpp/include/boost/preprocessor/facilities/va_opt.hpp +34 -0
  2107. ray/cpp/include/boost/preprocessor/facilities.hpp +25 -0
  2108. ray/cpp/include/boost/preprocessor/for.hpp +17 -0
  2109. ray/cpp/include/boost/preprocessor/identity.hpp +17 -0
  2110. ray/cpp/include/boost/preprocessor/if.hpp +17 -0
  2111. ray/cpp/include/boost/preprocessor/inc.hpp +17 -0
  2112. ray/cpp/include/boost/preprocessor/iterate.hpp +17 -0
  2113. ray/cpp/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp +99 -0
  2114. ray/cpp/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp +99 -0
  2115. ray/cpp/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp +99 -0
  2116. ray/cpp/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp +99 -0
  2117. ray/cpp/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp +99 -0
  2118. ray/cpp/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp +99 -0
  2119. ray/cpp/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp +99 -0
  2120. ray/cpp/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp +99 -0
  2121. ray/cpp/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp +99 -0
  2122. ray/cpp/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp +99 -0
  2123. ray/cpp/include/boost/preprocessor/iteration/detail/finish.hpp +99 -0
  2124. ray/cpp/include/boost/preprocessor/iteration/detail/iter/forward1.hpp +1369 -0
  2125. ray/cpp/include/boost/preprocessor/iteration/detail/iter/forward2.hpp +1365 -0
  2126. ray/cpp/include/boost/preprocessor/iteration/detail/iter/forward3.hpp +1365 -0
  2127. ray/cpp/include/boost/preprocessor/iteration/detail/iter/forward4.hpp +1365 -0
  2128. ray/cpp/include/boost/preprocessor/iteration/detail/iter/forward5.hpp +1365 -0
  2129. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward1_1024.hpp +2573 -0
  2130. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward1_256.hpp +1296 -0
  2131. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward1_512.hpp +1293 -0
  2132. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward2_1024.hpp +2573 -0
  2133. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward2_256.hpp +1296 -0
  2134. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward2_512.hpp +1293 -0
  2135. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward3_1024.hpp +2573 -0
  2136. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward3_256.hpp +1296 -0
  2137. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward3_512.hpp +1293 -0
  2138. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward4_1024.hpp +2573 -0
  2139. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward4_256.hpp +1296 -0
  2140. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward4_512.hpp +1293 -0
  2141. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward5_1024.hpp +2573 -0
  2142. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward5_256.hpp +1296 -0
  2143. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/forward5_512.hpp +1293 -0
  2144. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse1_1024.hpp +2571 -0
  2145. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse1_256.hpp +1296 -0
  2146. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse1_512.hpp +1291 -0
  2147. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse2_1024.hpp +2571 -0
  2148. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse2_256.hpp +1296 -0
  2149. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse2_512.hpp +1293 -0
  2150. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse3_1024.hpp +2571 -0
  2151. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse3_256.hpp +1296 -0
  2152. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse3_512.hpp +1293 -0
  2153. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse4_1024.hpp +2571 -0
  2154. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse4_256.hpp +1296 -0
  2155. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse4_512.hpp +1293 -0
  2156. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse5_1024.hpp +2571 -0
  2157. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse5_256.hpp +1296 -0
  2158. ray/cpp/include/boost/preprocessor/iteration/detail/iter/limits/reverse5_512.hpp +1293 -0
  2159. ray/cpp/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp +1321 -0
  2160. ray/cpp/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp +1321 -0
  2161. ray/cpp/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp +1321 -0
  2162. ray/cpp/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp +1321 -0
  2163. ray/cpp/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp +1321 -0
  2164. ray/cpp/include/boost/preprocessor/iteration/detail/limits/local_1024.hpp +1549 -0
  2165. ray/cpp/include/boost/preprocessor/iteration/detail/limits/local_256.hpp +782 -0
  2166. ray/cpp/include/boost/preprocessor/iteration/detail/limits/local_512.hpp +781 -0
  2167. ray/cpp/include/boost/preprocessor/iteration/detail/limits/rlocal_1024.hpp +1549 -0
  2168. ray/cpp/include/boost/preprocessor/iteration/detail/limits/rlocal_256.hpp +782 -0
  2169. ray/cpp/include/boost/preprocessor/iteration/detail/limits/rlocal_512.hpp +781 -0
  2170. ray/cpp/include/boost/preprocessor/iteration/detail/local.hpp +839 -0
  2171. ray/cpp/include/boost/preprocessor/iteration/detail/rlocal.hpp +807 -0
  2172. ray/cpp/include/boost/preprocessor/iteration/detail/self.hpp +21 -0
  2173. ray/cpp/include/boost/preprocessor/iteration/detail/start.hpp +99 -0
  2174. ray/cpp/include/boost/preprocessor/iteration/iterate.hpp +82 -0
  2175. ray/cpp/include/boost/preprocessor/iteration/local.hpp +26 -0
  2176. ray/cpp/include/boost/preprocessor/iteration/self.hpp +19 -0
  2177. ray/cpp/include/boost/preprocessor/iteration.hpp +19 -0
  2178. ray/cpp/include/boost/preprocessor/library.hpp +37 -0
  2179. ray/cpp/include/boost/preprocessor/limits.hpp +17 -0
  2180. ray/cpp/include/boost/preprocessor/list/adt.hpp +73 -0
  2181. ray/cpp/include/boost/preprocessor/list/append.hpp +40 -0
  2182. ray/cpp/include/boost/preprocessor/list/at.hpp +39 -0
  2183. ray/cpp/include/boost/preprocessor/list/cat.hpp +42 -0
  2184. ray/cpp/include/boost/preprocessor/list/detail/dmc/fold_left.hpp +280 -0
  2185. ray/cpp/include/boost/preprocessor/list/detail/edg/fold_left.hpp +564 -0
  2186. ray/cpp/include/boost/preprocessor/list/detail/edg/fold_right.hpp +823 -0
  2187. ray/cpp/include/boost/preprocessor/list/detail/edg/limits/fold_left_1024.hpp +1044 -0
  2188. ray/cpp/include/boost/preprocessor/list/detail/edg/limits/fold_left_256.hpp +533 -0
  2189. ray/cpp/include/boost/preprocessor/list/detail/edg/limits/fold_left_512.hpp +532 -0
  2190. ray/cpp/include/boost/preprocessor/list/detail/edg/limits/fold_right_1024.hpp +1557 -0
  2191. ray/cpp/include/boost/preprocessor/list/detail/edg/limits/fold_right_256.hpp +791 -0
  2192. ray/cpp/include/boost/preprocessor/list/detail/edg/limits/fold_right_512.hpp +789 -0
  2193. ray/cpp/include/boost/preprocessor/list/detail/fold_left.hpp +307 -0
  2194. ray/cpp/include/boost/preprocessor/list/detail/fold_right.hpp +303 -0
  2195. ray/cpp/include/boost/preprocessor/list/detail/limits/fold_left_1024.hpp +532 -0
  2196. ray/cpp/include/boost/preprocessor/list/detail/limits/fold_left_256.hpp +275 -0
  2197. ray/cpp/include/boost/preprocessor/list/detail/limits/fold_left_512.hpp +276 -0
  2198. ray/cpp/include/boost/preprocessor/list/detail/limits/fold_right_1024.hpp +532 -0
  2199. ray/cpp/include/boost/preprocessor/list/detail/limits/fold_right_256.hpp +275 -0
  2200. ray/cpp/include/boost/preprocessor/list/detail/limits/fold_right_512.hpp +276 -0
  2201. ray/cpp/include/boost/preprocessor/list/enum.hpp +53 -0
  2202. ray/cpp/include/boost/preprocessor/list/filter.hpp +54 -0
  2203. ray/cpp/include/boost/preprocessor/list/first_n.hpp +58 -0
  2204. ray/cpp/include/boost/preprocessor/list/fold_left.hpp +363 -0
  2205. ray/cpp/include/boost/preprocessor/list/fold_right.hpp +84 -0
  2206. ray/cpp/include/boost/preprocessor/list/for_each.hpp +49 -0
  2207. ray/cpp/include/boost/preprocessor/list/for_each_i.hpp +65 -0
  2208. ray/cpp/include/boost/preprocessor/list/for_each_product.hpp +160 -0
  2209. ray/cpp/include/boost/preprocessor/list/limits/fold_left_1024.hpp +531 -0
  2210. ray/cpp/include/boost/preprocessor/list/limits/fold_left_256.hpp +275 -0
  2211. ray/cpp/include/boost/preprocessor/list/limits/fold_left_512.hpp +275 -0
  2212. ray/cpp/include/boost/preprocessor/list/rest_n.hpp +55 -0
  2213. ray/cpp/include/boost/preprocessor/list/reverse.hpp +75 -0
  2214. ray/cpp/include/boost/preprocessor/list/size.hpp +113 -0
  2215. ray/cpp/include/boost/preprocessor/list/to_array.hpp +88 -0
  2216. ray/cpp/include/boost/preprocessor/list/to_seq.hpp +32 -0
  2217. ray/cpp/include/boost/preprocessor/list/to_tuple.hpp +61 -0
  2218. ray/cpp/include/boost/preprocessor/list/transform.hpp +49 -0
  2219. ray/cpp/include/boost/preprocessor/list.hpp +37 -0
  2220. ray/cpp/include/boost/preprocessor/logical/and.hpp +30 -0
  2221. ray/cpp/include/boost/preprocessor/logical/bitand.hpp +38 -0
  2222. ray/cpp/include/boost/preprocessor/logical/bitnor.hpp +38 -0
  2223. ray/cpp/include/boost/preprocessor/logical/bitor.hpp +38 -0
  2224. ray/cpp/include/boost/preprocessor/logical/bitxor.hpp +38 -0
  2225. ray/cpp/include/boost/preprocessor/logical/bool.hpp +310 -0
  2226. ray/cpp/include/boost/preprocessor/logical/compl.hpp +36 -0
  2227. ray/cpp/include/boost/preprocessor/logical/limits/bool_1024.hpp +531 -0
  2228. ray/cpp/include/boost/preprocessor/logical/limits/bool_256.hpp +275 -0
  2229. ray/cpp/include/boost/preprocessor/logical/limits/bool_512.hpp +275 -0
  2230. ray/cpp/include/boost/preprocessor/logical/nor.hpp +30 -0
  2231. ray/cpp/include/boost/preprocessor/logical/not.hpp +30 -0
  2232. ray/cpp/include/boost/preprocessor/logical/or.hpp +30 -0
  2233. ray/cpp/include/boost/preprocessor/logical/xor.hpp +30 -0
  2234. ray/cpp/include/boost/preprocessor/logical.hpp +29 -0
  2235. ray/cpp/include/boost/preprocessor/max.hpp +17 -0
  2236. ray/cpp/include/boost/preprocessor/min.hpp +17 -0
  2237. ray/cpp/include/boost/preprocessor/punctuation/comma.hpp +21 -0
  2238. ray/cpp/include/boost/preprocessor/punctuation/comma_if.hpp +31 -0
  2239. ray/cpp/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp +48 -0
  2240. ray/cpp/include/boost/preprocessor/punctuation/is_begin_parens.hpp +47 -0
  2241. ray/cpp/include/boost/preprocessor/punctuation/paren.hpp +23 -0
  2242. ray/cpp/include/boost/preprocessor/punctuation/paren_if.hpp +38 -0
  2243. ray/cpp/include/boost/preprocessor/punctuation/remove_parens.hpp +35 -0
  2244. ray/cpp/include/boost/preprocessor/punctuation.hpp +22 -0
  2245. ray/cpp/include/boost/preprocessor/repeat.hpp +17 -0
  2246. ray/cpp/include/boost/preprocessor/repeat_2nd.hpp +17 -0
  2247. ray/cpp/include/boost/preprocessor/repeat_3rd.hpp +17 -0
  2248. ray/cpp/include/boost/preprocessor/repeat_from_to.hpp +17 -0
  2249. ray/cpp/include/boost/preprocessor/repeat_from_to_2nd.hpp +17 -0
  2250. ray/cpp/include/boost/preprocessor/repeat_from_to_3rd.hpp +17 -0
  2251. ray/cpp/include/boost/preprocessor/repetition/deduce_r.hpp +49 -0
  2252. ray/cpp/include/boost/preprocessor/repetition/deduce_z.hpp +22 -0
  2253. ray/cpp/include/boost/preprocessor/repetition/detail/dmc/for.hpp +537 -0
  2254. ray/cpp/include/boost/preprocessor/repetition/detail/edg/for.hpp +560 -0
  2255. ray/cpp/include/boost/preprocessor/repetition/detail/edg/limits/for_1024.hpp +1044 -0
  2256. ray/cpp/include/boost/preprocessor/repetition/detail/edg/limits/for_256.hpp +533 -0
  2257. ray/cpp/include/boost/preprocessor/repetition/detail/edg/limits/for_512.hpp +532 -0
  2258. ray/cpp/include/boost/preprocessor/repetition/detail/for.hpp +564 -0
  2259. ray/cpp/include/boost/preprocessor/repetition/detail/limits/for_1024.hpp +1044 -0
  2260. ray/cpp/include/boost/preprocessor/repetition/detail/limits/for_256.hpp +533 -0
  2261. ray/cpp/include/boost/preprocessor/repetition/detail/limits/for_512.hpp +532 -0
  2262. ray/cpp/include/boost/preprocessor/repetition/detail/msvc/for.hpp +278 -0
  2263. ray/cpp/include/boost/preprocessor/repetition/enum.hpp +66 -0
  2264. ray/cpp/include/boost/preprocessor/repetition/enum_binary_params.hpp +54 -0
  2265. ray/cpp/include/boost/preprocessor/repetition/enum_params.hpp +41 -0
  2266. ray/cpp/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp +25 -0
  2267. ray/cpp/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp +24 -0
  2268. ray/cpp/include/boost/preprocessor/repetition/enum_shifted.hpp +68 -0
  2269. ray/cpp/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp +51 -0
  2270. ray/cpp/include/boost/preprocessor/repetition/enum_shifted_params.hpp +44 -0
  2271. ray/cpp/include/boost/preprocessor/repetition/enum_trailing.hpp +63 -0
  2272. ray/cpp/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp +53 -0
  2273. ray/cpp/include/boost/preprocessor/repetition/enum_trailing_params.hpp +38 -0
  2274. ray/cpp/include/boost/preprocessor/repetition/for.hpp +438 -0
  2275. ray/cpp/include/boost/preprocessor/repetition/limits/for_1024.hpp +531 -0
  2276. ray/cpp/include/boost/preprocessor/repetition/limits/for_256.hpp +275 -0
  2277. ray/cpp/include/boost/preprocessor/repetition/limits/for_512.hpp +275 -0
  2278. ray/cpp/include/boost/preprocessor/repetition/limits/repeat_1024.hpp +1557 -0
  2279. ray/cpp/include/boost/preprocessor/repetition/limits/repeat_256.hpp +791 -0
  2280. ray/cpp/include/boost/preprocessor/repetition/limits/repeat_512.hpp +789 -0
  2281. ray/cpp/include/boost/preprocessor/repetition/repeat.hpp +847 -0
  2282. ray/cpp/include/boost/preprocessor/repetition/repeat_from_to.hpp +114 -0
  2283. ray/cpp/include/boost/preprocessor/repetition.hpp +32 -0
  2284. ray/cpp/include/boost/preprocessor/selection/max.hpp +39 -0
  2285. ray/cpp/include/boost/preprocessor/selection/min.hpp +39 -0
  2286. ray/cpp/include/boost/preprocessor/selection.hpp +18 -0
  2287. ray/cpp/include/boost/preprocessor/seq/cat.hpp +49 -0
  2288. ray/cpp/include/boost/preprocessor/seq/detail/binary_transform.hpp +42 -0
  2289. ray/cpp/include/boost/preprocessor/seq/detail/is_empty.hpp +49 -0
  2290. ray/cpp/include/boost/preprocessor/seq/detail/limits/split_1024.hpp +530 -0
  2291. ray/cpp/include/boost/preprocessor/seq/detail/limits/split_256.hpp +272 -0
  2292. ray/cpp/include/boost/preprocessor/seq/detail/limits/split_512.hpp +274 -0
  2293. ray/cpp/include/boost/preprocessor/seq/detail/split.hpp +307 -0
  2294. ray/cpp/include/boost/preprocessor/seq/detail/to_list_msvc.hpp +55 -0
  2295. ray/cpp/include/boost/preprocessor/seq/elem.hpp +327 -0
  2296. ray/cpp/include/boost/preprocessor/seq/enum.hpp +311 -0
  2297. ray/cpp/include/boost/preprocessor/seq/filter.hpp +54 -0
  2298. ray/cpp/include/boost/preprocessor/seq/first_n.hpp +30 -0
  2299. ray/cpp/include/boost/preprocessor/seq/fold_left.hpp +1122 -0
  2300. ray/cpp/include/boost/preprocessor/seq/fold_right.hpp +325 -0
  2301. ray/cpp/include/boost/preprocessor/seq/for_each.hpp +107 -0
  2302. ray/cpp/include/boost/preprocessor/seq/for_each_i.hpp +109 -0
  2303. ray/cpp/include/boost/preprocessor/seq/for_each_product.hpp +126 -0
  2304. ray/cpp/include/boost/preprocessor/seq/insert.hpp +28 -0
  2305. ray/cpp/include/boost/preprocessor/seq/limits/elem_1024.hpp +530 -0
  2306. ray/cpp/include/boost/preprocessor/seq/limits/elem_256.hpp +272 -0
  2307. ray/cpp/include/boost/preprocessor/seq/limits/elem_512.hpp +274 -0
  2308. ray/cpp/include/boost/preprocessor/seq/limits/enum_1024.hpp +530 -0
  2309. ray/cpp/include/boost/preprocessor/seq/limits/enum_256.hpp +272 -0
  2310. ray/cpp/include/boost/preprocessor/seq/limits/enum_512.hpp +274 -0
  2311. ray/cpp/include/boost/preprocessor/seq/limits/fold_left_1024.hpp +1556 -0
  2312. ray/cpp/include/boost/preprocessor/seq/limits/fold_left_256.hpp +1053 -0
  2313. ray/cpp/include/boost/preprocessor/seq/limits/fold_left_512.hpp +788 -0
  2314. ray/cpp/include/boost/preprocessor/seq/limits/fold_right_1024.hpp +530 -0
  2315. ray/cpp/include/boost/preprocessor/seq/limits/fold_right_256.hpp +273 -0
  2316. ray/cpp/include/boost/preprocessor/seq/limits/fold_right_512.hpp +274 -0
  2317. ray/cpp/include/boost/preprocessor/seq/limits/size_1024.hpp +1043 -0
  2318. ray/cpp/include/boost/preprocessor/seq/limits/size_256.hpp +532 -0
  2319. ray/cpp/include/boost/preprocessor/seq/limits/size_512.hpp +531 -0
  2320. ray/cpp/include/boost/preprocessor/seq/pop_back.hpp +29 -0
  2321. ray/cpp/include/boost/preprocessor/seq/pop_front.hpp +27 -0
  2322. ray/cpp/include/boost/preprocessor/seq/push_back.hpp +19 -0
  2323. ray/cpp/include/boost/preprocessor/seq/push_front.hpp +19 -0
  2324. ray/cpp/include/boost/preprocessor/seq/remove.hpp +29 -0
  2325. ray/cpp/include/boost/preprocessor/seq/replace.hpp +45 -0
  2326. ray/cpp/include/boost/preprocessor/seq/rest_n.hpp +52 -0
  2327. ray/cpp/include/boost/preprocessor/seq/reverse.hpp +39 -0
  2328. ray/cpp/include/boost/preprocessor/seq/seq.hpp +44 -0
  2329. ray/cpp/include/boost/preprocessor/seq/size.hpp +571 -0
  2330. ray/cpp/include/boost/preprocessor/seq/subseq.hpp +28 -0
  2331. ray/cpp/include/boost/preprocessor/seq/to_array.hpp +28 -0
  2332. ray/cpp/include/boost/preprocessor/seq/to_list.hpp +41 -0
  2333. ray/cpp/include/boost/preprocessor/seq/to_tuple.hpp +27 -0
  2334. ray/cpp/include/boost/preprocessor/seq/transform.hpp +48 -0
  2335. ray/cpp/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp +26 -0
  2336. ray/cpp/include/boost/preprocessor/seq.hpp +44 -0
  2337. ray/cpp/include/boost/preprocessor/slot/counter.hpp +25 -0
  2338. ray/cpp/include/boost/preprocessor/slot/detail/counter.hpp +269 -0
  2339. ray/cpp/include/boost/preprocessor/slot/detail/def.hpp +49 -0
  2340. ray/cpp/include/boost/preprocessor/slot/detail/shared.hpp +247 -0
  2341. ray/cpp/include/boost/preprocessor/slot/detail/slot1.hpp +267 -0
  2342. ray/cpp/include/boost/preprocessor/slot/detail/slot2.hpp +267 -0
  2343. ray/cpp/include/boost/preprocessor/slot/detail/slot3.hpp +267 -0
  2344. ray/cpp/include/boost/preprocessor/slot/detail/slot4.hpp +267 -0
  2345. ray/cpp/include/boost/preprocessor/slot/detail/slot5.hpp +267 -0
  2346. ray/cpp/include/boost/preprocessor/slot/slot.hpp +32 -0
  2347. ray/cpp/include/boost/preprocessor/slot.hpp +17 -0
  2348. ray/cpp/include/boost/preprocessor/stringize.hpp +33 -0
  2349. ray/cpp/include/boost/preprocessor/tuple/detail/is_single_return.hpp +28 -0
  2350. ray/cpp/include/boost/preprocessor/tuple/eat.hpp +101 -0
  2351. ray/cpp/include/boost/preprocessor/tuple/elem.hpp +55 -0
  2352. ray/cpp/include/boost/preprocessor/tuple/enum.hpp +22 -0
  2353. ray/cpp/include/boost/preprocessor/tuple/insert.hpp +32 -0
  2354. ray/cpp/include/boost/preprocessor/tuple/limits/reverse_128.hpp +403 -0
  2355. ray/cpp/include/boost/preprocessor/tuple/limits/reverse_256.hpp +1171 -0
  2356. ray/cpp/include/boost/preprocessor/tuple/limits/reverse_64.hpp +83 -0
  2357. ray/cpp/include/boost/preprocessor/tuple/limits/to_list_128.hpp +595 -0
  2358. ray/cpp/include/boost/preprocessor/tuple/limits/to_list_256.hpp +1747 -0
  2359. ray/cpp/include/boost/preprocessor/tuple/limits/to_list_64.hpp +83 -0
  2360. ray/cpp/include/boost/preprocessor/tuple/limits/to_seq_128.hpp +403 -0
  2361. ray/cpp/include/boost/preprocessor/tuple/limits/to_seq_256.hpp +1171 -0
  2362. ray/cpp/include/boost/preprocessor/tuple/limits/to_seq_64.hpp +84 -0
  2363. ray/cpp/include/boost/preprocessor/tuple/pop_back.hpp +59 -0
  2364. ray/cpp/include/boost/preprocessor/tuple/pop_front.hpp +60 -0
  2365. ray/cpp/include/boost/preprocessor/tuple/push_back.hpp +26 -0
  2366. ray/cpp/include/boost/preprocessor/tuple/push_front.hpp +26 -0
  2367. ray/cpp/include/boost/preprocessor/tuple/rem.hpp +127 -0
  2368. ray/cpp/include/boost/preprocessor/tuple/remove.hpp +59 -0
  2369. ray/cpp/include/boost/preprocessor/tuple/replace.hpp +32 -0
  2370. ray/cpp/include/boost/preprocessor/tuple/reverse.hpp +130 -0
  2371. ray/cpp/include/boost/preprocessor/tuple/size.hpp +35 -0
  2372. ray/cpp/include/boost/preprocessor/tuple/to_array.hpp +42 -0
  2373. ray/cpp/include/boost/preprocessor/tuple/to_list.hpp +130 -0
  2374. ray/cpp/include/boost/preprocessor/tuple/to_seq.hpp +133 -0
  2375. ray/cpp/include/boost/preprocessor/tuple.hpp +35 -0
  2376. ray/cpp/include/boost/preprocessor/variadic/detail/has_opt.hpp +39 -0
  2377. ray/cpp/include/boost/preprocessor/variadic/detail/is_single_return.hpp +28 -0
  2378. ray/cpp/include/boost/preprocessor/variadic/elem.hpp +116 -0
  2379. ray/cpp/include/boost/preprocessor/variadic/has_opt.hpp +32 -0
  2380. ray/cpp/include/boost/preprocessor/variadic/limits/elem_128.hpp +275 -0
  2381. ray/cpp/include/boost/preprocessor/variadic/limits/elem_256.hpp +723 -0
  2382. ray/cpp/include/boost/preprocessor/variadic/limits/elem_64.hpp +81 -0
  2383. ray/cpp/include/boost/preprocessor/variadic/limits/size_128.hpp +47 -0
  2384. ray/cpp/include/boost/preprocessor/variadic/limits/size_256.hpp +53 -0
  2385. ray/cpp/include/boost/preprocessor/variadic/limits/size_64.hpp +23 -0
  2386. ray/cpp/include/boost/preprocessor/variadic/size.hpp +65 -0
  2387. ray/cpp/include/boost/preprocessor/variadic/to_array.hpp +38 -0
  2388. ray/cpp/include/boost/preprocessor/variadic/to_list.hpp +32 -0
  2389. ray/cpp/include/boost/preprocessor/variadic/to_seq.hpp +23 -0
  2390. ray/cpp/include/boost/preprocessor/variadic/to_tuple.hpp +22 -0
  2391. ray/cpp/include/boost/preprocessor/variadic.hpp +24 -0
  2392. ray/cpp/include/boost/preprocessor/while.hpp +17 -0
  2393. ray/cpp/include/boost/preprocessor/wstringize.hpp +29 -0
  2394. ray/cpp/include/boost/preprocessor.hpp +19 -0
  2395. ray/cpp/include/boost/process.hpp +42 -0
  2396. ray/cpp/include/boost/program_options.hpp +25 -0
  2397. ray/cpp/include/boost/progress.hpp +145 -0
  2398. ray/cpp/include/boost/python.hpp +75 -0
  2399. ray/cpp/include/boost/qvm.hpp +11 -0
  2400. ray/cpp/include/boost/qvm_lite.hpp +11 -0
  2401. ray/cpp/include/boost/random.hpp +92 -0
  2402. ray/cpp/include/boost/range.hpp +23 -0
  2403. ray/cpp/include/boost/ratio.hpp +14 -0
  2404. ray/cpp/include/boost/rational.hpp +1046 -0
  2405. ray/cpp/include/boost/ref.hpp +17 -0
  2406. ray/cpp/include/boost/regex.hpp +41 -0
  2407. ray/cpp/include/boost/regex_fwd.hpp +37 -0
  2408. ray/cpp/include/boost/scope_exit.hpp +1414 -0
  2409. ray/cpp/include/boost/scoped_array.hpp +15 -0
  2410. ray/cpp/include/boost/scoped_ptr.hpp +15 -0
  2411. ray/cpp/include/boost/shared_array.hpp +19 -0
  2412. ray/cpp/include/boost/shared_container_iterator.hpp +69 -0
  2413. ray/cpp/include/boost/shared_ptr.hpp +19 -0
  2414. ray/cpp/include/boost/signals2.hpp +23 -0
  2415. ray/cpp/include/boost/smart_ptr.hpp +26 -0
  2416. ray/cpp/include/boost/spirit.hpp +27 -0
  2417. ray/cpp/include/boost/stacktrace.hpp +19 -0
  2418. ray/cpp/include/boost/static_assert.hpp +181 -0
  2419. ray/cpp/include/boost/static_string.hpp +13 -0
  2420. ray/cpp/include/boost/swap.hpp +17 -0
  2421. ray/cpp/include/boost/system/api_config.hpp +42 -0
  2422. ray/cpp/include/boost/system/config.hpp +50 -0
  2423. ray/cpp/include/boost/system/cygwin_error.hpp +63 -0
  2424. ray/cpp/include/boost/system/detail/append_int.hpp +32 -0
  2425. ray/cpp/include/boost/system/detail/cerrno.hpp +329 -0
  2426. ray/cpp/include/boost/system/detail/config.hpp +87 -0
  2427. ray/cpp/include/boost/system/detail/enable_if.hpp +32 -0
  2428. ray/cpp/include/boost/system/detail/errc.hpp +126 -0
  2429. ray/cpp/include/boost/system/detail/error_category.hpp +219 -0
  2430. ray/cpp/include/boost/system/detail/error_category_impl.hpp +205 -0
  2431. ray/cpp/include/boost/system/detail/error_code.hpp +721 -0
  2432. ray/cpp/include/boost/system/detail/error_condition.hpp +349 -0
  2433. ray/cpp/include/boost/system/detail/generic_category.hpp +123 -0
  2434. ray/cpp/include/boost/system/detail/generic_category_message.hpp +108 -0
  2435. ray/cpp/include/boost/system/detail/interop_category.hpp +107 -0
  2436. ray/cpp/include/boost/system/detail/is_same.hpp +33 -0
  2437. ray/cpp/include/boost/system/detail/snprintf.hpp +73 -0
  2438. ray/cpp/include/boost/system/detail/std_category.hpp +83 -0
  2439. ray/cpp/include/boost/system/detail/std_category_impl.hpp +97 -0
  2440. ray/cpp/include/boost/system/detail/system_category.hpp +110 -0
  2441. ray/cpp/include/boost/system/detail/system_category_condition_win32.hpp +151 -0
  2442. ray/cpp/include/boost/system/detail/system_category_impl.hpp +61 -0
  2443. ray/cpp/include/boost/system/detail/system_category_message.hpp +71 -0
  2444. ray/cpp/include/boost/system/detail/system_category_message_win32.hpp +211 -0
  2445. ray/cpp/include/boost/system/detail/throws.hpp +59 -0
  2446. ray/cpp/include/boost/system/errc.hpp +57 -0
  2447. ray/cpp/include/boost/system/error_category.hpp +13 -0
  2448. ray/cpp/include/boost/system/error_code.hpp +21 -0
  2449. ray/cpp/include/boost/system/error_condition.hpp +13 -0
  2450. ray/cpp/include/boost/system/generic_category.hpp +13 -0
  2451. ray/cpp/include/boost/system/is_error_code_enum.hpp +30 -0
  2452. ray/cpp/include/boost/system/is_error_condition_enum.hpp +30 -0
  2453. ray/cpp/include/boost/system/linux_error.hpp +110 -0
  2454. ray/cpp/include/boost/system/result.hpp +637 -0
  2455. ray/cpp/include/boost/system/system_category.hpp +14 -0
  2456. ray/cpp/include/boost/system/system_error.hpp +55 -0
  2457. ray/cpp/include/boost/system/windows_error.hpp +119 -0
  2458. ray/cpp/include/boost/system.hpp +18 -0
  2459. ray/cpp/include/boost/thread.hpp +26 -0
  2460. ray/cpp/include/boost/throw_exception.hpp +278 -0
  2461. ray/cpp/include/boost/timer.hpp +75 -0
  2462. ray/cpp/include/boost/token_functions.hpp +653 -0
  2463. ray/cpp/include/boost/token_iterator.hpp +131 -0
  2464. ray/cpp/include/boost/tokenizer.hpp +98 -0
  2465. ray/cpp/include/boost/type.hpp +18 -0
  2466. ray/cpp/include/boost/type_index.hpp +265 -0
  2467. ray/cpp/include/boost/type_traits/add_const.hpp +52 -0
  2468. ray/cpp/include/boost/type_traits/add_cv.hpp +47 -0
  2469. ray/cpp/include/boost/type_traits/add_lvalue_reference.hpp +33 -0
  2470. ray/cpp/include/boost/type_traits/add_pointer.hpp +67 -0
  2471. ray/cpp/include/boost/type_traits/add_reference.hpp +66 -0
  2472. ray/cpp/include/boost/type_traits/add_rvalue_reference.hpp +70 -0
  2473. ray/cpp/include/boost/type_traits/add_volatile.hpp +46 -0
  2474. ray/cpp/include/boost/type_traits/aligned_storage.hpp +138 -0
  2475. ray/cpp/include/boost/type_traits/alignment_of.hpp +119 -0
  2476. ray/cpp/include/boost/type_traits/alignment_traits.hpp +15 -0
  2477. ray/cpp/include/boost/type_traits/arithmetic_traits.hpp +20 -0
  2478. ray/cpp/include/boost/type_traits/array_traits.hpp +15 -0
  2479. ray/cpp/include/boost/type_traits/broken_compiler_spec.hpp +21 -0
  2480. ray/cpp/include/boost/type_traits/common_type.hpp +152 -0
  2481. ray/cpp/include/boost/type_traits/composite_traits.hpp +29 -0
  2482. ray/cpp/include/boost/type_traits/conditional.hpp +28 -0
  2483. ray/cpp/include/boost/type_traits/config.hpp +21 -0
  2484. ray/cpp/include/boost/type_traits/conjunction.hpp +40 -0
  2485. ray/cpp/include/boost/type_traits/conversion_traits.hpp +17 -0
  2486. ray/cpp/include/boost/type_traits/copy_cv.hpp +40 -0
  2487. ray/cpp/include/boost/type_traits/copy_cv_ref.hpp +31 -0
  2488. ray/cpp/include/boost/type_traits/copy_reference.hpp +35 -0
  2489. ray/cpp/include/boost/type_traits/cv_traits.hpp +24 -0
  2490. ray/cpp/include/boost/type_traits/decay.hpp +49 -0
  2491. ray/cpp/include/boost/type_traits/declval.hpp +44 -0
  2492. ray/cpp/include/boost/type_traits/detail/bool_trait_def.hpp +179 -0
  2493. ray/cpp/include/boost/type_traits/detail/bool_trait_undef.hpp +28 -0
  2494. ray/cpp/include/boost/type_traits/detail/common_arithmetic_type.hpp +220 -0
  2495. ray/cpp/include/boost/type_traits/detail/common_type_impl.hpp +107 -0
  2496. ray/cpp/include/boost/type_traits/detail/composite_member_pointer_type.hpp +113 -0
  2497. ray/cpp/include/boost/type_traits/detail/composite_pointer_type.hpp +153 -0
  2498. ray/cpp/include/boost/type_traits/detail/config.hpp +116 -0
  2499. ray/cpp/include/boost/type_traits/detail/detector.hpp +37 -0
  2500. ray/cpp/include/boost/type_traits/detail/has_binary_operator.hpp +279 -0
  2501. ray/cpp/include/boost/type_traits/detail/has_postfix_operator.hpp +250 -0
  2502. ray/cpp/include/boost/type_traits/detail/has_prefix_operator.hpp +280 -0
  2503. ray/cpp/include/boost/type_traits/detail/ice_and.hpp +42 -0
  2504. ray/cpp/include/boost/type_traits/detail/ice_eq.hpp +43 -0
  2505. ray/cpp/include/boost/type_traits/detail/ice_not.hpp +38 -0
  2506. ray/cpp/include/boost/type_traits/detail/ice_or.hpp +41 -0
  2507. ray/cpp/include/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
  2508. ray/cpp/include/boost/type_traits/detail/is_function_cxx_11.hpp +676 -0
  2509. ray/cpp/include/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
  2510. ray/cpp/include/boost/type_traits/detail/is_function_ptr_helper.hpp +444 -0
  2511. ray/cpp/include/boost/type_traits/detail/is_function_ptr_tester.hpp +609 -0
  2512. ray/cpp/include/boost/type_traits/detail/is_likely_lambda.hpp +95 -0
  2513. ray/cpp/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +1328 -0
  2514. ray/cpp/include/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +1603 -0
  2515. ray/cpp/include/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
  2516. ray/cpp/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +697 -0
  2517. ray/cpp/include/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
  2518. ray/cpp/include/boost/type_traits/detail/mp_defer.hpp +56 -0
  2519. ray/cpp/include/boost/type_traits/detail/template_arity_spec.hpp +16 -0
  2520. ray/cpp/include/boost/type_traits/detail/yes_no_type.hpp +26 -0
  2521. ray/cpp/include/boost/type_traits/detected.hpp +24 -0
  2522. ray/cpp/include/boost/type_traits/detected_or.hpp +25 -0
  2523. ray/cpp/include/boost/type_traits/disjunction.hpp +40 -0
  2524. ray/cpp/include/boost/type_traits/enable_if.hpp +37 -0
  2525. ray/cpp/include/boost/type_traits/extent.hpp +139 -0
  2526. ray/cpp/include/boost/type_traits/floating_point_promotion.hpp +28 -0
  2527. ray/cpp/include/boost/type_traits/function_traits.hpp +174 -0
  2528. ray/cpp/include/boost/type_traits/has_bit_and.hpp +49 -0
  2529. ray/cpp/include/boost/type_traits/has_bit_and_assign.hpp +55 -0
  2530. ray/cpp/include/boost/type_traits/has_bit_or.hpp +49 -0
  2531. ray/cpp/include/boost/type_traits/has_bit_or_assign.hpp +55 -0
  2532. ray/cpp/include/boost/type_traits/has_bit_xor.hpp +49 -0
  2533. ray/cpp/include/boost/type_traits/has_bit_xor_assign.hpp +55 -0
  2534. ray/cpp/include/boost/type_traits/has_complement.hpp +32 -0
  2535. ray/cpp/include/boost/type_traits/has_dereference.hpp +375 -0
  2536. ray/cpp/include/boost/type_traits/has_divides.hpp +40 -0
  2537. ray/cpp/include/boost/type_traits/has_divides_assign.hpp +47 -0
  2538. ray/cpp/include/boost/type_traits/has_equal_to.hpp +52 -0
  2539. ray/cpp/include/boost/type_traits/has_greater.hpp +52 -0
  2540. ray/cpp/include/boost/type_traits/has_greater_equal.hpp +52 -0
  2541. ray/cpp/include/boost/type_traits/has_left_shift.hpp +49 -0
  2542. ray/cpp/include/boost/type_traits/has_left_shift_assign.hpp +55 -0
  2543. ray/cpp/include/boost/type_traits/has_less.hpp +52 -0
  2544. ray/cpp/include/boost/type_traits/has_less_equal.hpp +52 -0
  2545. ray/cpp/include/boost/type_traits/has_logical_and.hpp +40 -0
  2546. ray/cpp/include/boost/type_traits/has_logical_not.hpp +32 -0
  2547. ray/cpp/include/boost/type_traits/has_logical_or.hpp +40 -0
  2548. ray/cpp/include/boost/type_traits/has_minus.hpp +158 -0
  2549. ray/cpp/include/boost/type_traits/has_minus_assign.hpp +163 -0
  2550. ray/cpp/include/boost/type_traits/has_modulus.hpp +49 -0
  2551. ray/cpp/include/boost/type_traits/has_modulus_assign.hpp +55 -0
  2552. ray/cpp/include/boost/type_traits/has_multiplies.hpp +40 -0
  2553. ray/cpp/include/boost/type_traits/has_multiplies_assign.hpp +47 -0
  2554. ray/cpp/include/boost/type_traits/has_negate.hpp +25 -0
  2555. ray/cpp/include/boost/type_traits/has_new_operator.hpp +147 -0
  2556. ray/cpp/include/boost/type_traits/has_not_equal_to.hpp +52 -0
  2557. ray/cpp/include/boost/type_traits/has_nothrow_assign.hpp +84 -0
  2558. ray/cpp/include/boost/type_traits/has_nothrow_constructor.hpp +73 -0
  2559. ray/cpp/include/boost/type_traits/has_nothrow_copy.hpp +82 -0
  2560. ray/cpp/include/boost/type_traits/has_nothrow_destructor.hpp +56 -0
  2561. ray/cpp/include/boost/type_traits/has_operator.hpp +51 -0
  2562. ray/cpp/include/boost/type_traits/has_plus.hpp +54 -0
  2563. ray/cpp/include/boost/type_traits/has_plus_assign.hpp +161 -0
  2564. ray/cpp/include/boost/type_traits/has_post_decrement.hpp +65 -0
  2565. ray/cpp/include/boost/type_traits/has_post_increment.hpp +65 -0
  2566. ray/cpp/include/boost/type_traits/has_pre_decrement.hpp +65 -0
  2567. ray/cpp/include/boost/type_traits/has_pre_increment.hpp +66 -0
  2568. ray/cpp/include/boost/type_traits/has_right_shift.hpp +49 -0
  2569. ray/cpp/include/boost/type_traits/has_right_shift_assign.hpp +55 -0
  2570. ray/cpp/include/boost/type_traits/has_trivial_assign.hpp +52 -0
  2571. ray/cpp/include/boost/type_traits/has_trivial_constructor.hpp +57 -0
  2572. ray/cpp/include/boost/type_traits/has_trivial_copy.hpp +63 -0
  2573. ray/cpp/include/boost/type_traits/has_trivial_destructor.hpp +48 -0
  2574. ray/cpp/include/boost/type_traits/has_trivial_move_assign.hpp +73 -0
  2575. ray/cpp/include/boost/type_traits/has_trivial_move_constructor.hpp +79 -0
  2576. ray/cpp/include/boost/type_traits/has_unary_minus.hpp +25 -0
  2577. ray/cpp/include/boost/type_traits/has_unary_plus.hpp +23 -0
  2578. ray/cpp/include/boost/type_traits/has_virtual_destructor.hpp +26 -0
  2579. ray/cpp/include/boost/type_traits/ice.hpp +20 -0
  2580. ray/cpp/include/boost/type_traits/integral_constant.hpp +97 -0
  2581. ray/cpp/include/boost/type_traits/integral_promotion.hpp +187 -0
  2582. ray/cpp/include/boost/type_traits/intrinsics.hpp +405 -0
  2583. ray/cpp/include/boost/type_traits/is_abstract.hpp +150 -0
  2584. ray/cpp/include/boost/type_traits/is_arithmetic.hpp +22 -0
  2585. ray/cpp/include/boost/type_traits/is_array.hpp +43 -0
  2586. ray/cpp/include/boost/type_traits/is_assignable.hpp +85 -0
  2587. ray/cpp/include/boost/type_traits/is_base_and_derived.hpp +244 -0
  2588. ray/cpp/include/boost/type_traits/is_base_of.hpp +39 -0
  2589. ray/cpp/include/boost/type_traits/is_base_of_tr1.hpp +37 -0
  2590. ray/cpp/include/boost/type_traits/is_bounded_array.hpp +42 -0
  2591. ray/cpp/include/boost/type_traits/is_class.hpp +114 -0
  2592. ray/cpp/include/boost/type_traits/is_complete.hpp +93 -0
  2593. ray/cpp/include/boost/type_traits/is_complex.hpp +25 -0
  2594. ray/cpp/include/boost/type_traits/is_compound.hpp +24 -0
  2595. ray/cpp/include/boost/type_traits/is_const.hpp +47 -0
  2596. ray/cpp/include/boost/type_traits/is_constructible.hpp +90 -0
  2597. ray/cpp/include/boost/type_traits/is_convertible.hpp +506 -0
  2598. ray/cpp/include/boost/type_traits/is_copy_assignable.hpp +140 -0
  2599. ray/cpp/include/boost/type_traits/is_copy_constructible.hpp +185 -0
  2600. ray/cpp/include/boost/type_traits/is_default_constructible.hpp +98 -0
  2601. ray/cpp/include/boost/type_traits/is_destructible.hpp +69 -0
  2602. ray/cpp/include/boost/type_traits/is_detected.hpp +29 -0
  2603. ray/cpp/include/boost/type_traits/is_detected_convertible.hpp +29 -0
  2604. ray/cpp/include/boost/type_traits/is_detected_exact.hpp +29 -0
  2605. ray/cpp/include/boost/type_traits/is_empty.hpp +120 -0
  2606. ray/cpp/include/boost/type_traits/is_enum.hpp +166 -0
  2607. ray/cpp/include/boost/type_traits/is_final.hpp +30 -0
  2608. ray/cpp/include/boost/type_traits/is_float.hpp +20 -0
  2609. ray/cpp/include/boost/type_traits/is_floating_point.hpp +30 -0
  2610. ray/cpp/include/boost/type_traits/is_function.hpp +27 -0
  2611. ray/cpp/include/boost/type_traits/is_fundamental.hpp +26 -0
  2612. ray/cpp/include/boost/type_traits/is_integral.hpp +89 -0
  2613. ray/cpp/include/boost/type_traits/is_list_constructible.hpp +48 -0
  2614. ray/cpp/include/boost/type_traits/is_lvalue_reference.hpp +50 -0
  2615. ray/cpp/include/boost/type_traits/is_member_function_pointer.hpp +26 -0
  2616. ray/cpp/include/boost/type_traits/is_member_object_pointer.hpp +24 -0
  2617. ray/cpp/include/boost/type_traits/is_member_pointer.hpp +45 -0
  2618. ray/cpp/include/boost/type_traits/is_noncopyable.hpp +39 -0
  2619. ray/cpp/include/boost/type_traits/is_nothrow_move_assignable.hpp +92 -0
  2620. ray/cpp/include/boost/type_traits/is_nothrow_move_constructible.hpp +97 -0
  2621. ray/cpp/include/boost/type_traits/is_nothrow_swappable.hpp +67 -0
  2622. ray/cpp/include/boost/type_traits/is_object.hpp +28 -0
  2623. ray/cpp/include/boost/type_traits/is_pod.hpp +59 -0
  2624. ray/cpp/include/boost/type_traits/is_pointer.hpp +47 -0
  2625. ray/cpp/include/boost/type_traits/is_polymorphic.hpp +122 -0
  2626. ray/cpp/include/boost/type_traits/is_reference.hpp +30 -0
  2627. ray/cpp/include/boost/type_traits/is_rvalue_reference.hpp +29 -0
  2628. ray/cpp/include/boost/type_traits/is_same.hpp +41 -0
  2629. ray/cpp/include/boost/type_traits/is_scalar.hpp +27 -0
  2630. ray/cpp/include/boost/type_traits/is_scoped_enum.hpp +26 -0
  2631. ray/cpp/include/boost/type_traits/is_signed.hpp +163 -0
  2632. ray/cpp/include/boost/type_traits/is_stateless.hpp +33 -0
  2633. ray/cpp/include/boost/type_traits/is_trivially_copyable.hpp +31 -0
  2634. ray/cpp/include/boost/type_traits/is_unbounded_array.hpp +41 -0
  2635. ray/cpp/include/boost/type_traits/is_union.hpp +31 -0
  2636. ray/cpp/include/boost/type_traits/is_unscoped_enum.hpp +25 -0
  2637. ray/cpp/include/boost/type_traits/is_unsigned.hpp +163 -0
  2638. ray/cpp/include/boost/type_traits/is_virtual_base_of.hpp +146 -0
  2639. ray/cpp/include/boost/type_traits/is_void.hpp +26 -0
  2640. ray/cpp/include/boost/type_traits/is_volatile.hpp +46 -0
  2641. ray/cpp/include/boost/type_traits/make_signed.hpp +137 -0
  2642. ray/cpp/include/boost/type_traits/make_unsigned.hpp +136 -0
  2643. ray/cpp/include/boost/type_traits/make_void.hpp +52 -0
  2644. ray/cpp/include/boost/type_traits/negation.hpp +23 -0
  2645. ray/cpp/include/boost/type_traits/nonesuch.hpp +35 -0
  2646. ray/cpp/include/boost/type_traits/object_traits.hpp +33 -0
  2647. ray/cpp/include/boost/type_traits/promote.hpp +26 -0
  2648. ray/cpp/include/boost/type_traits/rank.hpp +87 -0
  2649. ray/cpp/include/boost/type_traits/reference_traits.hpp +15 -0
  2650. ray/cpp/include/boost/type_traits/remove_all_extents.hpp +41 -0
  2651. ray/cpp/include/boost/type_traits/remove_bounds.hpp +28 -0
  2652. ray/cpp/include/boost/type_traits/remove_const.hpp +39 -0
  2653. ray/cpp/include/boost/type_traits/remove_cv.hpp +45 -0
  2654. ray/cpp/include/boost/type_traits/remove_cv_ref.hpp +30 -0
  2655. ray/cpp/include/boost/type_traits/remove_extent.hpp +41 -0
  2656. ray/cpp/include/boost/type_traits/remove_pointer.hpp +84 -0
  2657. ray/cpp/include/boost/type_traits/remove_reference.hpp +59 -0
  2658. ray/cpp/include/boost/type_traits/remove_volatile.hpp +39 -0
  2659. ray/cpp/include/boost/type_traits/same_traits.hpp +15 -0
  2660. ray/cpp/include/boost/type_traits/transform_traits.hpp +21 -0
  2661. ray/cpp/include/boost/type_traits/type_identity.hpp +31 -0
  2662. ray/cpp/include/boost/type_traits/type_with_alignment.hpp +260 -0
  2663. ray/cpp/include/boost/type_traits.hpp +163 -0
  2664. ray/cpp/include/boost/unordered_map.hpp +19 -0
  2665. ray/cpp/include/boost/unordered_set.hpp +19 -0
  2666. ray/cpp/include/boost/url.hpp +69 -0
  2667. ray/cpp/include/boost/utility/addressof.hpp +17 -0
  2668. ray/cpp/include/boost/utility/base_from_member.hpp +173 -0
  2669. ray/cpp/include/boost/utility/binary.hpp +709 -0
  2670. ray/cpp/include/boost/utility/compare_pointees.hpp +76 -0
  2671. ray/cpp/include/boost/utility/declval.hpp +13 -0
  2672. ray/cpp/include/boost/utility/detail/in_place_factory_prefix.hpp +36 -0
  2673. ray/cpp/include/boost/utility/detail/in_place_factory_suffix.hpp +23 -0
  2674. ray/cpp/include/boost/utility/detail/minstd_rand.hpp +58 -0
  2675. ray/cpp/include/boost/utility/detail/result_of_iterate.hpp +218 -0
  2676. ray/cpp/include/boost/utility/detail/result_of_variadic.hpp +190 -0
  2677. ray/cpp/include/boost/utility/enable_if.hpp +17 -0
  2678. ray/cpp/include/boost/utility/explicit_operator_bool.hpp +17 -0
  2679. ray/cpp/include/boost/utility/identity_type.hpp +46 -0
  2680. ray/cpp/include/boost/utility/in_place_factory.hpp +92 -0
  2681. ray/cpp/include/boost/utility/result_of.hpp +256 -0
  2682. ray/cpp/include/boost/utility/string_ref.hpp +520 -0
  2683. ray/cpp/include/boost/utility/string_ref_fwd.hpp +37 -0
  2684. ray/cpp/include/boost/utility/string_view.hpp +694 -0
  2685. ray/cpp/include/boost/utility/string_view_fwd.hpp +39 -0
  2686. ray/cpp/include/boost/utility/swap.hpp +17 -0
  2687. ray/cpp/include/boost/utility/typed_in_place_factory.hpp +82 -0
  2688. ray/cpp/include/boost/utility/value_init.hpp +247 -0
  2689. ray/cpp/include/boost/utility.hpp +24 -0
  2690. ray/cpp/include/boost/variant.hpp +27 -0
  2691. ray/cpp/include/boost/variant2.hpp +10 -0
  2692. ray/cpp/include/boost/version.hpp +32 -0
  2693. ray/cpp/include/boost/visit_each.hpp +27 -0
  2694. ray/cpp/include/boost/wave.hpp +23 -0
  2695. ray/cpp/include/boost/weak_ptr.hpp +18 -0
  2696. ray/cpp/include/msgpack/adaptor/adaptor_base.hpp +19 -0
  2697. ray/cpp/include/msgpack/adaptor/adaptor_base_decl.hpp +17 -0
  2698. ray/cpp/include/msgpack/adaptor/array_ref.hpp +17 -0
  2699. ray/cpp/include/msgpack/adaptor/array_ref_decl.hpp +17 -0
  2700. ray/cpp/include/msgpack/adaptor/bool.hpp +15 -0
  2701. ray/cpp/include/msgpack/adaptor/boost/fusion.hpp +15 -0
  2702. ray/cpp/include/msgpack/adaptor/boost/msgpack_variant.hpp +18 -0
  2703. ray/cpp/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp +17 -0
  2704. ray/cpp/include/msgpack/adaptor/boost/optional.hpp +15 -0
  2705. ray/cpp/include/msgpack/adaptor/boost/string_ref.hpp +15 -0
  2706. ray/cpp/include/msgpack/adaptor/boost/string_view.hpp +15 -0
  2707. ray/cpp/include/msgpack/adaptor/carray.hpp +15 -0
  2708. ray/cpp/include/msgpack/adaptor/char_ptr.hpp +15 -0
  2709. ray/cpp/include/msgpack/adaptor/check_container_size.hpp +17 -0
  2710. ray/cpp/include/msgpack/adaptor/check_container_size_decl.hpp +17 -0
  2711. ray/cpp/include/msgpack/adaptor/cpp11/array.hpp +16 -0
  2712. ray/cpp/include/msgpack/adaptor/cpp11/array_char.hpp +16 -0
  2713. ray/cpp/include/msgpack/adaptor/cpp11/array_unsigned_char.hpp +16 -0
  2714. ray/cpp/include/msgpack/adaptor/cpp11/chrono.hpp +16 -0
  2715. ray/cpp/include/msgpack/adaptor/cpp11/forward_list.hpp +16 -0
  2716. ray/cpp/include/msgpack/adaptor/cpp11/reference_wrapper.hpp +16 -0
  2717. ray/cpp/include/msgpack/adaptor/cpp11/shared_ptr.hpp +16 -0
  2718. ray/cpp/include/msgpack/adaptor/cpp11/timespec.hpp +16 -0
  2719. ray/cpp/include/msgpack/adaptor/cpp11/tuple.hpp +16 -0
  2720. ray/cpp/include/msgpack/adaptor/cpp11/unique_ptr.hpp +16 -0
  2721. ray/cpp/include/msgpack/adaptor/cpp11/unordered_map.hpp +16 -0
  2722. ray/cpp/include/msgpack/adaptor/cpp11/unordered_set.hpp +16 -0
  2723. ray/cpp/include/msgpack/adaptor/cpp17/byte.hpp +16 -0
  2724. ray/cpp/include/msgpack/adaptor/cpp17/carray_byte.hpp +16 -0
  2725. ray/cpp/include/msgpack/adaptor/cpp17/optional.hpp +16 -0
  2726. ray/cpp/include/msgpack/adaptor/cpp17/string_view.hpp +16 -0
  2727. ray/cpp/include/msgpack/adaptor/cpp17/vector_byte.hpp +16 -0
  2728. ray/cpp/include/msgpack/adaptor/define.hpp +17 -0
  2729. ray/cpp/include/msgpack/adaptor/define_decl.hpp +144 -0
  2730. ray/cpp/include/msgpack/adaptor/deque.hpp +15 -0
  2731. ray/cpp/include/msgpack/adaptor/ext.hpp +17 -0
  2732. ray/cpp/include/msgpack/adaptor/ext_decl.hpp +17 -0
  2733. ray/cpp/include/msgpack/adaptor/fixint.hpp +17 -0
  2734. ray/cpp/include/msgpack/adaptor/fixint_decl.hpp +17 -0
  2735. ray/cpp/include/msgpack/adaptor/float.hpp +15 -0
  2736. ray/cpp/include/msgpack/adaptor/int.hpp +17 -0
  2737. ray/cpp/include/msgpack/adaptor/int_decl.hpp +17 -0
  2738. ray/cpp/include/msgpack/adaptor/list.hpp +15 -0
  2739. ray/cpp/include/msgpack/adaptor/map.hpp +18 -0
  2740. ray/cpp/include/msgpack/adaptor/map_decl.hpp +17 -0
  2741. ray/cpp/include/msgpack/adaptor/msgpack_tuple.hpp +17 -0
  2742. ray/cpp/include/msgpack/adaptor/msgpack_tuple_decl.hpp +17 -0
  2743. ray/cpp/include/msgpack/adaptor/nil.hpp +17 -0
  2744. ray/cpp/include/msgpack/adaptor/nil_decl.hpp +17 -0
  2745. ray/cpp/include/msgpack/adaptor/pair.hpp +15 -0
  2746. ray/cpp/include/msgpack/adaptor/raw.hpp +17 -0
  2747. ray/cpp/include/msgpack/adaptor/raw_decl.hpp +17 -0
  2748. ray/cpp/include/msgpack/adaptor/set.hpp +15 -0
  2749. ray/cpp/include/msgpack/adaptor/size_equal_only.hpp +17 -0
  2750. ray/cpp/include/msgpack/adaptor/size_equal_only_decl.hpp +17 -0
  2751. ray/cpp/include/msgpack/adaptor/string.hpp +15 -0
  2752. ray/cpp/include/msgpack/adaptor/tr1/unordered_map.hpp +171 -0
  2753. ray/cpp/include/msgpack/adaptor/tr1/unordered_set.hpp +165 -0
  2754. ray/cpp/include/msgpack/adaptor/v4raw.hpp +17 -0
  2755. ray/cpp/include/msgpack/adaptor/v4raw_decl.hpp +17 -0
  2756. ray/cpp/include/msgpack/adaptor/vector.hpp +15 -0
  2757. ray/cpp/include/msgpack/adaptor/vector_bool.hpp +15 -0
  2758. ray/cpp/include/msgpack/adaptor/vector_char.hpp +15 -0
  2759. ray/cpp/include/msgpack/adaptor/vector_unsigned_char.hpp +15 -0
  2760. ray/cpp/include/msgpack/adaptor/wstring.hpp +15 -0
  2761. ray/cpp/include/msgpack/cpp_config.hpp +17 -0
  2762. ray/cpp/include/msgpack/cpp_config_decl.hpp +17 -0
  2763. ray/cpp/include/msgpack/create_object_visitor.hpp +17 -0
  2764. ray/cpp/include/msgpack/create_object_visitor_decl.hpp +16 -0
  2765. ray/cpp/include/msgpack/fbuffer.h +38 -0
  2766. ray/cpp/include/msgpack/fbuffer.hpp +17 -0
  2767. ray/cpp/include/msgpack/fbuffer_decl.hpp +17 -0
  2768. ray/cpp/include/msgpack/gcc_atomic.h +25 -0
  2769. ray/cpp/include/msgpack/gcc_atomic.hpp +31 -0
  2770. ray/cpp/include/msgpack/iterator.hpp +18 -0
  2771. ray/cpp/include/msgpack/iterator_decl.hpp +18 -0
  2772. ray/cpp/include/msgpack/meta.hpp +18 -0
  2773. ray/cpp/include/msgpack/meta_decl.hpp +18 -0
  2774. ray/cpp/include/msgpack/null_visitor.hpp +17 -0
  2775. ray/cpp/include/msgpack/null_visitor_decl.hpp +16 -0
  2776. ray/cpp/include/msgpack/object.h +118 -0
  2777. ray/cpp/include/msgpack/object.hpp +18 -0
  2778. ray/cpp/include/msgpack/object_decl.hpp +18 -0
  2779. ray/cpp/include/msgpack/object_fwd.hpp +20 -0
  2780. ray/cpp/include/msgpack/object_fwd_decl.hpp +18 -0
  2781. ray/cpp/include/msgpack/pack.h +151 -0
  2782. ray/cpp/include/msgpack/pack.hpp +17 -0
  2783. ray/cpp/include/msgpack/pack_decl.hpp +17 -0
  2784. ray/cpp/include/msgpack/pack_define.h +18 -0
  2785. ray/cpp/include/msgpack/pack_template.h +945 -0
  2786. ray/cpp/include/msgpack/parse.hpp +18 -0
  2787. ray/cpp/include/msgpack/parse_decl.hpp +16 -0
  2788. ray/cpp/include/msgpack/parse_return.hpp +17 -0
  2789. ray/cpp/include/msgpack/predef/architecture/alpha.h +59 -0
  2790. ray/cpp/include/msgpack/predef/architecture/arm.h +80 -0
  2791. ray/cpp/include/msgpack/predef/architecture/blackfin.h +46 -0
  2792. ray/cpp/include/msgpack/predef/architecture/convex.h +65 -0
  2793. ray/cpp/include/msgpack/predef/architecture/ia64.h +49 -0
  2794. ray/cpp/include/msgpack/predef/architecture/m68k.h +82 -0
  2795. ray/cpp/include/msgpack/predef/architecture/mips.h +73 -0
  2796. ray/cpp/include/msgpack/predef/architecture/parisc.h +64 -0
  2797. ray/cpp/include/msgpack/predef/architecture/ppc.h +72 -0
  2798. ray/cpp/include/msgpack/predef/architecture/ptx.h +44 -0
  2799. ray/cpp/include/msgpack/predef/architecture/pyramid.h +42 -0
  2800. ray/cpp/include/msgpack/predef/architecture/rs6k.h +56 -0
  2801. ray/cpp/include/msgpack/predef/architecture/sparc.h +54 -0
  2802. ray/cpp/include/msgpack/predef/architecture/superh.h +67 -0
  2803. ray/cpp/include/msgpack/predef/architecture/sys370.h +43 -0
  2804. ray/cpp/include/msgpack/predef/architecture/sys390.h +43 -0
  2805. ray/cpp/include/msgpack/predef/architecture/x86/32.h +87 -0
  2806. ray/cpp/include/msgpack/predef/architecture/x86/64.h +50 -0
  2807. ray/cpp/include/msgpack/predef/architecture/x86.h +38 -0
  2808. ray/cpp/include/msgpack/predef/architecture/z.h +42 -0
  2809. ray/cpp/include/msgpack/predef/architecture.h +33 -0
  2810. ray/cpp/include/msgpack/predef/compiler/borland.h +63 -0
  2811. ray/cpp/include/msgpack/predef/compiler/clang.h +56 -0
  2812. ray/cpp/include/msgpack/predef/compiler/comeau.h +61 -0
  2813. ray/cpp/include/msgpack/predef/compiler/compaq.h +66 -0
  2814. ray/cpp/include/msgpack/predef/compiler/diab.h +56 -0
  2815. ray/cpp/include/msgpack/predef/compiler/digitalmars.h +56 -0
  2816. ray/cpp/include/msgpack/predef/compiler/dignus.h +56 -0
  2817. ray/cpp/include/msgpack/predef/compiler/edg.h +56 -0
  2818. ray/cpp/include/msgpack/predef/compiler/ekopath.h +57 -0
  2819. ray/cpp/include/msgpack/predef/compiler/gcc.h +68 -0
  2820. ray/cpp/include/msgpack/predef/compiler/gcc_xml.h +53 -0
  2821. ray/cpp/include/msgpack/predef/compiler/greenhills.h +66 -0
  2822. ray/cpp/include/msgpack/predef/compiler/hp_acc.h +61 -0
  2823. ray/cpp/include/msgpack/predef/compiler/iar.h +56 -0
  2824. ray/cpp/include/msgpack/predef/compiler/ibm.h +72 -0
  2825. ray/cpp/include/msgpack/predef/compiler/intel.h +79 -0
  2826. ray/cpp/include/msgpack/predef/compiler/kai.h +56 -0
  2827. ray/cpp/include/msgpack/predef/compiler/llvm.h +57 -0
  2828. ray/cpp/include/msgpack/predef/compiler/metaware.h +53 -0
  2829. ray/cpp/include/msgpack/predef/compiler/metrowerks.h +77 -0
  2830. ray/cpp/include/msgpack/predef/compiler/microtec.h +53 -0
  2831. ray/cpp/include/msgpack/predef/compiler/mpw.h +63 -0
  2832. ray/cpp/include/msgpack/predef/compiler/nvcc.h +60 -0
  2833. ray/cpp/include/msgpack/predef/compiler/palm.h +56 -0
  2834. ray/cpp/include/msgpack/predef/compiler/pgi.h +60 -0
  2835. ray/cpp/include/msgpack/predef/compiler/sgi_mipspro.h +66 -0
  2836. ray/cpp/include/msgpack/predef/compiler/sunpro.h +76 -0
  2837. ray/cpp/include/msgpack/predef/compiler/tendra.h +53 -0
  2838. ray/cpp/include/msgpack/predef/compiler/visualc.h +105 -0
  2839. ray/cpp/include/msgpack/predef/compiler/watcom.h +56 -0
  2840. ray/cpp/include/msgpack/predef/compiler.h +44 -0
  2841. ray/cpp/include/msgpack/predef/detail/_cassert.h +17 -0
  2842. ray/cpp/include/msgpack/predef/detail/_exception.h +15 -0
  2843. ray/cpp/include/msgpack/predef/detail/comp_detected.h +10 -0
  2844. ray/cpp/include/msgpack/predef/detail/endian_compat.h +26 -0
  2845. ray/cpp/include/msgpack/predef/detail/os_detected.h +10 -0
  2846. ray/cpp/include/msgpack/predef/detail/platform_detected.h +10 -0
  2847. ray/cpp/include/msgpack/predef/detail/test.h +17 -0
  2848. ray/cpp/include/msgpack/predef/detail/test_def.h +71 -0
  2849. ray/cpp/include/msgpack/predef/hardware/simd/arm/versions.h +32 -0
  2850. ray/cpp/include/msgpack/predef/hardware/simd/arm.h +59 -0
  2851. ray/cpp/include/msgpack/predef/hardware/simd/ppc/versions.h +51 -0
  2852. ray/cpp/include/msgpack/predef/hardware/simd/ppc.h +69 -0
  2853. ray/cpp/include/msgpack/predef/hardware/simd/x86/versions.h +129 -0
  2854. ray/cpp/include/msgpack/predef/hardware/simd/x86.h +123 -0
  2855. ray/cpp/include/msgpack/predef/hardware/simd/x86_amd/versions.h +51 -0
  2856. ray/cpp/include/msgpack/predef/hardware/simd/x86_amd.h +87 -0
  2857. ray/cpp/include/msgpack/predef/hardware/simd.h +119 -0
  2858. ray/cpp/include/msgpack/predef/hardware.h +16 -0
  2859. ray/cpp/include/msgpack/predef/language/cuda.h +52 -0
  2860. ray/cpp/include/msgpack/predef/language/objc.h +42 -0
  2861. ray/cpp/include/msgpack/predef/language/stdc.h +53 -0
  2862. ray/cpp/include/msgpack/predef/language/stdcpp.h +121 -0
  2863. ray/cpp/include/msgpack/predef/language.h +18 -0
  2864. ray/cpp/include/msgpack/predef/library/c/_prefix.h +13 -0
  2865. ray/cpp/include/msgpack/predef/library/c/cloudabi.h +53 -0
  2866. ray/cpp/include/msgpack/predef/library/c/gnu.h +61 -0
  2867. ray/cpp/include/msgpack/predef/library/c/uc.h +47 -0
  2868. ray/cpp/include/msgpack/predef/library/c/vms.h +47 -0
  2869. ray/cpp/include/msgpack/predef/library/c/zos.h +56 -0
  2870. ray/cpp/include/msgpack/predef/library/c.h +21 -0
  2871. ray/cpp/include/msgpack/predef/library/std/_prefix.h +23 -0
  2872. ray/cpp/include/msgpack/predef/library/std/cxx.h +46 -0
  2873. ray/cpp/include/msgpack/predef/library/std/dinkumware.h +52 -0
  2874. ray/cpp/include/msgpack/predef/library/std/libcomo.h +47 -0
  2875. ray/cpp/include/msgpack/predef/library/std/modena.h +45 -0
  2876. ray/cpp/include/msgpack/predef/library/std/msl.h +53 -0
  2877. ray/cpp/include/msgpack/predef/library/std/roguewave.h +56 -0
  2878. ray/cpp/include/msgpack/predef/library/std/sgi.h +51 -0
  2879. ray/cpp/include/msgpack/predef/library/std/stdcpp3.h +53 -0
  2880. ray/cpp/include/msgpack/predef/library/std/stlport.h +59 -0
  2881. ray/cpp/include/msgpack/predef/library/std/vacpp.h +44 -0
  2882. ray/cpp/include/msgpack/predef/library/std.h +25 -0
  2883. ray/cpp/include/msgpack/predef/library.h +16 -0
  2884. ray/cpp/include/msgpack/predef/make.h +97 -0
  2885. ray/cpp/include/msgpack/predef/os/aix.h +66 -0
  2886. ray/cpp/include/msgpack/predef/os/amigaos.h +46 -0
  2887. ray/cpp/include/msgpack/predef/os/android.h +45 -0
  2888. ray/cpp/include/msgpack/predef/os/beos.h +45 -0
  2889. ray/cpp/include/msgpack/predef/os/bsd/bsdi.h +48 -0
  2890. ray/cpp/include/msgpack/predef/os/bsd/dragonfly.h +50 -0
  2891. ray/cpp/include/msgpack/predef/os/bsd/free.h +67 -0
  2892. ray/cpp/include/msgpack/predef/os/bsd/net.h +84 -0
  2893. ray/cpp/include/msgpack/predef/os/bsd/open.h +251 -0
  2894. ray/cpp/include/msgpack/predef/os/bsd.h +103 -0
  2895. ray/cpp/include/msgpack/predef/os/cygwin.h +45 -0
  2896. ray/cpp/include/msgpack/predef/os/haiku.h +46 -0
  2897. ray/cpp/include/msgpack/predef/os/hpux.h +47 -0
  2898. ray/cpp/include/msgpack/predef/os/ios.h +51 -0
  2899. ray/cpp/include/msgpack/predef/os/irix.h +46 -0
  2900. ray/cpp/include/msgpack/predef/os/linux.h +46 -0
  2901. ray/cpp/include/msgpack/predef/os/macos.h +65 -0
  2902. ray/cpp/include/msgpack/predef/os/os400.h +45 -0
  2903. ray/cpp/include/msgpack/predef/os/qnxnto.h +59 -0
  2904. ray/cpp/include/msgpack/predef/os/solaris.h +46 -0
  2905. ray/cpp/include/msgpack/predef/os/unix.h +76 -0
  2906. ray/cpp/include/msgpack/predef/os/vms.h +52 -0
  2907. ray/cpp/include/msgpack/predef/os/windows.h +51 -0
  2908. ray/cpp/include/msgpack/predef/os.h +33 -0
  2909. ray/cpp/include/msgpack/predef/other/endian.h +203 -0
  2910. ray/cpp/include/msgpack/predef/other/workaround.h +87 -0
  2911. ray/cpp/include/msgpack/predef/other.h +16 -0
  2912. ray/cpp/include/msgpack/predef/platform/cloudabi.h +43 -0
  2913. ray/cpp/include/msgpack/predef/platform/ios.h +58 -0
  2914. ray/cpp/include/msgpack/predef/platform/mingw.h +69 -0
  2915. ray/cpp/include/msgpack/predef/platform/mingw32.h +63 -0
  2916. ray/cpp/include/msgpack/predef/platform/mingw64.h +63 -0
  2917. ray/cpp/include/msgpack/predef/platform/windows_desktop.h +51 -0
  2918. ray/cpp/include/msgpack/predef/platform/windows_phone.h +48 -0
  2919. ray/cpp/include/msgpack/predef/platform/windows_runtime.h +53 -0
  2920. ray/cpp/include/msgpack/predef/platform/windows_server.h +47 -0
  2921. ray/cpp/include/msgpack/predef/platform/windows_store.h +50 -0
  2922. ray/cpp/include/msgpack/predef/platform/windows_system.h +47 -0
  2923. ray/cpp/include/msgpack/predef/platform/windows_uwp.h +60 -0
  2924. ray/cpp/include/msgpack/predef/platform.h +28 -0
  2925. ray/cpp/include/msgpack/predef/version.h +15 -0
  2926. ray/cpp/include/msgpack/predef/version_number.h +72 -0
  2927. ray/cpp/include/msgpack/predef.h +24 -0
  2928. ray/cpp/include/msgpack/preprocessor/arithmetic/add.hpp +51 -0
  2929. ray/cpp/include/msgpack/preprocessor/arithmetic/dec.hpp +289 -0
  2930. ray/cpp/include/msgpack/preprocessor/arithmetic/detail/div_base.hpp +61 -0
  2931. ray/cpp/include/msgpack/preprocessor/arithmetic/div.hpp +39 -0
  2932. ray/cpp/include/msgpack/preprocessor/arithmetic/inc.hpp +288 -0
  2933. ray/cpp/include/msgpack/preprocessor/arithmetic/mod.hpp +39 -0
  2934. ray/cpp/include/msgpack/preprocessor/arithmetic/mul.hpp +53 -0
  2935. ray/cpp/include/msgpack/preprocessor/arithmetic/sub.hpp +50 -0
  2936. ray/cpp/include/msgpack/preprocessor/arithmetic.hpp +25 -0
  2937. ray/cpp/include/msgpack/preprocessor/array/data.hpp +28 -0
  2938. ray/cpp/include/msgpack/preprocessor/array/detail/get_data.hpp +55 -0
  2939. ray/cpp/include/msgpack/preprocessor/array/elem.hpp +29 -0
  2940. ray/cpp/include/msgpack/preprocessor/array/enum.hpp +33 -0
  2941. ray/cpp/include/msgpack/preprocessor/array/insert.hpp +55 -0
  2942. ray/cpp/include/msgpack/preprocessor/array/pop_back.hpp +37 -0
  2943. ray/cpp/include/msgpack/preprocessor/array/pop_front.hpp +38 -0
  2944. ray/cpp/include/msgpack/preprocessor/array/push_back.hpp +35 -0
  2945. ray/cpp/include/msgpack/preprocessor/array/push_front.hpp +35 -0
  2946. ray/cpp/include/msgpack/preprocessor/array/remove.hpp +54 -0
  2947. ray/cpp/include/msgpack/preprocessor/array/replace.hpp +49 -0
  2948. ray/cpp/include/msgpack/preprocessor/array/reverse.hpp +29 -0
  2949. ray/cpp/include/msgpack/preprocessor/array/size.hpp +28 -0
  2950. ray/cpp/include/msgpack/preprocessor/array/to_list.hpp +47 -0
  2951. ray/cpp/include/msgpack/preprocessor/array/to_seq.hpp +46 -0
  2952. ray/cpp/include/msgpack/preprocessor/array/to_tuple.hpp +33 -0
  2953. ray/cpp/include/msgpack/preprocessor/array.hpp +32 -0
  2954. ray/cpp/include/msgpack/preprocessor/assert_msg.hpp +17 -0
  2955. ray/cpp/include/msgpack/preprocessor/cat.hpp +35 -0
  2956. ray/cpp/include/msgpack/preprocessor/comma.hpp +17 -0
  2957. ray/cpp/include/msgpack/preprocessor/comma_if.hpp +17 -0
  2958. ray/cpp/include/msgpack/preprocessor/comparison/equal.hpp +34 -0
  2959. ray/cpp/include/msgpack/preprocessor/comparison/greater.hpp +38 -0
  2960. ray/cpp/include/msgpack/preprocessor/comparison/greater_equal.hpp +38 -0
  2961. ray/cpp/include/msgpack/preprocessor/comparison/less.hpp +46 -0
  2962. ray/cpp/include/msgpack/preprocessor/comparison/less_equal.hpp +39 -0
  2963. ray/cpp/include/msgpack/preprocessor/comparison/not_equal.hpp +814 -0
  2964. ray/cpp/include/msgpack/preprocessor/comparison.hpp +24 -0
  2965. ray/cpp/include/msgpack/preprocessor/config/config.hpp +106 -0
  2966. ray/cpp/include/msgpack/preprocessor/config/limits.hpp +30 -0
  2967. ray/cpp/include/msgpack/preprocessor/control/deduce_d.hpp +22 -0
  2968. ray/cpp/include/msgpack/preprocessor/control/detail/dmc/while.hpp +536 -0
  2969. ray/cpp/include/msgpack/preprocessor/control/detail/edg/while.hpp +534 -0
  2970. ray/cpp/include/msgpack/preprocessor/control/detail/msvc/while.hpp +277 -0
  2971. ray/cpp/include/msgpack/preprocessor/control/detail/while.hpp +536 -0
  2972. ray/cpp/include/msgpack/preprocessor/control/expr_if.hpp +30 -0
  2973. ray/cpp/include/msgpack/preprocessor/control/expr_iif.hpp +31 -0
  2974. ray/cpp/include/msgpack/preprocessor/control/if.hpp +30 -0
  2975. ray/cpp/include/msgpack/preprocessor/control/iif.hpp +34 -0
  2976. ray/cpp/include/msgpack/preprocessor/control/while.hpp +312 -0
  2977. ray/cpp/include/msgpack/preprocessor/control.hpp +22 -0
  2978. ray/cpp/include/msgpack/preprocessor/debug/assert.hpp +44 -0
  2979. ray/cpp/include/msgpack/preprocessor/debug/error.hpp +33 -0
  2980. ray/cpp/include/msgpack/preprocessor/debug/line.hpp +35 -0
  2981. ray/cpp/include/msgpack/preprocessor/debug.hpp +18 -0
  2982. ray/cpp/include/msgpack/preprocessor/dec.hpp +17 -0
  2983. ray/cpp/include/msgpack/preprocessor/detail/auto_rec.hpp +293 -0
  2984. ray/cpp/include/msgpack/preprocessor/detail/check.hpp +48 -0
  2985. ray/cpp/include/msgpack/preprocessor/detail/dmc/auto_rec.hpp +286 -0
  2986. ray/cpp/include/msgpack/preprocessor/detail/is_binary.hpp +30 -0
  2987. ray/cpp/include/msgpack/preprocessor/detail/is_nullary.hpp +30 -0
  2988. ray/cpp/include/msgpack/preprocessor/detail/is_unary.hpp +30 -0
  2989. ray/cpp/include/msgpack/preprocessor/detail/null.hpp +17 -0
  2990. ray/cpp/include/msgpack/preprocessor/detail/split.hpp +35 -0
  2991. ray/cpp/include/msgpack/preprocessor/empty.hpp +17 -0
  2992. ray/cpp/include/msgpack/preprocessor/enum.hpp +17 -0
  2993. ray/cpp/include/msgpack/preprocessor/enum_params.hpp +17 -0
  2994. ray/cpp/include/msgpack/preprocessor/enum_params_with_a_default.hpp +17 -0
  2995. ray/cpp/include/msgpack/preprocessor/enum_params_with_defaults.hpp +17 -0
  2996. ray/cpp/include/msgpack/preprocessor/enum_shifted.hpp +17 -0
  2997. ray/cpp/include/msgpack/preprocessor/enum_shifted_params.hpp +17 -0
  2998. ray/cpp/include/msgpack/preprocessor/expand.hpp +17 -0
  2999. ray/cpp/include/msgpack/preprocessor/expr_if.hpp +17 -0
  3000. ray/cpp/include/msgpack/preprocessor/facilities/apply.hpp +34 -0
  3001. ray/cpp/include/msgpack/preprocessor/facilities/detail/is_empty.hpp +55 -0
  3002. ray/cpp/include/msgpack/preprocessor/facilities/empty.hpp +23 -0
  3003. ray/cpp/include/msgpack/preprocessor/facilities/expand.hpp +28 -0
  3004. ray/cpp/include/msgpack/preprocessor/facilities/identity.hpp +27 -0
  3005. ray/cpp/include/msgpack/preprocessor/facilities/intercept.hpp +277 -0
  3006. ray/cpp/include/msgpack/preprocessor/facilities/is_1.hpp +23 -0
  3007. ray/cpp/include/msgpack/preprocessor/facilities/is_empty.hpp +56 -0
  3008. ray/cpp/include/msgpack/preprocessor/facilities/is_empty_or_1.hpp +31 -0
  3009. ray/cpp/include/msgpack/preprocessor/facilities/is_empty_variadic.hpp +57 -0
  3010. ray/cpp/include/msgpack/preprocessor/facilities/overload.hpp +25 -0
  3011. ray/cpp/include/msgpack/preprocessor/facilities.hpp +23 -0
  3012. ray/cpp/include/msgpack/preprocessor/for.hpp +17 -0
  3013. ray/cpp/include/msgpack/preprocessor/identity.hpp +17 -0
  3014. ray/cpp/include/msgpack/preprocessor/if.hpp +17 -0
  3015. ray/cpp/include/msgpack/preprocessor/inc.hpp +17 -0
  3016. ray/cpp/include/msgpack/preprocessor/iterate.hpp +17 -0
  3017. ray/cpp/include/msgpack/preprocessor/iteration/detail/bounds/lower1.hpp +99 -0
  3018. ray/cpp/include/msgpack/preprocessor/iteration/detail/bounds/lower2.hpp +99 -0
  3019. ray/cpp/include/msgpack/preprocessor/iteration/detail/bounds/lower3.hpp +99 -0
  3020. ray/cpp/include/msgpack/preprocessor/iteration/detail/bounds/lower4.hpp +99 -0
  3021. ray/cpp/include/msgpack/preprocessor/iteration/detail/bounds/lower5.hpp +99 -0
  3022. ray/cpp/include/msgpack/preprocessor/iteration/detail/bounds/upper1.hpp +99 -0
  3023. ray/cpp/include/msgpack/preprocessor/iteration/detail/bounds/upper2.hpp +99 -0
  3024. ray/cpp/include/msgpack/preprocessor/iteration/detail/bounds/upper3.hpp +99 -0
  3025. ray/cpp/include/msgpack/preprocessor/iteration/detail/bounds/upper4.hpp +99 -0
  3026. ray/cpp/include/msgpack/preprocessor/iteration/detail/bounds/upper5.hpp +99 -0
  3027. ray/cpp/include/msgpack/preprocessor/iteration/detail/finish.hpp +99 -0
  3028. ray/cpp/include/msgpack/preprocessor/iteration/detail/iter/forward1.hpp +1342 -0
  3029. ray/cpp/include/msgpack/preprocessor/iteration/detail/iter/forward2.hpp +1338 -0
  3030. ray/cpp/include/msgpack/preprocessor/iteration/detail/iter/forward3.hpp +1338 -0
  3031. ray/cpp/include/msgpack/preprocessor/iteration/detail/iter/forward4.hpp +1338 -0
  3032. ray/cpp/include/msgpack/preprocessor/iteration/detail/iter/forward5.hpp +1338 -0
  3033. ray/cpp/include/msgpack/preprocessor/iteration/detail/iter/reverse1.hpp +1296 -0
  3034. ray/cpp/include/msgpack/preprocessor/iteration/detail/iter/reverse2.hpp +1296 -0
  3035. ray/cpp/include/msgpack/preprocessor/iteration/detail/iter/reverse3.hpp +1296 -0
  3036. ray/cpp/include/msgpack/preprocessor/iteration/detail/iter/reverse4.hpp +1296 -0
  3037. ray/cpp/include/msgpack/preprocessor/iteration/detail/iter/reverse5.hpp +1296 -0
  3038. ray/cpp/include/msgpack/preprocessor/iteration/detail/local.hpp +812 -0
  3039. ray/cpp/include/msgpack/preprocessor/iteration/detail/rlocal.hpp +782 -0
  3040. ray/cpp/include/msgpack/preprocessor/iteration/detail/self.hpp +21 -0
  3041. ray/cpp/include/msgpack/preprocessor/iteration/detail/start.hpp +99 -0
  3042. ray/cpp/include/msgpack/preprocessor/iteration/iterate.hpp +82 -0
  3043. ray/cpp/include/msgpack/preprocessor/iteration/local.hpp +26 -0
  3044. ray/cpp/include/msgpack/preprocessor/iteration/self.hpp +19 -0
  3045. ray/cpp/include/msgpack/preprocessor/iteration.hpp +19 -0
  3046. ray/cpp/include/msgpack/preprocessor/library.hpp +37 -0
  3047. ray/cpp/include/msgpack/preprocessor/limits.hpp +17 -0
  3048. ray/cpp/include/msgpack/preprocessor/list/adt.hpp +73 -0
  3049. ray/cpp/include/msgpack/preprocessor/list/append.hpp +40 -0
  3050. ray/cpp/include/msgpack/preprocessor/list/at.hpp +39 -0
  3051. ray/cpp/include/msgpack/preprocessor/list/cat.hpp +42 -0
  3052. ray/cpp/include/msgpack/preprocessor/list/detail/dmc/fold_left.hpp +279 -0
  3053. ray/cpp/include/msgpack/preprocessor/list/detail/edg/fold_left.hpp +536 -0
  3054. ray/cpp/include/msgpack/preprocessor/list/detail/edg/fold_right.hpp +794 -0
  3055. ray/cpp/include/msgpack/preprocessor/list/detail/fold_left.hpp +279 -0
  3056. ray/cpp/include/msgpack/preprocessor/list/detail/fold_right.hpp +277 -0
  3057. ray/cpp/include/msgpack/preprocessor/list/enum.hpp +41 -0
  3058. ray/cpp/include/msgpack/preprocessor/list/filter.hpp +54 -0
  3059. ray/cpp/include/msgpack/preprocessor/list/first_n.hpp +58 -0
  3060. ray/cpp/include/msgpack/preprocessor/list/fold_left.hpp +303 -0
  3061. ray/cpp/include/msgpack/preprocessor/list/fold_right.hpp +40 -0
  3062. ray/cpp/include/msgpack/preprocessor/list/for_each.hpp +49 -0
  3063. ray/cpp/include/msgpack/preprocessor/list/for_each_i.hpp +65 -0
  3064. ray/cpp/include/msgpack/preprocessor/list/for_each_product.hpp +141 -0
  3065. ray/cpp/include/msgpack/preprocessor/list/rest_n.hpp +55 -0
  3066. ray/cpp/include/msgpack/preprocessor/list/reverse.hpp +40 -0
  3067. ray/cpp/include/msgpack/preprocessor/list/size.hpp +58 -0
  3068. ray/cpp/include/msgpack/preprocessor/list/to_array.hpp +155 -0
  3069. ray/cpp/include/msgpack/preprocessor/list/to_seq.hpp +32 -0
  3070. ray/cpp/include/msgpack/preprocessor/list/to_tuple.hpp +61 -0
  3071. ray/cpp/include/msgpack/preprocessor/list/transform.hpp +49 -0
  3072. ray/cpp/include/msgpack/preprocessor/list.hpp +37 -0
  3073. ray/cpp/include/msgpack/preprocessor/logical/and.hpp +30 -0
  3074. ray/cpp/include/msgpack/preprocessor/logical/bitand.hpp +38 -0
  3075. ray/cpp/include/msgpack/preprocessor/logical/bitnor.hpp +38 -0
  3076. ray/cpp/include/msgpack/preprocessor/logical/bitor.hpp +38 -0
  3077. ray/cpp/include/msgpack/preprocessor/logical/bitxor.hpp +38 -0
  3078. ray/cpp/include/msgpack/preprocessor/logical/bool.hpp +288 -0
  3079. ray/cpp/include/msgpack/preprocessor/logical/compl.hpp +36 -0
  3080. ray/cpp/include/msgpack/preprocessor/logical/nor.hpp +30 -0
  3081. ray/cpp/include/msgpack/preprocessor/logical/not.hpp +30 -0
  3082. ray/cpp/include/msgpack/preprocessor/logical/or.hpp +30 -0
  3083. ray/cpp/include/msgpack/preprocessor/logical/xor.hpp +30 -0
  3084. ray/cpp/include/msgpack/preprocessor/logical.hpp +29 -0
  3085. ray/cpp/include/msgpack/preprocessor/max.hpp +17 -0
  3086. ray/cpp/include/msgpack/preprocessor/min.hpp +17 -0
  3087. ray/cpp/include/msgpack/preprocessor/punctuation/comma.hpp +21 -0
  3088. ray/cpp/include/msgpack/preprocessor/punctuation/comma_if.hpp +31 -0
  3089. ray/cpp/include/msgpack/preprocessor/punctuation/detail/is_begin_parens.hpp +48 -0
  3090. ray/cpp/include/msgpack/preprocessor/punctuation/is_begin_parens.hpp +51 -0
  3091. ray/cpp/include/msgpack/preprocessor/punctuation/paren.hpp +23 -0
  3092. ray/cpp/include/msgpack/preprocessor/punctuation/paren_if.hpp +38 -0
  3093. ray/cpp/include/msgpack/preprocessor/punctuation/remove_parens.hpp +39 -0
  3094. ray/cpp/include/msgpack/preprocessor/punctuation.hpp +22 -0
  3095. ray/cpp/include/msgpack/preprocessor/repeat.hpp +17 -0
  3096. ray/cpp/include/msgpack/preprocessor/repeat_2nd.hpp +17 -0
  3097. ray/cpp/include/msgpack/preprocessor/repeat_3rd.hpp +17 -0
  3098. ray/cpp/include/msgpack/preprocessor/repeat_from_to.hpp +17 -0
  3099. ray/cpp/include/msgpack/preprocessor/repeat_from_to_2nd.hpp +17 -0
  3100. ray/cpp/include/msgpack/preprocessor/repeat_from_to_3rd.hpp +17 -0
  3101. ray/cpp/include/msgpack/preprocessor/repetition/deduce_r.hpp +22 -0
  3102. ray/cpp/include/msgpack/preprocessor/repetition/deduce_z.hpp +22 -0
  3103. ray/cpp/include/msgpack/preprocessor/repetition/detail/dmc/for.hpp +536 -0
  3104. ray/cpp/include/msgpack/preprocessor/repetition/detail/edg/for.hpp +534 -0
  3105. ray/cpp/include/msgpack/preprocessor/repetition/detail/for.hpp +536 -0
  3106. ray/cpp/include/msgpack/preprocessor/repetition/detail/msvc/for.hpp +277 -0
  3107. ray/cpp/include/msgpack/preprocessor/repetition/enum.hpp +66 -0
  3108. ray/cpp/include/msgpack/preprocessor/repetition/enum_binary_params.hpp +54 -0
  3109. ray/cpp/include/msgpack/preprocessor/repetition/enum_params.hpp +41 -0
  3110. ray/cpp/include/msgpack/preprocessor/repetition/enum_params_with_a_default.hpp +25 -0
  3111. ray/cpp/include/msgpack/preprocessor/repetition/enum_params_with_defaults.hpp +24 -0
  3112. ray/cpp/include/msgpack/preprocessor/repetition/enum_shifted.hpp +68 -0
  3113. ray/cpp/include/msgpack/preprocessor/repetition/enum_shifted_binary_params.hpp +51 -0
  3114. ray/cpp/include/msgpack/preprocessor/repetition/enum_shifted_params.hpp +44 -0
  3115. ray/cpp/include/msgpack/preprocessor/repetition/enum_trailing.hpp +63 -0
  3116. ray/cpp/include/msgpack/preprocessor/repetition/enum_trailing_binary_params.hpp +53 -0
  3117. ray/cpp/include/msgpack/preprocessor/repetition/enum_trailing_params.hpp +38 -0
  3118. ray/cpp/include/msgpack/preprocessor/repetition/for.hpp +324 -0
  3119. ray/cpp/include/msgpack/preprocessor/repetition/repeat.hpp +825 -0
  3120. ray/cpp/include/msgpack/preprocessor/repetition/repeat_from_to.hpp +87 -0
  3121. ray/cpp/include/msgpack/preprocessor/repetition.hpp +32 -0
  3122. ray/cpp/include/msgpack/preprocessor/selection/max.hpp +39 -0
  3123. ray/cpp/include/msgpack/preprocessor/selection/min.hpp +39 -0
  3124. ray/cpp/include/msgpack/preprocessor/selection.hpp +18 -0
  3125. ray/cpp/include/msgpack/preprocessor/seq/cat.hpp +49 -0
  3126. ray/cpp/include/msgpack/preprocessor/seq/detail/binary_transform.hpp +47 -0
  3127. ray/cpp/include/msgpack/preprocessor/seq/detail/is_empty.hpp +49 -0
  3128. ray/cpp/include/msgpack/preprocessor/seq/detail/split.hpp +284 -0
  3129. ray/cpp/include/msgpack/preprocessor/seq/detail/to_list_msvc.hpp +55 -0
  3130. ray/cpp/include/msgpack/preprocessor/seq/elem.hpp +304 -0
  3131. ray/cpp/include/msgpack/preprocessor/seq/enum.hpp +288 -0
  3132. ray/cpp/include/msgpack/preprocessor/seq/filter.hpp +54 -0
  3133. ray/cpp/include/msgpack/preprocessor/seq/first_n.hpp +30 -0
  3134. ray/cpp/include/msgpack/preprocessor/seq/fold_left.hpp +1070 -0
  3135. ray/cpp/include/msgpack/preprocessor/seq/fold_right.hpp +288 -0
  3136. ray/cpp/include/msgpack/preprocessor/seq/for_each.hpp +107 -0
  3137. ray/cpp/include/msgpack/preprocessor/seq/for_each_i.hpp +109 -0
  3138. ray/cpp/include/msgpack/preprocessor/seq/for_each_product.hpp +126 -0
  3139. ray/cpp/include/msgpack/preprocessor/seq/insert.hpp +28 -0
  3140. ray/cpp/include/msgpack/preprocessor/seq/pop_back.hpp +29 -0
  3141. ray/cpp/include/msgpack/preprocessor/seq/pop_front.hpp +27 -0
  3142. ray/cpp/include/msgpack/preprocessor/seq/push_back.hpp +19 -0
  3143. ray/cpp/include/msgpack/preprocessor/seq/push_front.hpp +19 -0
  3144. ray/cpp/include/msgpack/preprocessor/seq/remove.hpp +29 -0
  3145. ray/cpp/include/msgpack/preprocessor/seq/replace.hpp +45 -0
  3146. ray/cpp/include/msgpack/preprocessor/seq/rest_n.hpp +46 -0
  3147. ray/cpp/include/msgpack/preprocessor/seq/reverse.hpp +39 -0
  3148. ray/cpp/include/msgpack/preprocessor/seq/seq.hpp +44 -0
  3149. ray/cpp/include/msgpack/preprocessor/seq/size.hpp +548 -0
  3150. ray/cpp/include/msgpack/preprocessor/seq/subseq.hpp +28 -0
  3151. ray/cpp/include/msgpack/preprocessor/seq/to_array.hpp +28 -0
  3152. ray/cpp/include/msgpack/preprocessor/seq/to_list.hpp +41 -0
  3153. ray/cpp/include/msgpack/preprocessor/seq/to_tuple.hpp +27 -0
  3154. ray/cpp/include/msgpack/preprocessor/seq/transform.hpp +48 -0
  3155. ray/cpp/include/msgpack/preprocessor/seq/variadic_seq_to_seq.hpp +28 -0
  3156. ray/cpp/include/msgpack/preprocessor/seq.hpp +44 -0
  3157. ray/cpp/include/msgpack/preprocessor/slot/counter.hpp +25 -0
  3158. ray/cpp/include/msgpack/preprocessor/slot/detail/counter.hpp +269 -0
  3159. ray/cpp/include/msgpack/preprocessor/slot/detail/def.hpp +49 -0
  3160. ray/cpp/include/msgpack/preprocessor/slot/detail/shared.hpp +247 -0
  3161. ray/cpp/include/msgpack/preprocessor/slot/detail/slot1.hpp +267 -0
  3162. ray/cpp/include/msgpack/preprocessor/slot/detail/slot2.hpp +267 -0
  3163. ray/cpp/include/msgpack/preprocessor/slot/detail/slot3.hpp +267 -0
  3164. ray/cpp/include/msgpack/preprocessor/slot/detail/slot4.hpp +267 -0
  3165. ray/cpp/include/msgpack/preprocessor/slot/detail/slot5.hpp +267 -0
  3166. ray/cpp/include/msgpack/preprocessor/slot/slot.hpp +32 -0
  3167. ray/cpp/include/msgpack/preprocessor/slot.hpp +17 -0
  3168. ray/cpp/include/msgpack/preprocessor/stringize.hpp +33 -0
  3169. ray/cpp/include/msgpack/preprocessor/tuple/detail/is_single_return.hpp +28 -0
  3170. ray/cpp/include/msgpack/preprocessor/tuple/eat.hpp +115 -0
  3171. ray/cpp/include/msgpack/preprocessor/tuple/elem.hpp +201 -0
  3172. ray/cpp/include/msgpack/preprocessor/tuple/enum.hpp +22 -0
  3173. ray/cpp/include/msgpack/preprocessor/tuple/insert.hpp +37 -0
  3174. ray/cpp/include/msgpack/preprocessor/tuple/pop_back.hpp +64 -0
  3175. ray/cpp/include/msgpack/preprocessor/tuple/pop_front.hpp +65 -0
  3176. ray/cpp/include/msgpack/preprocessor/tuple/push_back.hpp +31 -0
  3177. ray/cpp/include/msgpack/preprocessor/tuple/push_front.hpp +32 -0
  3178. ray/cpp/include/msgpack/preprocessor/tuple/rem.hpp +149 -0
  3179. ray/cpp/include/msgpack/preprocessor/tuple/remove.hpp +64 -0
  3180. ray/cpp/include/msgpack/preprocessor/tuple/replace.hpp +37 -0
  3181. ray/cpp/include/msgpack/preprocessor/tuple/reverse.hpp +117 -0
  3182. ray/cpp/include/msgpack/preprocessor/tuple/size.hpp +28 -0
  3183. ray/cpp/include/msgpack/preprocessor/tuple/to_array.hpp +39 -0
  3184. ray/cpp/include/msgpack/preprocessor/tuple/to_list.hpp +118 -0
  3185. ray/cpp/include/msgpack/preprocessor/tuple/to_seq.hpp +119 -0
  3186. ray/cpp/include/msgpack/preprocessor/tuple.hpp +35 -0
  3187. ray/cpp/include/msgpack/preprocessor/variadic/detail/is_single_return.hpp +28 -0
  3188. ray/cpp/include/msgpack/preprocessor/variadic/elem.hpp +94 -0
  3189. ray/cpp/include/msgpack/preprocessor/variadic/size.hpp +30 -0
  3190. ray/cpp/include/msgpack/preprocessor/variadic/to_array.hpp +32 -0
  3191. ray/cpp/include/msgpack/preprocessor/variadic/to_list.hpp +25 -0
  3192. ray/cpp/include/msgpack/preprocessor/variadic/to_seq.hpp +25 -0
  3193. ray/cpp/include/msgpack/preprocessor/variadic/to_tuple.hpp +24 -0
  3194. ray/cpp/include/msgpack/preprocessor/variadic.hpp +23 -0
  3195. ray/cpp/include/msgpack/preprocessor/while.hpp +17 -0
  3196. ray/cpp/include/msgpack/preprocessor/wstringize.hpp +29 -0
  3197. ray/cpp/include/msgpack/preprocessor.hpp +19 -0
  3198. ray/cpp/include/msgpack/sbuffer.h +110 -0
  3199. ray/cpp/include/msgpack/sbuffer.hpp +17 -0
  3200. ray/cpp/include/msgpack/sbuffer_decl.hpp +18 -0
  3201. ray/cpp/include/msgpack/sysdep.h +214 -0
  3202. ray/cpp/include/msgpack/timestamp.h +58 -0
  3203. ray/cpp/include/msgpack/type.hpp +70 -0
  3204. ray/cpp/include/msgpack/unpack.h +281 -0
  3205. ray/cpp/include/msgpack/unpack.hpp +19 -0
  3206. ray/cpp/include/msgpack/unpack_decl.hpp +17 -0
  3207. ray/cpp/include/msgpack/unpack_define.h +89 -0
  3208. ray/cpp/include/msgpack/unpack_exception.hpp +15 -0
  3209. ray/cpp/include/msgpack/unpack_template.h +471 -0
  3210. ray/cpp/include/msgpack/util.h +15 -0
  3211. ray/cpp/include/msgpack/v1/adaptor/adaptor_base.hpp +116 -0
  3212. ray/cpp/include/msgpack/v1/adaptor/adaptor_base_decl.hpp +86 -0
  3213. ray/cpp/include/msgpack/v1/adaptor/array_ref.hpp +304 -0
  3214. ray/cpp/include/msgpack/v1/adaptor/array_ref_decl.hpp +55 -0
  3215. ray/cpp/include/msgpack/v1/adaptor/bool.hpp +66 -0
  3216. ray/cpp/include/msgpack/v1/adaptor/boost/fusion.hpp +203 -0
  3217. ray/cpp/include/msgpack/v1/adaptor/boost/msgpack_variant.hpp +443 -0
  3218. ray/cpp/include/msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp +62 -0
  3219. ray/cpp/include/msgpack/v1/adaptor/boost/optional.hpp +96 -0
  3220. ray/cpp/include/msgpack/v1/adaptor/boost/string_ref.hpp +87 -0
  3221. ray/cpp/include/msgpack/v1/adaptor/boost/string_view.hpp +87 -0
  3222. ray/cpp/include/msgpack/v1/adaptor/carray.hpp +253 -0
  3223. ray/cpp/include/msgpack/v1/adaptor/char_ptr.hpp +92 -0
  3224. ray/cpp/include/msgpack/v1/adaptor/check_container_size.hpp +67 -0
  3225. ray/cpp/include/msgpack/v1/adaptor/check_container_size_decl.hpp +44 -0
  3226. ray/cpp/include/msgpack/v1/adaptor/cpp11/array.hpp +138 -0
  3227. ray/cpp/include/msgpack/v1/adaptor/cpp11/array_char.hpp +97 -0
  3228. ray/cpp/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp +97 -0
  3229. ray/cpp/include/msgpack/v1/adaptor/cpp11/chrono.hpp +215 -0
  3230. ray/cpp/include/msgpack/v1/adaptor/cpp11/forward_list.hpp +94 -0
  3231. ray/cpp/include/msgpack/v1/adaptor/cpp11/reference_wrapper.hpp +68 -0
  3232. ray/cpp/include/msgpack/v1/adaptor/cpp11/shared_ptr.hpp +82 -0
  3233. ray/cpp/include/msgpack/v1/adaptor/cpp11/timespec.hpp +140 -0
  3234. ray/cpp/include/msgpack/v1/adaptor/cpp11/tuple.hpp +175 -0
  3235. ray/cpp/include/msgpack/v1/adaptor/cpp11/unique_ptr.hpp +82 -0
  3236. ray/cpp/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp +182 -0
  3237. ray/cpp/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp +172 -0
  3238. ray/cpp/include/msgpack/v1/adaptor/cpp17/byte.hpp +74 -0
  3239. ray/cpp/include/msgpack/v1/adaptor/cpp17/carray_byte.hpp +109 -0
  3240. ray/cpp/include/msgpack/v1/adaptor/cpp17/optional.hpp +90 -0
  3241. ray/cpp/include/msgpack/v1/adaptor/cpp17/string_view.hpp +86 -0
  3242. ray/cpp/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp +119 -0
  3243. ray/cpp/include/msgpack/v1/adaptor/define.hpp +21 -0
  3244. ray/cpp/include/msgpack/v1/adaptor/define_decl.hpp +23 -0
  3245. ray/cpp/include/msgpack/v1/adaptor/deque.hpp +108 -0
  3246. ray/cpp/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp +4481 -0
  3247. ray/cpp/include/msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp +135 -0
  3248. ray/cpp/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp +2753 -0
  3249. ray/cpp/include/msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp +135 -0
  3250. ray/cpp/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp +14425 -0
  3251. ray/cpp/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +317 -0
  3252. ray/cpp/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp +45 -0
  3253. ray/cpp/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp +128 -0
  3254. ray/cpp/include/msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp +39 -0
  3255. ray/cpp/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp +110 -0
  3256. ray/cpp/include/msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp +37 -0
  3257. ray/cpp/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp +220 -0
  3258. ray/cpp/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +120 -0
  3259. ray/cpp/include/msgpack/v1/adaptor/ext.hpp +236 -0
  3260. ray/cpp/include/msgpack/v1/adaptor/ext_decl.hpp +38 -0
  3261. ray/cpp/include/msgpack/v1/adaptor/fixint.hpp +300 -0
  3262. ray/cpp/include/msgpack/v1/adaptor/fixint_decl.hpp +46 -0
  3263. ray/cpp/include/msgpack/v1/adaptor/float.hpp +123 -0
  3264. ray/cpp/include/msgpack/v1/adaptor/int.hpp +475 -0
  3265. ray/cpp/include/msgpack/v1/adaptor/int_decl.hpp +50 -0
  3266. ray/cpp/include/msgpack/v1/adaptor/list.hpp +106 -0
  3267. ray/cpp/include/msgpack/v1/adaptor/map.hpp +314 -0
  3268. ray/cpp/include/msgpack/v1/adaptor/map_decl.hpp +36 -0
  3269. ray/cpp/include/msgpack/v1/adaptor/msgpack_tuple.hpp +21 -0
  3270. ray/cpp/include/msgpack/v1/adaptor/msgpack_tuple_decl.hpp +21 -0
  3271. ray/cpp/include/msgpack/v1/adaptor/nil.hpp +76 -0
  3272. ray/cpp/include/msgpack/v1/adaptor/nil_decl.hpp +44 -0
  3273. ray/cpp/include/msgpack/v1/adaptor/pair.hpp +83 -0
  3274. ray/cpp/include/msgpack/v1/adaptor/raw.hpp +106 -0
  3275. ray/cpp/include/msgpack/v1/adaptor/raw_decl.hpp +36 -0
  3276. ray/cpp/include/msgpack/v1/adaptor/set.hpp +188 -0
  3277. ray/cpp/include/msgpack/v1/adaptor/size_equal_only.hpp +118 -0
  3278. ray/cpp/include/msgpack/v1/adaptor/size_equal_only_decl.hpp +52 -0
  3279. ray/cpp/include/msgpack/v1/adaptor/string.hpp +87 -0
  3280. ray/cpp/include/msgpack/v1/adaptor/tr1/unordered_map.hpp +171 -0
  3281. ray/cpp/include/msgpack/v1/adaptor/tr1/unordered_set.hpp +165 -0
  3282. ray/cpp/include/msgpack/v1/adaptor/v4raw.hpp +105 -0
  3283. ray/cpp/include/msgpack/v1/adaptor/v4raw_decl.hpp +34 -0
  3284. ray/cpp/include/msgpack/v1/adaptor/vector.hpp +121 -0
  3285. ray/cpp/include/msgpack/v1/adaptor/vector_bool.hpp +90 -0
  3286. ray/cpp/include/msgpack/v1/adaptor/vector_char.hpp +114 -0
  3287. ray/cpp/include/msgpack/v1/adaptor/vector_unsigned_char.hpp +114 -0
  3288. ray/cpp/include/msgpack/v1/adaptor/wstring.hpp +121 -0
  3289. ray/cpp/include/msgpack/v1/cpp_config.hpp +139 -0
  3290. ray/cpp/include/msgpack/v1/cpp_config_decl.hpp +137 -0
  3291. ray/cpp/include/msgpack/v1/detail/cpp03_zone.hpp +664 -0
  3292. ray/cpp/include/msgpack/v1/detail/cpp03_zone_decl.hpp +54 -0
  3293. ray/cpp/include/msgpack/v1/detail/cpp11_zone.hpp +366 -0
  3294. ray/cpp/include/msgpack/v1/detail/cpp11_zone_decl.hpp +55 -0
  3295. ray/cpp/include/msgpack/v1/fbuffer.hpp +60 -0
  3296. ray/cpp/include/msgpack/v1/fbuffer_decl.hpp +32 -0
  3297. ray/cpp/include/msgpack/v1/iterator.hpp +40 -0
  3298. ray/cpp/include/msgpack/v1/iterator_decl.hpp +40 -0
  3299. ray/cpp/include/msgpack/v1/meta.hpp +53 -0
  3300. ray/cpp/include/msgpack/v1/meta_decl.hpp +57 -0
  3301. ray/cpp/include/msgpack/v1/object.hpp +1240 -0
  3302. ray/cpp/include/msgpack/v1/object_decl.hpp +122 -0
  3303. ray/cpp/include/msgpack/v1/object_fwd.hpp +255 -0
  3304. ray/cpp/include/msgpack/v1/object_fwd_decl.hpp +78 -0
  3305. ray/cpp/include/msgpack/v1/pack.hpp +1637 -0
  3306. ray/cpp/include/msgpack/v1/pack_decl.hpp +91 -0
  3307. ray/cpp/include/msgpack/v1/parse_return.hpp +36 -0
  3308. ray/cpp/include/msgpack/v1/preprocessor.hpp +19 -0
  3309. ray/cpp/include/msgpack/v1/sbuffer.hpp +149 -0
  3310. ray/cpp/include/msgpack/v1/sbuffer_decl.hpp +33 -0
  3311. ray/cpp/include/msgpack/v1/unpack.hpp +1598 -0
  3312. ray/cpp/include/msgpack/v1/unpack_decl.hpp +454 -0
  3313. ray/cpp/include/msgpack/v1/unpack_exception.hpp +122 -0
  3314. ray/cpp/include/msgpack/v1/version.hpp +36 -0
  3315. ray/cpp/include/msgpack/v1/versioning.hpp +69 -0
  3316. ray/cpp/include/msgpack/v1/vrefbuffer.hpp +319 -0
  3317. ray/cpp/include/msgpack/v1/vrefbuffer_decl.hpp +39 -0
  3318. ray/cpp/include/msgpack/v1/zbuffer.hpp +160 -0
  3319. ray/cpp/include/msgpack/v1/zbuffer_decl.hpp +37 -0
  3320. ray/cpp/include/msgpack/v1/zone.hpp +21 -0
  3321. ray/cpp/include/msgpack/v1/zone_decl.hpp +21 -0
  3322. ray/cpp/include/msgpack/v2/adaptor/adaptor_base.hpp +58 -0
  3323. ray/cpp/include/msgpack/v2/adaptor/adaptor_base_decl.hpp +52 -0
  3324. ray/cpp/include/msgpack/v2/adaptor/array_ref_decl.hpp +36 -0
  3325. ray/cpp/include/msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp +42 -0
  3326. ray/cpp/include/msgpack/v2/adaptor/check_container_size_decl.hpp +39 -0
  3327. ray/cpp/include/msgpack/v2/adaptor/define_decl.hpp +23 -0
  3328. ray/cpp/include/msgpack/v2/adaptor/detail/cpp03_define_array_decl.hpp +31 -0
  3329. ray/cpp/include/msgpack/v2/adaptor/detail/cpp03_define_map_decl.hpp +31 -0
  3330. ray/cpp/include/msgpack/v2/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +43 -0
  3331. ray/cpp/include/msgpack/v2/adaptor/detail/cpp11_define_array_decl.hpp +32 -0
  3332. ray/cpp/include/msgpack/v2/adaptor/detail/cpp11_define_map_decl.hpp +31 -0
  3333. ray/cpp/include/msgpack/v2/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +59 -0
  3334. ray/cpp/include/msgpack/v2/adaptor/ext_decl.hpp +34 -0
  3335. ray/cpp/include/msgpack/v2/adaptor/fixint_decl.hpp +43 -0
  3336. ray/cpp/include/msgpack/v2/adaptor/int_decl.hpp +54 -0
  3337. ray/cpp/include/msgpack/v2/adaptor/map_decl.hpp +33 -0
  3338. ray/cpp/include/msgpack/v2/adaptor/msgpack_tuple_decl.hpp +21 -0
  3339. ray/cpp/include/msgpack/v2/adaptor/nil_decl.hpp +42 -0
  3340. ray/cpp/include/msgpack/v2/adaptor/raw_decl.hpp +33 -0
  3341. ray/cpp/include/msgpack/v2/adaptor/size_equal_only_decl.hpp +35 -0
  3342. ray/cpp/include/msgpack/v2/adaptor/v4raw_decl.hpp +34 -0
  3343. ray/cpp/include/msgpack/v2/cpp_config_decl.hpp +84 -0
  3344. ray/cpp/include/msgpack/v2/create_object_visitor.hpp +255 -0
  3345. ray/cpp/include/msgpack/v2/create_object_visitor_decl.hpp +33 -0
  3346. ray/cpp/include/msgpack/v2/detail/cpp03_zone_decl.hpp +31 -0
  3347. ray/cpp/include/msgpack/v2/detail/cpp11_zone_decl.hpp +31 -0
  3348. ray/cpp/include/msgpack/v2/fbuffer_decl.hpp +32 -0
  3349. ray/cpp/include/msgpack/v2/iterator_decl.hpp +33 -0
  3350. ray/cpp/include/msgpack/v2/meta_decl.hpp +50 -0
  3351. ray/cpp/include/msgpack/v2/null_visitor.hpp +96 -0
  3352. ray/cpp/include/msgpack/v2/null_visitor_decl.hpp +29 -0
  3353. ray/cpp/include/msgpack/v2/object.hpp +33 -0
  3354. ray/cpp/include/msgpack/v2/object_decl.hpp +53 -0
  3355. ray/cpp/include/msgpack/v2/object_fwd.hpp +109 -0
  3356. ray/cpp/include/msgpack/v2/object_fwd_decl.hpp +75 -0
  3357. ray/cpp/include/msgpack/v2/pack_decl.hpp +56 -0
  3358. ray/cpp/include/msgpack/v2/parse.hpp +1070 -0
  3359. ray/cpp/include/msgpack/v2/parse_decl.hpp +79 -0
  3360. ray/cpp/include/msgpack/v2/parse_return.hpp +37 -0
  3361. ray/cpp/include/msgpack/v2/sbuffer_decl.hpp +33 -0
  3362. ray/cpp/include/msgpack/v2/unpack.hpp +348 -0
  3363. ray/cpp/include/msgpack/v2/unpack_decl.hpp +312 -0
  3364. ray/cpp/include/msgpack/v2/vrefbuffer_decl.hpp +29 -0
  3365. ray/cpp/include/msgpack/v2/x3_parse.hpp +875 -0
  3366. ray/cpp/include/msgpack/v2/x3_parse_decl.hpp +36 -0
  3367. ray/cpp/include/msgpack/v2/x3_unpack.hpp +120 -0
  3368. ray/cpp/include/msgpack/v2/x3_unpack_decl.hpp +71 -0
  3369. ray/cpp/include/msgpack/v2/zbuffer_decl.hpp +29 -0
  3370. ray/cpp/include/msgpack/v2/zone_decl.hpp +21 -0
  3371. ray/cpp/include/msgpack/v3/adaptor/adaptor_base.hpp +58 -0
  3372. ray/cpp/include/msgpack/v3/adaptor/adaptor_base_decl.hpp +52 -0
  3373. ray/cpp/include/msgpack/v3/adaptor/array_ref_decl.hpp +36 -0
  3374. ray/cpp/include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp +42 -0
  3375. ray/cpp/include/msgpack/v3/adaptor/check_container_size_decl.hpp +39 -0
  3376. ray/cpp/include/msgpack/v3/adaptor/define_decl.hpp +23 -0
  3377. ray/cpp/include/msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp +31 -0
  3378. ray/cpp/include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp +31 -0
  3379. ray/cpp/include/msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +43 -0
  3380. ray/cpp/include/msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp +32 -0
  3381. ray/cpp/include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp +31 -0
  3382. ray/cpp/include/msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +59 -0
  3383. ray/cpp/include/msgpack/v3/adaptor/ext_decl.hpp +34 -0
  3384. ray/cpp/include/msgpack/v3/adaptor/fixint_decl.hpp +43 -0
  3385. ray/cpp/include/msgpack/v3/adaptor/int_decl.hpp +54 -0
  3386. ray/cpp/include/msgpack/v3/adaptor/map_decl.hpp +33 -0
  3387. ray/cpp/include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp +21 -0
  3388. ray/cpp/include/msgpack/v3/adaptor/nil_decl.hpp +42 -0
  3389. ray/cpp/include/msgpack/v3/adaptor/raw_decl.hpp +33 -0
  3390. ray/cpp/include/msgpack/v3/adaptor/size_equal_only_decl.hpp +35 -0
  3391. ray/cpp/include/msgpack/v3/adaptor/v4raw_decl.hpp +34 -0
  3392. ray/cpp/include/msgpack/v3/cpp_config_decl.hpp +84 -0
  3393. ray/cpp/include/msgpack/v3/create_object_visitor_decl.hpp +33 -0
  3394. ray/cpp/include/msgpack/v3/detail/cpp03_zone_decl.hpp +31 -0
  3395. ray/cpp/include/msgpack/v3/detail/cpp11_zone_decl.hpp +31 -0
  3396. ray/cpp/include/msgpack/v3/fbuffer_decl.hpp +32 -0
  3397. ray/cpp/include/msgpack/v3/iterator_decl.hpp +33 -0
  3398. ray/cpp/include/msgpack/v3/meta_decl.hpp +50 -0
  3399. ray/cpp/include/msgpack/v3/null_visitor_decl.hpp +29 -0
  3400. ray/cpp/include/msgpack/v3/object_decl.hpp +53 -0
  3401. ray/cpp/include/msgpack/v3/object_fwd.hpp +70 -0
  3402. ray/cpp/include/msgpack/v3/object_fwd_decl.hpp +75 -0
  3403. ray/cpp/include/msgpack/v3/pack_decl.hpp +55 -0
  3404. ray/cpp/include/msgpack/v3/parse.hpp +675 -0
  3405. ray/cpp/include/msgpack/v3/parse_decl.hpp +49 -0
  3406. ray/cpp/include/msgpack/v3/parse_return.hpp +35 -0
  3407. ray/cpp/include/msgpack/v3/sbuffer_decl.hpp +33 -0
  3408. ray/cpp/include/msgpack/v3/unpack.hpp +192 -0
  3409. ray/cpp/include/msgpack/v3/unpack_decl.hpp +304 -0
  3410. ray/cpp/include/msgpack/v3/vrefbuffer_decl.hpp +29 -0
  3411. ray/cpp/include/msgpack/v3/x3_parse_decl.hpp +34 -0
  3412. ray/cpp/include/msgpack/v3/x3_unpack.hpp +97 -0
  3413. ray/cpp/include/msgpack/v3/x3_unpack_decl.hpp +65 -0
  3414. ray/cpp/include/msgpack/v3/zbuffer_decl.hpp +29 -0
  3415. ray/cpp/include/msgpack/v3/zone_decl.hpp +21 -0
  3416. ray/cpp/include/msgpack/version.h +38 -0
  3417. ray/cpp/include/msgpack/version.hpp +36 -0
  3418. ray/cpp/include/msgpack/version_master.h +3 -0
  3419. ray/cpp/include/msgpack/versioning.hpp +71 -0
  3420. ray/cpp/include/msgpack/vrefbuffer.h +140 -0
  3421. ray/cpp/include/msgpack/vrefbuffer.hpp +17 -0
  3422. ray/cpp/include/msgpack/vrefbuffer_decl.hpp +17 -0
  3423. ray/cpp/include/msgpack/x3_parse.hpp +15 -0
  3424. ray/cpp/include/msgpack/x3_parse_decl.hpp +16 -0
  3425. ray/cpp/include/msgpack/x3_unpack.hpp +16 -0
  3426. ray/cpp/include/msgpack/x3_unpack_decl.hpp +16 -0
  3427. ray/cpp/include/msgpack/zbuffer.h +201 -0
  3428. ray/cpp/include/msgpack/zbuffer.hpp +17 -0
  3429. ray/cpp/include/msgpack/zbuffer_decl.hpp +17 -0
  3430. ray/cpp/include/msgpack/zone.h +163 -0
  3431. ray/cpp/include/msgpack/zone.hpp +17 -0
  3432. ray/cpp/include/msgpack/zone_decl.hpp +17 -0
  3433. ray/cpp/include/msgpack.h +24 -0
  3434. ray/cpp/include/msgpack.hpp +22 -0
  3435. ray/cpp/include/nlohmann/json.hpp +25447 -0
  3436. ray/cpp/include/ray/api/actor_creator.h +113 -0
  3437. ray/cpp/include/ray/api/actor_handle.h +92 -0
  3438. ray/cpp/include/ray/api/actor_task_caller.h +97 -0
  3439. ray/cpp/include/ray/api/arguments.h +123 -0
  3440. ray/cpp/include/ray/api/common_types.h +56 -0
  3441. ray/cpp/include/ray/api/function_manager.h +354 -0
  3442. ray/cpp/include/ray/api/internal_api.h +21 -0
  3443. ray/cpp/include/ray/api/logging.h +83 -0
  3444. ray/cpp/include/ray/api/metric.h +135 -0
  3445. ray/cpp/include/ray/api/msgpack_adaptor.h +88 -0
  3446. ray/cpp/include/ray/api/object_ref.h +225 -0
  3447. ray/cpp/include/ray/api/overload.h +200 -0
  3448. ray/cpp/include/ray/api/ray_config.h +74 -0
  3449. ray/cpp/include/ray/api/ray_exception.h +68 -0
  3450. ray/cpp/include/ray/api/ray_remote.h +83 -0
  3451. ray/cpp/include/ray/api/ray_runtime.h +105 -0
  3452. ray/cpp/include/ray/api/ray_runtime_holder.h +48 -0
  3453. ray/cpp/include/ray/api/runtime_env.h +100 -0
  3454. ray/cpp/include/ray/api/serializer.h +86 -0
  3455. ray/cpp/include/ray/api/static_check.h +73 -0
  3456. ray/cpp/include/ray/api/task_caller.h +109 -0
  3457. ray/cpp/include/ray/api/task_options.h +116 -0
  3458. ray/cpp/include/ray/api/type_traits.h +88 -0
  3459. ray/cpp/include/ray/api/wait_result.h +37 -0
  3460. ray/cpp/include/ray/api/xlang_function.h +85 -0
  3461. ray/cpp/include/ray/api.h +402 -0
  3462. ray/cpp/lib/libray_api.so +0 -0
  3463. ray_cpp-2.54.0.dist-info/METADATA +166 -0
  3464. ray_cpp-2.54.0.dist-info/RECORD +3468 -0
  3465. ray_cpp-2.54.0.dist-info/WHEEL +5 -0
  3466. ray_cpp-2.54.0.dist-info/entry_points.txt +4 -0
  3467. ray_cpp-2.54.0.dist-info/licenses/LICENSE.txt +1 -0
  3468. ray_cpp-2.54.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,3614 @@
1
+ //////////////////////////////////////////////////////////////////////////////
2
+ //
3
+ // (C) Copyright Ion Gaztanaga 2005-2015. Distributed under the Boost
4
+ // Software License, Version 1.0. (See accompanying file
5
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
+ //
7
+ // See http://www.boost.org/libs/container for documentation.
8
+ //
9
+ //////////////////////////////////////////////////////////////////////////////
10
+
11
+ #ifndef BOOST_CONTAINER_STRING_HPP
12
+ #define BOOST_CONTAINER_STRING_HPP
13
+
14
+ #ifndef BOOST_CONFIG_HPP
15
+ # include <boost/config.hpp>
16
+ #endif
17
+
18
+ #if defined(BOOST_HAS_PRAGMA_ONCE)
19
+ # pragma once
20
+ #endif
21
+
22
+ #include <boost/container/detail/config_begin.hpp>
23
+ #include <boost/container/detail/workaround.hpp>
24
+ #include <boost/container/container_fwd.hpp>
25
+ // container
26
+ #include <boost/container/allocator_traits.hpp>
27
+ #include <boost/container/new_allocator.hpp> //new_allocator
28
+ #include <boost/container/throw_exception.hpp>
29
+ // container/detail
30
+ #include <boost/container/detail/alloc_helpers.hpp>
31
+ #include <boost/container/detail/allocator_version_traits.hpp>
32
+ #include <boost/container/detail/allocation_type.hpp>
33
+ #include <boost/container/detail/iterator.hpp>
34
+ #include <boost/container/detail/iterators.hpp>
35
+ #include <boost/container/detail/min_max.hpp>
36
+ #include <boost/container/detail/mpl.hpp>
37
+ #include <boost/container/detail/next_capacity.hpp>
38
+ #include <boost/move/detail/to_raw_pointer.hpp>
39
+ #include <boost/container/detail/version_type.hpp>
40
+ #include <boost/container/detail/type_traits.hpp>
41
+ #include <boost/container/detail/algorithm.hpp>
42
+ #include <boost/container/detail/minimal_char_traits_header.hpp> // for char_traits
43
+ //intrusive
44
+ #include <boost/intrusive/pointer_traits.hpp>
45
+ #include <boost/intrusive/detail/hash_combine.hpp>
46
+ #include <boost/move/detail/force_ptr.hpp>
47
+ //move
48
+ #include <boost/move/utility_core.hpp>
49
+ #include <boost/move/adl_move_swap.hpp>
50
+ #include <boost/move/traits.hpp>
51
+
52
+ #include <boost/static_assert.hpp>
53
+ #include <boost/core/no_exceptions_support.hpp>
54
+
55
+ #include <iosfwd>
56
+ #include <istream> //
57
+ #include <ostream>
58
+ #include <ios>
59
+ #include <locale>
60
+ #include <cstddef>
61
+ #include <climits>
62
+
63
+ //std
64
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
65
+ #include <initializer_list> //for std::initializer_list
66
+ #endif
67
+
68
+ namespace boost {
69
+ namespace container {
70
+
71
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
72
+ namespace dtl {
73
+ // ------------------------------------------------------------
74
+ // Class basic_string_base.
75
+
76
+ // basic_string_base is a helper class that makes it it easier to write
77
+ // an exception-safe version of basic_string. The constructor allocates,
78
+ // but does not initialize, a block of memory. The destructor
79
+ // deallocates, but does not destroy elements within, a block of
80
+ // memory. The destructor assumes that the memory either is the internal buffer,
81
+ // or else points to a block of memory that was allocated using string_base's
82
+ // allocator and whose size is this->m_storage.
83
+ template <class Allocator>
84
+ class basic_string_base
85
+ {
86
+ basic_string_base & operator=(const basic_string_base &);
87
+ basic_string_base(const basic_string_base &);
88
+
89
+ typedef Allocator allocator_type;
90
+ public:
91
+ typedef allocator_traits<allocator_type> allocator_traits_type;
92
+ typedef allocator_type stored_allocator_type;
93
+ typedef typename allocator_traits_type::pointer pointer;
94
+ typedef typename allocator_traits_type::value_type value_type;
95
+ typedef typename allocator_traits_type::size_type size_type;
96
+ typedef typename allocator_traits_type::difference_type difference_type;
97
+
98
+ typedef ::boost::intrusive::pointer_traits<pointer> pointer_traits;
99
+
100
+ BOOST_CONTAINER_FORCEINLINE basic_string_base()
101
+ : members_()
102
+ {}
103
+
104
+ BOOST_CONTAINER_FORCEINLINE explicit basic_string_base(const allocator_type& a)
105
+ : members_(a)
106
+ {}
107
+
108
+ BOOST_CONTAINER_FORCEINLINE explicit basic_string_base(BOOST_RV_REF(allocator_type) a)
109
+ : members_(boost::move(a))
110
+ {}
111
+
112
+ BOOST_CONTAINER_FORCEINLINE basic_string_base(const allocator_type& a, size_type n)
113
+ : members_(a)
114
+ {
115
+ this->allocate_initial_block(n);
116
+ }
117
+
118
+ BOOST_CONTAINER_FORCEINLINE explicit basic_string_base(size_type n)
119
+ : members_()
120
+ {
121
+ this->allocate_initial_block(n);
122
+ }
123
+
124
+ BOOST_CONTAINER_FORCEINLINE ~basic_string_base()
125
+ {
126
+ if(!this->is_short()){
127
+ this->deallocate(this->priv_long_addr(), this->priv_long_storage());
128
+ }
129
+ }
130
+
131
+ private:
132
+
133
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
134
+ #pragma GCC diagnostic push
135
+ #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
136
+ #endif
137
+
138
+ //This is the structure controlling a long string
139
+ struct long_t
140
+ {
141
+ size_type is_short : 1;
142
+ size_type length : (sizeof(size_type)*CHAR_BIT - 1);
143
+ size_type storage;
144
+ pointer start;
145
+
146
+ BOOST_CONTAINER_FORCEINLINE long_t()
147
+ : is_short(0)
148
+ {}
149
+
150
+ BOOST_CONTAINER_FORCEINLINE long_t(size_type len, size_type stor, pointer ptr)
151
+ : is_short(0), length(len), storage(stor), start(ptr)
152
+ {}
153
+
154
+ BOOST_CONTAINER_FORCEINLINE long_t(const long_t &other)
155
+ {
156
+ this->is_short = false;
157
+ length = other.length;
158
+ storage = other.storage;
159
+ start = other.start;
160
+ }
161
+
162
+ BOOST_CONTAINER_FORCEINLINE long_t &operator= (const long_t &other)
163
+ {
164
+ length = other.length;
165
+ storage = other.storage;
166
+ start = other.start;
167
+ return *this;
168
+ }
169
+ };
170
+
171
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
172
+ #pragma GCC diagnostic pop
173
+ #endif
174
+
175
+
176
+ //This type is the first part of the structure controlling a short string
177
+ //The "data" member stores
178
+ struct short_header
179
+ {
180
+ unsigned char is_short : 1;
181
+ unsigned char length : (CHAR_BIT - 1);
182
+ };
183
+
184
+ //This type has the same alignment and size as long_t but it's POD
185
+ //so, unlike long_t, it can be placed in a union
186
+
187
+ typedef typename dtl::aligned_storage
188
+ <sizeof(long_t), dtl::alignment_of<long_t>::value>::type long_raw_t;
189
+
190
+ protected:
191
+ static const size_type MinInternalBufferChars = 8;
192
+ static const size_type AlignmentOfValueType =
193
+ alignment_of<value_type>::value;
194
+ static const size_type ShortDataOffset = ((sizeof(short_header)-1)/AlignmentOfValueType+1)*AlignmentOfValueType;
195
+ static const size_type ZeroCostInternalBufferChars =
196
+ (sizeof(long_t) - ShortDataOffset)/sizeof(value_type);
197
+ static const size_type UnalignedFinalInternalBufferChars =
198
+ (ZeroCostInternalBufferChars > MinInternalBufferChars) ?
199
+ ZeroCostInternalBufferChars : MinInternalBufferChars;
200
+
201
+ struct short_t
202
+ {
203
+ short_header h;
204
+ value_type data[UnalignedFinalInternalBufferChars];
205
+ };
206
+
207
+ union repr_t_size_t
208
+ {
209
+ long_raw_t r;
210
+ short_t s;
211
+ };
212
+
213
+ union repr_t
214
+ {
215
+ long_raw_t r_aligner;
216
+ short_t s_aligner;
217
+ unsigned char data[sizeof(repr_t_size_t)];
218
+ };
219
+
220
+ struct members_holder
221
+ : public allocator_type
222
+ {
223
+ BOOST_CONTAINER_FORCEINLINE void init()
224
+ {
225
+ short_t &s = *::new(this->m_repr.data) short_t;
226
+ s.h.is_short = 1;
227
+ s.h.length = 0;
228
+ }
229
+
230
+ BOOST_CONTAINER_FORCEINLINE members_holder()
231
+ : allocator_type()
232
+ { this->init(); }
233
+
234
+ template<class AllocatorConvertible>
235
+ BOOST_CONTAINER_FORCEINLINE explicit members_holder(BOOST_FWD_REF(AllocatorConvertible) a)
236
+ : allocator_type(boost::forward<AllocatorConvertible>(a))
237
+ { this->init(); }
238
+
239
+ BOOST_CONTAINER_FORCEINLINE const short_t *pshort_repr() const
240
+ { return move_detail::force_ptr<const short_t*>(m_repr.data); }
241
+
242
+ BOOST_CONTAINER_FORCEINLINE const long_t *plong_repr() const
243
+ { return move_detail::force_ptr<const long_t*>(m_repr.data); }
244
+
245
+ BOOST_CONTAINER_FORCEINLINE short_t *pshort_repr()
246
+ { return move_detail::force_ptr<short_t*>(m_repr.data); }
247
+
248
+ BOOST_CONTAINER_FORCEINLINE long_t *plong_repr()
249
+ { return move_detail::force_ptr<long_t*>(m_repr.data); }
250
+
251
+ repr_t m_repr;
252
+ } members_;
253
+
254
+ BOOST_CONTAINER_FORCEINLINE const allocator_type &alloc() const
255
+ { return members_; }
256
+
257
+ BOOST_CONTAINER_FORCEINLINE allocator_type &alloc()
258
+ { return members_; }
259
+
260
+ static const size_type InternalBufferChars = (sizeof(repr_t) - ShortDataOffset)/sizeof(value_type);
261
+
262
+ private:
263
+
264
+ static const size_type MinAllocation = InternalBufferChars*2;
265
+
266
+ protected:
267
+ BOOST_CONTAINER_FORCEINLINE bool is_short() const
268
+ {
269
+ //Access and copy (to avoid UB) the first byte of the union to know if the
270
+ //active representation is short or long
271
+ short_header hdr;
272
+ BOOST_STATIC_ASSERT((sizeof(short_header) == 1));
273
+ *(unsigned char*)&hdr = *(unsigned char*)&this->members_.m_repr;
274
+ return hdr.is_short != 0;
275
+ }
276
+
277
+ BOOST_CONTAINER_FORCEINLINE short_t *construct_short()
278
+ {
279
+ short_t *ps = ::new(this->members_.m_repr.data) short_t;
280
+ ps->h.is_short = 1;
281
+ return ps;
282
+ }
283
+
284
+ BOOST_CONTAINER_FORCEINLINE void destroy_short()
285
+ {
286
+ BOOST_ASSERT(this->is_short());
287
+ this->members_.pshort_repr()->~short_t();
288
+ }
289
+
290
+ short_t *assure_short()
291
+ {
292
+ if (!this->is_short()){
293
+ this->destroy_long();
294
+ return construct_short();
295
+ }
296
+ return this->members_.pshort_repr();
297
+ }
298
+
299
+ BOOST_CONTAINER_FORCEINLINE long_t *construct_long()
300
+ {
301
+ long_t *pl = ::new(this->members_.m_repr.data) long_t;
302
+ //is_short flag is written in the constructor
303
+ return pl;
304
+ }
305
+
306
+ BOOST_CONTAINER_FORCEINLINE void destroy_long()
307
+ {
308
+ BOOST_ASSERT(!this->is_short());
309
+ this->members_.plong_repr()->~long_t();
310
+ }
311
+
312
+ long_t *assure_long()
313
+ {
314
+ if (this->is_short()){
315
+ this->destroy_short();
316
+ return this->construct_long();
317
+ }
318
+ return this->members_.plong_repr();
319
+ }
320
+
321
+
322
+ protected:
323
+
324
+ typedef dtl::integral_constant<unsigned,
325
+ boost::container::dtl::version<allocator_type>::value> alloc_version;
326
+
327
+ pointer allocation_command(allocation_type command,
328
+ size_type limit_size,
329
+ size_type &prefer_in_recvd_out_size,
330
+ pointer &reuse)
331
+ {
332
+ if(this->is_short() && (command & (expand_fwd | expand_bwd)) ){
333
+ reuse = 0;
334
+ command &= ~(expand_fwd | expand_bwd);
335
+ }
336
+ return dtl::allocator_version_traits<allocator_type>::allocation_command
337
+ (this->alloc(), command, limit_size, prefer_in_recvd_out_size, reuse);
338
+ }
339
+
340
+ size_type next_capacity(size_type additional_objects) const
341
+ {
342
+ return growth_factor_100()
343
+ ( this->priv_storage(), additional_objects, allocator_traits_type::max_size(this->alloc()));
344
+ }
345
+
346
+ void deallocate(pointer p, size_type n)
347
+ {
348
+ if (p && (n > InternalBufferChars))
349
+ this->alloc().deallocate(p, n);
350
+ }
351
+
352
+ BOOST_CONTAINER_FORCEINLINE void construct(pointer p, const value_type &value = value_type())
353
+ {
354
+ allocator_traits_type::construct
355
+ ( this->alloc()
356
+ , boost::movelib::to_raw_pointer(p)
357
+ , value
358
+ );
359
+ }
360
+
361
+ void destroy(pointer p, size_type n)
362
+ {
363
+ value_type *raw_p = boost::movelib::to_raw_pointer(p);
364
+ for(; n--; ++raw_p){
365
+ allocator_traits_type::destroy( this->alloc(), raw_p);
366
+ }
367
+ }
368
+
369
+ BOOST_CONTAINER_FORCEINLINE void destroy(pointer p)
370
+ {
371
+ allocator_traits_type::destroy
372
+ ( this->alloc()
373
+ , boost::movelib::to_raw_pointer(p)
374
+ );
375
+ }
376
+
377
+ void allocate_initial_block(size_type n)
378
+ {
379
+ if (n <= this->max_size()) {
380
+ if(n > InternalBufferChars){
381
+ size_type new_cap = this->next_capacity(n);
382
+ pointer reuse = 0;
383
+ pointer p = this->allocation_command(allocate_new, n, new_cap, reuse);
384
+ BOOST_ASSERT(this->is_short());
385
+ this->construct_long();
386
+ this->priv_long_addr(p);
387
+ this->priv_long_size(0);
388
+ this->priv_storage(new_cap);
389
+ }
390
+ }
391
+ else{
392
+ throw_length_error("basic_string::allocate_initial_block max_size() exceeded");
393
+ }
394
+ }
395
+
396
+ BOOST_CONTAINER_FORCEINLINE void deallocate_block()
397
+ { this->deallocate(this->priv_addr(), this->priv_storage()); }
398
+
399
+ BOOST_CONTAINER_FORCEINLINE size_type max_size() const
400
+ { return allocator_traits_type::max_size(this->alloc()) - 1; }
401
+
402
+ protected:
403
+ BOOST_CONTAINER_FORCEINLINE size_type priv_capacity() const
404
+ { return this->priv_storage() - 1; }
405
+
406
+ BOOST_CONTAINER_FORCEINLINE pointer priv_short_addr() const
407
+ { return pointer_traits::pointer_to(const_cast<value_type&>(this->members_.pshort_repr()->data[0])); }
408
+
409
+ //GCC seems a bit confused about uninitialized accesses
410
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 40700)
411
+ #pragma GCC diagnostic push
412
+ #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
413
+ #endif
414
+
415
+ BOOST_CONTAINER_FORCEINLINE pointer priv_long_addr() const
416
+ { return this->members_.plong_repr()->start; }
417
+
418
+ BOOST_CONTAINER_FORCEINLINE pointer priv_addr() const
419
+ {
420
+ return this->is_short()
421
+ ? priv_short_addr()
422
+ : priv_long_addr()
423
+ ;
424
+ }
425
+
426
+ BOOST_CONTAINER_FORCEINLINE pointer priv_end_addr() const
427
+ {
428
+ return this->is_short()
429
+ ? this->priv_short_addr() + difference_type(this->priv_short_size())
430
+ : this->priv_long_addr() + difference_type(this->priv_long_size())
431
+ ;
432
+ }
433
+
434
+ BOOST_CONTAINER_FORCEINLINE void priv_long_addr(pointer addr)
435
+ { this->members_.plong_repr()->start = addr; }
436
+
437
+ BOOST_CONTAINER_FORCEINLINE size_type priv_storage() const
438
+ { return this->is_short() ? priv_short_storage() : priv_long_storage(); }
439
+
440
+ BOOST_CONTAINER_FORCEINLINE size_type priv_short_storage() const
441
+ { return InternalBufferChars; }
442
+
443
+ BOOST_CONTAINER_FORCEINLINE size_type priv_long_storage() const
444
+ { return this->members_.plong_repr()->storage; }
445
+
446
+ BOOST_CONTAINER_FORCEINLINE void priv_storage(size_type storage)
447
+ {
448
+ if(!this->is_short())
449
+ this->priv_long_storage(storage);
450
+ }
451
+
452
+ BOOST_CONTAINER_FORCEINLINE void priv_long_storage(size_type storage)
453
+ {
454
+ this->members_.plong_repr()->storage = storage;
455
+ }
456
+
457
+ BOOST_CONTAINER_FORCEINLINE size_type priv_size() const
458
+ { return this->is_short() ? this->priv_short_size() : this->priv_long_size(); }
459
+
460
+ BOOST_CONTAINER_FORCEINLINE size_type priv_short_size() const
461
+ { return this->members_.pshort_repr()->h.length; }
462
+
463
+ BOOST_CONTAINER_FORCEINLINE size_type priv_long_size() const
464
+ { return this->members_.plong_repr()->length; }
465
+
466
+ BOOST_CONTAINER_FORCEINLINE void priv_size(size_type sz)
467
+ {
468
+ if(this->is_short())
469
+ this->priv_short_size(sz);
470
+ else
471
+ this->priv_long_size(sz);
472
+ }
473
+
474
+ BOOST_CONTAINER_FORCEINLINE void priv_short_size(size_type sz)
475
+ {
476
+ typedef unsigned char uchar_type;
477
+ static const uchar_type mask = uchar_type(uchar_type(-1) >> 1U);
478
+ BOOST_ASSERT( sz <= mask );
479
+ //Make -Wconversion happy
480
+ this->members_.pshort_repr()->h.length = uchar_type(uchar_type(sz) & mask);
481
+ }
482
+
483
+ BOOST_CONTAINER_FORCEINLINE void priv_long_size(size_type sz)
484
+ {
485
+ static const size_type mask = size_type(-1) >> 1U;
486
+ BOOST_ASSERT( sz <= mask );
487
+ //Make -Wconversion happy
488
+ this->members_.plong_repr()->length = sz & mask;
489
+ }
490
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 40700)
491
+ #pragma GCC diagnostic pop
492
+ #endif
493
+
494
+ void swap_data(basic_string_base& other)
495
+ {
496
+ if(this->is_short()){
497
+ if(other.is_short()){
498
+ repr_t tmp(this->members_.m_repr);
499
+ this->members_.m_repr = other.members_.m_repr;
500
+ other.members_.m_repr = tmp;
501
+ }
502
+ else{
503
+ short_t short_backup(*this->members_.pshort_repr());
504
+ this->members_.pshort_repr()->~short_t();
505
+ ::new(this->members_.plong_repr()) long_t(*other.members_.plong_repr());
506
+ other.members_.plong_repr()->~long_t();
507
+ ::new(other.members_.pshort_repr()) short_t(short_backup);
508
+ }
509
+ }
510
+ else{
511
+ if(other.is_short()){
512
+ short_t short_backup(*other.members_.pshort_repr());
513
+ other.members_.pshort_repr()->~short_t();
514
+ ::new(other.members_.plong_repr()) long_t(*this->members_.plong_repr());
515
+ this->members_.plong_repr()->~long_t();
516
+ ::new(this->members_.pshort_repr()) short_t(short_backup);
517
+ }
518
+ else{
519
+ boost::adl_move_swap(*this->members_.plong_repr(), *other.members_.plong_repr());
520
+ }
521
+ }
522
+ }
523
+ };
524
+
525
+ } //namespace dtl {
526
+
527
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
528
+
529
+ //! The basic_string class represents a Sequence of characters. It contains all the
530
+ //! usual operations of a Sequence, and, additionally, it contains standard string
531
+ //! operations such as search and concatenation.
532
+ //!
533
+ //! The basic_string class is parameterized by character type, and by that type's
534
+ //! Character Traits.
535
+ //!
536
+ //! This class has performance characteristics very much like vector<>, meaning,
537
+ //! for example, that it does not perform reference-count or copy-on-write, and that
538
+ //! concatenation of two strings is an O(N) operation.
539
+ //!
540
+ //! Some of basic_string's member functions use an unusual method of specifying positions
541
+ //! and ranges. In addition to the conventional method using iterators, many of
542
+ //! basic_string's member functions use a single value pos of type size_type to represent a
543
+ //! position (in which case the position is begin() + pos, and many of basic_string's
544
+ //! member functions use two values, pos and n, to represent a range. In that case pos is
545
+ //! the beginning of the range and n is its size. That is, the range is
546
+ //! [begin() + pos, begin() + pos + n).
547
+ //!
548
+ //! Note that the C++ standard does not specify the complexity of basic_string operations.
549
+ //! In this implementation, basic_string has performance characteristics very similar to
550
+ //! those of vector: access to a single character is O(1), while copy and concatenation
551
+ //! are O(N).
552
+ //!
553
+ //! In this implementation, begin(),
554
+ //! end(), rbegin(), rend(), operator[], c_str(), and data() do not invalidate iterators.
555
+ //! In this implementation, iterators are only invalidated by member functions that
556
+ //! explicitly change the string's contents.
557
+ //!
558
+ //! \tparam CharT The type of character it contains.
559
+ //! \tparam Traits The Character Traits type, which encapsulates basic character operations
560
+ //! \tparam Allocator The allocator, used for internal memory management.
561
+ #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
562
+ template <class CharT, class Traits = std::char_traits<CharT>, class Allocator = void >
563
+ #else
564
+ template <class CharT, class Traits, class Allocator>
565
+ #endif
566
+ class basic_string
567
+ : private dtl::basic_string_base<typename real_allocator<CharT, Allocator>::type>
568
+ {
569
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
570
+ private:
571
+ BOOST_COPYABLE_AND_MOVABLE(basic_string)
572
+ typedef dtl::basic_string_base<typename real_allocator<CharT, Allocator>::type> base_t;
573
+ typedef typename base_t::allocator_traits_type allocator_traits_type;
574
+ static const typename base_t::size_type InternalBufferChars = base_t::InternalBufferChars;
575
+
576
+ protected:
577
+ // Allocator helper class to use a char_traits as a function object.
578
+
579
+ template <class Tr>
580
+ struct Eq_traits
581
+ {
582
+ //Compatibility with std::binary_function
583
+ typedef typename Tr::char_type first_argument_type;
584
+ typedef typename Tr::char_type second_argument_type;
585
+ typedef bool result_type;
586
+
587
+ bool operator()(const first_argument_type& x, const second_argument_type& y) const
588
+ { return Tr::eq(x, y); }
589
+ };
590
+
591
+ template <class Tr>
592
+ struct Not_within_traits
593
+ {
594
+ typedef typename Tr::char_type argument_type;
595
+ typedef bool result_type;
596
+
597
+ typedef const typename Tr::char_type* Pointer;
598
+ const Pointer m_first;
599
+ const Pointer m_last;
600
+
601
+ Not_within_traits(Pointer f, Pointer l)
602
+ : m_first(f), m_last(l) {}
603
+
604
+ bool operator()(const typename Tr::char_type& x) const
605
+ {
606
+ return boost::container::find_if(m_first, m_last,
607
+ boost::container::bind1st(Eq_traits<Tr>(), x)) == m_last;
608
+ }
609
+ };
610
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
611
+
612
+ public:
613
+ //////////////////////////////////////////////
614
+ //
615
+ // types
616
+ //
617
+ //////////////////////////////////////////////
618
+ typedef Traits traits_type;
619
+ typedef CharT value_type;
620
+ typedef typename real_allocator<CharT, Allocator>::type allocator_type;
621
+ typedef typename ::boost::container::allocator_traits<allocator_type>::pointer pointer;
622
+ typedef typename ::boost::container::allocator_traits<allocator_type>::const_pointer const_pointer;
623
+ typedef typename ::boost::container::allocator_traits<allocator_type>::reference reference;
624
+ typedef typename ::boost::container::allocator_traits<allocator_type>::const_reference const_reference;
625
+ typedef typename ::boost::container::allocator_traits<allocator_type>::size_type size_type;
626
+ typedef typename ::boost::container::allocator_traits<allocator_type>::difference_type difference_type;
627
+ typedef BOOST_CONTAINER_IMPDEF(allocator_type) stored_allocator_type;
628
+ typedef BOOST_CONTAINER_IMPDEF(pointer) iterator;
629
+ typedef BOOST_CONTAINER_IMPDEF(const_pointer) const_iterator;
630
+ typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<iterator>) reverse_iterator;
631
+ typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<const_iterator>) const_reverse_iterator;
632
+ static const size_type npos = size_type(-1);
633
+
634
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
635
+ private:
636
+ typedef constant_iterator<CharT> cvalue_iterator;
637
+ typedef typename base_t::alloc_version alloc_version;
638
+ typedef ::boost::intrusive::pointer_traits<pointer> pointer_traits;
639
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
640
+
641
+ public: // Constructor, destructor, assignment.
642
+ //////////////////////////////////////////////
643
+ //
644
+ // construct/copy/destroy
645
+ //
646
+ //////////////////////////////////////////////
647
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
648
+ struct reserve_t {};
649
+
650
+ basic_string(reserve_t, size_type n,
651
+ const allocator_type& a = allocator_type())
652
+ //Select allocator as in copy constructor as reserve_t-based constructors
653
+ //are two step copies optimized for capacity
654
+ : base_t( allocator_traits_type::select_on_container_copy_construction(a)
655
+ , n + 1)
656
+ { this->priv_terminate_string(); }
657
+
658
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
659
+
660
+ //! <b>Effects</b>: Default constructs a basic_string.
661
+ //!
662
+ //! <b>Throws</b>: If allocator_type's default constructor throws.
663
+ basic_string() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value)
664
+ : base_t()
665
+ { this->priv_terminate_string(); }
666
+
667
+
668
+ //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter.
669
+ //!
670
+ //! <b>Throws</b>: Nothing
671
+ explicit basic_string(const allocator_type& a) BOOST_NOEXCEPT_OR_NOTHROW
672
+ : base_t(a)
673
+ { this->priv_terminate_string(); }
674
+
675
+ //! <b>Effects</b>: Copy constructs a basic_string.
676
+ //!
677
+ //! <b>Postcondition</b>: x == *this.
678
+ //!
679
+ //! <b>Throws</b>: If allocator_type's default constructor or allocation throws.
680
+ basic_string(const basic_string& s)
681
+ : base_t(allocator_traits_type::select_on_container_copy_construction(s.alloc()))
682
+ {
683
+ this->priv_terminate_string();
684
+ this->assign(s.begin(), s.end());
685
+ }
686
+
687
+ //! <b>Effects</b>: Same as basic_string(sv.data(), sv.size(), a).
688
+ //!
689
+ //! <b>Throws</b>: If allocator_type's default constructor or allocation throws.
690
+ template<template <class, class> class BasicStringView>
691
+ explicit basic_string(BasicStringView<CharT, Traits> sv, const allocator_type& a = allocator_type())
692
+ : base_t(allocator_traits_type::select_on_container_copy_construction(a))
693
+ {
694
+ this->priv_terminate_string();
695
+ this->assign(sv);
696
+ }
697
+
698
+ //! <b>Effects</b>: Move constructor. Moves s's resources to *this.
699
+ //!
700
+ //! <b>Throws</b>: Nothing.
701
+ //!
702
+ //! <b>Complexity</b>: Constant.
703
+ basic_string(BOOST_RV_REF(basic_string) s) BOOST_NOEXCEPT_OR_NOTHROW
704
+ : base_t(boost::move(s.alloc()))
705
+ {
706
+ if(s.alloc() == this->alloc()){
707
+ this->swap_data(s);
708
+ }
709
+ else{
710
+ this->assign(s.begin(), s.end());
711
+ }
712
+ }
713
+
714
+ //! <b>Effects</b>: Copy constructs a basic_string using the specified allocator.
715
+ //!
716
+ //! <b>Postcondition</b>: x == *this.
717
+ //!
718
+ //! <b>Throws</b>: If allocation throws.
719
+ basic_string(const basic_string& s, const allocator_type &a)
720
+ : base_t(a)
721
+ {
722
+ this->priv_terminate_string();
723
+ this->assign(s.begin(), s.end());
724
+ }
725
+
726
+ //! <b>Effects</b>: Move constructor using the specified allocator.
727
+ //! Moves s's resources to *this.
728
+ //!
729
+ //! <b>Throws</b>: If allocation throws.
730
+ //!
731
+ //! <b>Complexity</b>: Constant if a == s.get_allocator(), linear otherwise.
732
+ basic_string(BOOST_RV_REF(basic_string) s, const allocator_type &a)
733
+ : base_t(a)
734
+ {
735
+ this->priv_terminate_string();
736
+ if(s.alloc() == this->alloc()){
737
+ this->swap_data(s);
738
+ }
739
+ else{
740
+ this->assign(s.begin(), s.end());
741
+ }
742
+ }
743
+
744
+ //! <b>Effects</b>: Constructs a basic_string with a default-constructed allocator,
745
+ //! and is initialized by a specific number of characters of the s string.
746
+ basic_string(const basic_string& s, size_type pos, size_type n = npos)
747
+ : base_t()
748
+ {
749
+ this->priv_terminate_string();
750
+ if (pos > s.size())
751
+ throw_out_of_range("basic_string::basic_string out of range position");
752
+ else
753
+ this->assign
754
+ (s.begin() + pos, s.begin() + pos + dtl::min_value(n, s.size() - pos));
755
+ }
756
+
757
+ //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
758
+ //! and is initialized by a specific number of characters of the s string.
759
+ basic_string(const basic_string& s, size_type pos, size_type n, const allocator_type& a)
760
+ : base_t(a)
761
+ {
762
+ this->priv_terminate_string();
763
+ if (pos > s.size())
764
+ throw_out_of_range("basic_string::basic_string out of range position");
765
+ else
766
+ this->assign
767
+ (s.begin() + pos, s.begin() + pos + dtl::min_value(n, s.size() - pos));
768
+ }
769
+
770
+ //! <b>Effects</b>: Constructs a basic_string taking a default-constructed allocator,
771
+ //! and is initialized by a specific number of characters of the s c-string.
772
+ basic_string(const CharT* s, size_type n)
773
+ : base_t()
774
+ {
775
+ this->priv_terminate_string();
776
+ this->assign(s, s + difference_type(n));
777
+ }
778
+
779
+ //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
780
+ //! and is initialized by a specific number of characters of the s c-string.
781
+ basic_string(const CharT* s, size_type n, const allocator_type& a)
782
+ : base_t(a)
783
+ {
784
+ this->priv_terminate_string();
785
+ this->assign(s, s + difference_type(n));
786
+ }
787
+
788
+ //! <b>Effects</b>: Constructs a basic_string with a default-constructed allocator,
789
+ //! and is initialized by the null-terminated s c-string.
790
+ basic_string(const CharT* s)
791
+ : base_t()
792
+ {
793
+ this->priv_terminate_string();
794
+ this->assign(s, s + Traits::length(s));
795
+ }
796
+
797
+ //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
798
+ //! and is initialized by the null-terminated s c-string.
799
+ basic_string(const CharT* s, const allocator_type& a)
800
+ : base_t(a)
801
+ {
802
+ this->priv_terminate_string();
803
+ this->assign(s, s + Traits::length(s));
804
+ }
805
+
806
+
807
+ //! <b>Effects</b>: Constructs a basic_string with a default-constructed allocator,
808
+ //! and is initialized by n copies of c.
809
+ basic_string(size_type n, CharT c)
810
+ : base_t()
811
+ {
812
+ this->priv_terminate_string();
813
+ this->assign(n, c);
814
+ }
815
+
816
+ //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
817
+ //! and is initialized by n copies of c.
818
+ basic_string(size_type n, CharT c, const allocator_type& a)
819
+ : base_t(a)
820
+ {
821
+ this->priv_terminate_string();
822
+ this->assign(n, c);
823
+ }
824
+
825
+ //! <b>Effects</b>: Constructs a basic_string with a default-constructed allocator,
826
+ //! and is initialized by n default-initialized characters.
827
+ basic_string(size_type n, default_init_t)
828
+ : base_t(n + 1)
829
+ {
830
+ this->priv_size(n);
831
+ this->priv_terminate_string();
832
+ }
833
+
834
+ //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
835
+ //! and is initialized by n default-initialized characters.
836
+ basic_string(size_type n, default_init_t, const allocator_type& a)
837
+ : base_t(a, n + 1)
838
+ {
839
+ this->priv_size(n);
840
+ this->priv_terminate_string();
841
+ }
842
+
843
+ //! <b>Effects</b>: Constructs a basic_string with a default-constructed allocator,
844
+ //! and a range of iterators.
845
+ template <class InputIterator>
846
+ basic_string(InputIterator f, InputIterator l)
847
+ : base_t()
848
+ {
849
+ this->priv_terminate_string();
850
+ this->assign(f, l);
851
+ }
852
+
853
+ //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
854
+ //! and a range of iterators.
855
+ template <class InputIterator>
856
+ basic_string(InputIterator f, InputIterator l, const allocator_type& a)
857
+ : base_t(a)
858
+ {
859
+ this->priv_terminate_string();
860
+ this->assign(f, l);
861
+ }
862
+
863
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
864
+ //! <b>Effects</b>: Same as basic_string(il.begin(), il.end(), a).
865
+ //!
866
+ basic_string(std::initializer_list<value_type> il, const allocator_type& a = allocator_type())
867
+ : base_t(a)
868
+ {
869
+ this->priv_terminate_string();
870
+ this->assign(il.begin(), il.end());
871
+ }
872
+ #endif
873
+
874
+ //! <b>Effects</b>: Destroys the basic_string. All used memory is deallocated.
875
+ //!
876
+ //! <b>Throws</b>: Nothing.
877
+ //!
878
+ //! <b>Complexity</b>: Constant.
879
+ ~basic_string() BOOST_NOEXCEPT_OR_NOTHROW
880
+ {}
881
+
882
+ //! <b>Effects</b>: Copy constructs a string.
883
+ //!
884
+ //! <b>Postcondition</b>: x == *this.
885
+ //!
886
+ //! <b>Complexity</b>: Linear to the elements x contains.
887
+ basic_string& operator=(BOOST_COPY_ASSIGN_REF(basic_string) x)
888
+ {
889
+ if (BOOST_LIKELY(this != &x)) {
890
+ allocator_type &this_alloc = this->alloc();
891
+ const allocator_type &x_alloc = x.alloc();
892
+ dtl::bool_<allocator_traits_type::
893
+ propagate_on_container_copy_assignment::value> flag;
894
+ if(flag && this_alloc != x_alloc){
895
+ if(!this->is_short()){
896
+ this->deallocate_block();
897
+ this->assure_short();
898
+ Traits::assign(*this->priv_addr(), CharT(0));
899
+ this->priv_short_size(0);
900
+ }
901
+ }
902
+ dtl::assign_alloc(this->alloc(), x.alloc(), flag);
903
+ this->assign(x.begin(), x.end());
904
+ }
905
+ return *this;
906
+ }
907
+
908
+ //! <b>Effects</b>: Move constructor. Moves x's resources to *this.
909
+ //!
910
+ //! <b>Throws</b>: If allocator_traits_type::propagate_on_container_move_assignment
911
+ //! is false and allocation throws
912
+ //!
913
+ //! <b>Complexity</b>: Constant if allocator_traits_type::
914
+ //! propagate_on_container_move_assignment is true or
915
+ //! this->get>allocator() == x.get_allocator(). Linear otherwise.
916
+ basic_string& operator=(BOOST_RV_REF(basic_string) x)
917
+ BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value
918
+ || allocator_traits_type::is_always_equal::value)
919
+ {
920
+ if (BOOST_LIKELY(this != &x)) {
921
+ allocator_type &this_alloc = this->alloc();
922
+ allocator_type &x_alloc = x.alloc();
923
+ const bool propagate_alloc = allocator_traits_type::
924
+ propagate_on_container_move_assignment::value;
925
+ dtl::bool_<propagate_alloc> flag;
926
+ const bool allocators_equal = this_alloc == x_alloc; (void)allocators_equal;
927
+ //Resources can be transferred if both allocators are
928
+ //going to be equal after this function (either propagated or already equal)
929
+ if(propagate_alloc || allocators_equal){
930
+ //Destroy objects but retain memory in case x reuses it in the future
931
+ this->clear();
932
+ //Move allocator if needed
933
+ dtl::move_alloc(this_alloc, x_alloc, flag);
934
+ //Nothrow swap
935
+ this->swap_data(x);
936
+ }
937
+ //Else do a one by one move
938
+ else{
939
+ this->assign( x.begin(), x.end());
940
+ }
941
+ }
942
+ return *this;
943
+ }
944
+
945
+ //! <b>Effects</b>: Assignment from a null-terminated c-string.
946
+ //!
947
+ basic_string& operator=(const CharT* s)
948
+ { return this->assign(s, s + Traits::length(s)); }
949
+
950
+ //! <b>Effects</b>: Returns *this = basic_string(1, c).
951
+ //!
952
+ basic_string& operator=(CharT c)
953
+ { return this->assign(static_cast<size_type>(1), c); }
954
+
955
+ //! <b>Effects</b>: Equivalent to return assign(sv).
956
+ //!
957
+ template<template <class, class> class BasicStringView>
958
+ basic_string& operator=(BasicStringView<CharT, Traits> sv)
959
+ { return this->assign(sv.data(), sv.size()); }
960
+
961
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
962
+ //! <b>Effects</b>: Returns *this = basic_string(il);
963
+ //!
964
+ basic_string& operator=(std::initializer_list<CharT> il)
965
+ {
966
+ return this->assign(il.begin(), il.end());
967
+ }
968
+ #endif
969
+
970
+ //! <b>Effects</b>: Returns a copy of the internal allocator.
971
+ //!
972
+ //! <b>Throws</b>: If allocator's copy constructor throws.
973
+ //!
974
+ //! <b>Complexity</b>: Constant.
975
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
976
+ allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
977
+ { return this->alloc(); }
978
+
979
+ //! <b>Effects</b>: Returns a reference to the internal allocator.
980
+ //!
981
+ //! <b>Throws</b>: Nothing
982
+ //!
983
+ //! <b>Complexity</b>: Constant.
984
+ //!
985
+ //! <b>Note</b>: Non-standard extension.
986
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
987
+ stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
988
+ { return this->alloc(); }
989
+
990
+ //! <b>Effects</b>: Returns a reference to the internal allocator.
991
+ //!
992
+ //! <b>Throws</b>: Nothing
993
+ //!
994
+ //! <b>Complexity</b>: Constant.
995
+ //!
996
+ //! <b>Note</b>: Non-standard extension.
997
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
998
+ const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
999
+ { return this->alloc(); }
1000
+
1001
+ //////////////////////////////////////////////
1002
+ //
1003
+ // iterators
1004
+ //
1005
+ //////////////////////////////////////////////
1006
+
1007
+ //! <b>Effects</b>: Returns an iterator to the first element contained in the vector.
1008
+ //!
1009
+ //! <b>Throws</b>: Nothing.
1010
+ //!
1011
+ //! <b>Complexity</b>: Constant.
1012
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1013
+ iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
1014
+ { return this->priv_addr(); }
1015
+
1016
+ //! <b>Effects</b>: Returns a const_iterator to the first element contained in the vector.
1017
+ //!
1018
+ //! <b>Throws</b>: Nothing.
1019
+ //!
1020
+ //! <b>Complexity</b>: Constant.
1021
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1022
+ const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
1023
+ { return this->priv_addr(); }
1024
+
1025
+ //! <b>Effects</b>: Returns an iterator to the end of the vector.
1026
+ //!
1027
+ //! <b>Throws</b>: Nothing.
1028
+ //!
1029
+ //! <b>Complexity</b>: Constant.
1030
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1031
+ iterator end() BOOST_NOEXCEPT_OR_NOTHROW
1032
+ { return this->priv_end_addr(); }
1033
+
1034
+ //! <b>Effects</b>: Returns a const_iterator to the end of the vector.
1035
+ //!
1036
+ //! <b>Throws</b>: Nothing.
1037
+ //!
1038
+ //! <b>Complexity</b>: Constant.
1039
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1040
+ const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
1041
+ { return this->priv_end_addr(); }
1042
+
1043
+ //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
1044
+ //! of the reversed vector.
1045
+ //!
1046
+ //! <b>Throws</b>: Nothing.
1047
+ //!
1048
+ //! <b>Complexity</b>: Constant.
1049
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1050
+ reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
1051
+ { return reverse_iterator(this->priv_end_addr()); }
1052
+
1053
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
1054
+ //! of the reversed vector.
1055
+ //!
1056
+ //! <b>Throws</b>: Nothing.
1057
+ //!
1058
+ //! <b>Complexity</b>: Constant.
1059
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1060
+ const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
1061
+ { return this->crbegin(); }
1062
+
1063
+ //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
1064
+ //! of the reversed vector.
1065
+ //!
1066
+ //! <b>Throws</b>: Nothing.
1067
+ //!
1068
+ //! <b>Complexity</b>: Constant.
1069
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1070
+ reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
1071
+ { return reverse_iterator(this->priv_addr()); }
1072
+
1073
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
1074
+ //! of the reversed vector.
1075
+ //!
1076
+ //! <b>Throws</b>: Nothing.
1077
+ //!
1078
+ //! <b>Complexity</b>: Constant.
1079
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1080
+ const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
1081
+ { return this->crend(); }
1082
+
1083
+ //! <b>Effects</b>: Returns a const_iterator to the first element contained in the vector.
1084
+ //!
1085
+ //! <b>Throws</b>: Nothing.
1086
+ //!
1087
+ //! <b>Complexity</b>: Constant.
1088
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1089
+ const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
1090
+ { return this->priv_addr(); }
1091
+
1092
+ //! <b>Effects</b>: Returns a const_iterator to the end of the vector.
1093
+ //!
1094
+ //! <b>Throws</b>: Nothing.
1095
+ //!
1096
+ //! <b>Complexity</b>: Constant.
1097
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1098
+ const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
1099
+ { return this->priv_end_addr(); }
1100
+
1101
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
1102
+ //! of the reversed vector.
1103
+ //!
1104
+ //! <b>Throws</b>: Nothing.
1105
+ //!
1106
+ //! <b>Complexity</b>: Constant.
1107
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1108
+ const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
1109
+ { return const_reverse_iterator(this->priv_end_addr()); }
1110
+
1111
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
1112
+ //! of the reversed vector.
1113
+ //!
1114
+ //! <b>Throws</b>: Nothing.
1115
+ //!
1116
+ //! <b>Complexity</b>: Constant.
1117
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1118
+ const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
1119
+ { return const_reverse_iterator(this->priv_addr()); }
1120
+
1121
+ //////////////////////////////////////////////
1122
+ //
1123
+ // capacity
1124
+ //
1125
+ //////////////////////////////////////////////
1126
+
1127
+ //! <b>Effects</b>: Returns true if the vector contains no elements.
1128
+ //!
1129
+ //! <b>Throws</b>: Nothing.
1130
+ //!
1131
+ //! <b>Complexity</b>: Constant.
1132
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1133
+ bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
1134
+ { return !this->priv_size(); }
1135
+
1136
+ //! <b>Effects</b>: Returns the number of the elements contained in the vector.
1137
+ //!
1138
+ //! <b>Throws</b>: Nothing.
1139
+ //!
1140
+ //! <b>Complexity</b>: Constant.
1141
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1142
+ size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
1143
+ { return this->priv_size(); }
1144
+
1145
+ //! <b>Effects</b>: Returns the number of the elements contained in the vector.
1146
+ //!
1147
+ //! <b>Throws</b>: Nothing.
1148
+ //!
1149
+ //! <b>Complexity</b>: Constant.
1150
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1151
+ size_type length() const BOOST_NOEXCEPT_OR_NOTHROW
1152
+ { return this->size(); }
1153
+
1154
+ //! <b>Effects</b>: Returns the largest possible size of the vector.
1155
+ //!
1156
+ //! <b>Throws</b>: Nothing.
1157
+ //!
1158
+ //! <b>Complexity</b>: Constant
1159
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1160
+ size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
1161
+ { return base_t::max_size(); }
1162
+
1163
+ //! <b>Effects</b>: Inserts or erases elements at the end such that
1164
+ //! the size becomes n. New elements are copy constructed from x.
1165
+ //!
1166
+ //! <b>Throws</b>: If memory allocation throws
1167
+ //!
1168
+ //! <b>Complexity</b>: Linear to the difference between size() and new_size.
1169
+ void resize(size_type n, CharT c)
1170
+ {
1171
+ if (n <= this->size())
1172
+ this->erase(this->begin() + difference_type(n), this->end());
1173
+ else
1174
+ this->append(n - this->size(), c);
1175
+ }
1176
+
1177
+ //! <b>Effects</b>: Inserts or erases elements at the end such that
1178
+ //! the size becomes n. New elements are value initialized.
1179
+ //!
1180
+ //! <b>Throws</b>: If memory allocation throws
1181
+ //!
1182
+ //! <b>Complexity</b>: Linear to the difference between size() and new_size.
1183
+ void resize(size_type n)
1184
+ { resize(n, CharT()); }
1185
+
1186
+ //! <b>Effects</b>: Inserts or erases elements at the end such that
1187
+ //! the size becomes n. New elements are uninitialized.
1188
+ //!
1189
+ //! <b>Throws</b>: If memory allocation throws
1190
+ //!
1191
+ //! <b>Complexity</b>: Linear to the difference between size() and new_size.
1192
+ //!
1193
+ //! <b>Note</b>: Non-standard extension
1194
+ void resize(size_type n, default_init_t)
1195
+ {
1196
+ if (n <= this->size())
1197
+ this->erase(this->begin() + difference_type(n), this->end());
1198
+ else{
1199
+ this->priv_reserve(n, false);
1200
+ this->priv_size(n);
1201
+ this->priv_terminate_string();
1202
+ }
1203
+ }
1204
+
1205
+ //! <b>Effects</b>: Number of elements for which memory has been allocated.
1206
+ //! capacity() is always greater than or equal to size().
1207
+ //!
1208
+ //! <b>Throws</b>: Nothing.
1209
+ //!
1210
+ //! <b>Complexity</b>: Constant.
1211
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1212
+ size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
1213
+ { return this->priv_capacity(); }
1214
+
1215
+ //! <b>Effects</b>: If n is less than or equal to capacity(), this call has no
1216
+ //! effect. Otherwise, it is a request for allocation of additional memory.
1217
+ //! If the request is successful, then capacity() is greater than or equal to
1218
+ //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged.
1219
+ //!
1220
+ //! <b>Throws</b>: If memory allocation allocation throws
1221
+ void reserve(size_type res_arg)
1222
+ { this->priv_reserve(res_arg); }
1223
+
1224
+ //! <b>Effects</b>: Tries to deallocate the excess of memory created
1225
+ //! with previous allocations. The size of the string is unchanged
1226
+ //!
1227
+ //! <b>Throws</b>: Nothing
1228
+ //!
1229
+ //! <b>Complexity</b>: Linear to size().
1230
+ void shrink_to_fit()
1231
+ {
1232
+ //Check if shrinking is possible
1233
+ if(this->priv_storage() > InternalBufferChars){
1234
+ //Check if we should pass from dynamically allocated buffer
1235
+ //to the internal storage
1236
+ if(this->priv_size() < InternalBufferChars){
1237
+ //Dynamically allocated buffer attributes
1238
+ pointer long_addr = this->priv_long_addr();
1239
+ size_type long_storage = this->priv_long_storage();
1240
+ size_type long_size = this->priv_long_size();
1241
+ //Shrink from allocated buffer to the internal one, including trailing null
1242
+ Traits::copy( boost::movelib::to_raw_pointer(this->priv_short_addr())
1243
+ , boost::movelib::to_raw_pointer(long_addr)
1244
+ , long_size+1);
1245
+ BOOST_ASSERT(!this->is_short());
1246
+ this->destroy_long();
1247
+ this->construct_short();
1248
+ this->alloc().deallocate(long_addr, long_storage);
1249
+ }
1250
+ else{
1251
+ //Shrinking in dynamic buffer
1252
+ this->priv_shrink_to_fit_dynamic_buffer(alloc_version());
1253
+ }
1254
+ }
1255
+ }
1256
+
1257
+ //////////////////////////////////////////////
1258
+ //
1259
+ // element access
1260
+ //
1261
+ //////////////////////////////////////////////
1262
+
1263
+ //! <b>Requires</b>: !empty()
1264
+ //!
1265
+ //! <b>Effects</b>: Returns a reference to the first
1266
+ //! element of the container.
1267
+ //!
1268
+ //! <b>Throws</b>: Nothing.
1269
+ //!
1270
+ //! <b>Complexity</b>: Constant.
1271
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1272
+ reference front() BOOST_NOEXCEPT_OR_NOTHROW
1273
+ {
1274
+ BOOST_ASSERT(!this->empty());
1275
+ return *this->priv_addr();
1276
+ }
1277
+
1278
+ //! <b>Requires</b>: !empty()
1279
+ //!
1280
+ //! <b>Effects</b>: Returns a const reference to the first
1281
+ //! element of the container.
1282
+ //!
1283
+ //! <b>Throws</b>: Nothing.
1284
+ //!
1285
+ //! <b>Complexity</b>: Constant.
1286
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1287
+ const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
1288
+ {
1289
+ BOOST_ASSERT(!this->empty());
1290
+ return *this->priv_addr();
1291
+ }
1292
+
1293
+ //! <b>Requires</b>: !empty()
1294
+ //!
1295
+ //! <b>Effects</b>: Returns a reference to the last
1296
+ //! element of the container.
1297
+ //!
1298
+ //! <b>Throws</b>: Nothing.
1299
+ //!
1300
+ //! <b>Complexity</b>: Constant.
1301
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1302
+ reference back() BOOST_NOEXCEPT_OR_NOTHROW
1303
+ {
1304
+ BOOST_ASSERT(!this->empty());
1305
+ return *(this->priv_addr() + (this->size() - 1u) );
1306
+ }
1307
+
1308
+ //! <b>Requires</b>: !empty()
1309
+ //!
1310
+ //! <b>Effects</b>: Returns a const reference to the last
1311
+ //! element of the container.
1312
+ //!
1313
+ //! <b>Throws</b>: Nothing.
1314
+ //!
1315
+ //! <b>Complexity</b>: Constant.
1316
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1317
+ const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
1318
+ {
1319
+ BOOST_ASSERT(!this->empty());
1320
+ return *(this->priv_addr() + (this->size() - 1u) );
1321
+ }
1322
+
1323
+ //! <b>Requires</b>: size() > n.
1324
+ //!
1325
+ //! <b>Effects</b>: Returns a reference to the nth element
1326
+ //! from the beginning of the container.
1327
+ //!
1328
+ //! <b>Throws</b>: Nothing.
1329
+ //!
1330
+ //! <b>Complexity</b>: Constant.
1331
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1332
+ reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
1333
+ {
1334
+ BOOST_ASSERT(this->size() > n);
1335
+ return *(this->priv_addr() + difference_type(n));
1336
+ }
1337
+
1338
+ //! <b>Requires</b>: size() > n.
1339
+ //!
1340
+ //! <b>Effects</b>: Returns a const reference to the nth element
1341
+ //! from the beginning of the container.
1342
+ //!
1343
+ //! <b>Throws</b>: Nothing.
1344
+ //!
1345
+ //! <b>Complexity</b>: Constant.
1346
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1347
+ const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
1348
+ {
1349
+ BOOST_ASSERT(this->size() > n);
1350
+ return *(this->priv_addr() + difference_type(n));
1351
+ }
1352
+
1353
+ //! <b>Requires</b>: size() > n.
1354
+ //!
1355
+ //! <b>Effects</b>: Returns a reference to the nth element
1356
+ //! from the beginning of the container.
1357
+ //!
1358
+ //! <b>Throws</b>: range_error if n >= size()
1359
+ //!
1360
+ //! <b>Complexity</b>: Constant.
1361
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1362
+ reference at(size_type n)
1363
+ {
1364
+ if (n >= this->size())
1365
+ throw_out_of_range("basic_string::at invalid subscript");
1366
+ return *(this->priv_addr() + difference_type(n));
1367
+ }
1368
+
1369
+ //! <b>Requires</b>: size() > n.
1370
+ //!
1371
+ //! <b>Effects</b>: Returns a const reference to the nth element
1372
+ //! from the beginning of the container.
1373
+ //!
1374
+ //! <b>Throws</b>: range_error if n >= size()
1375
+ //!
1376
+ //! <b>Complexity</b>: Constant.
1377
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1378
+ const_reference at(size_type n) const {
1379
+ if (n >= this->size())
1380
+ throw_out_of_range("basic_string::at invalid subscript");
1381
+ return *(this->priv_addr() + difference_type(n));
1382
+ }
1383
+
1384
+ //////////////////////////////////////////////
1385
+ //
1386
+ // modifiers
1387
+ //
1388
+ //////////////////////////////////////////////
1389
+
1390
+ //! <b>Effects</b>: Calls append(str.data, str.size()).
1391
+ //!
1392
+ //! <b>Returns</b>: *this
1393
+ basic_string& operator+=(const basic_string& s)
1394
+ { return this->append(s); }
1395
+
1396
+ //! <b>Effects</b>: Same as `return append(sv)`.
1397
+ //!
1398
+ template<template<class, class> class BasicStringView>
1399
+ basic_string& operator+=(BasicStringView<CharT, Traits> sv)
1400
+ {
1401
+ return this->append(sv);
1402
+ }
1403
+
1404
+ //! <b>Effects</b>: Calls append(s).
1405
+ //!
1406
+ //! <b>Returns</b>: *this
1407
+ basic_string& operator+=(const CharT* s)
1408
+ { return this->append(s); }
1409
+
1410
+ //! <b>Effects</b>: Calls append(1, c).
1411
+ //!
1412
+ //! <b>Returns</b>: *this
1413
+ basic_string& operator+=(CharT c)
1414
+ { this->push_back(c); return *this; }
1415
+
1416
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1417
+ //! <b>Effects</b>: Returns append(il)
1418
+ //!
1419
+ basic_string& operator+=(std::initializer_list<CharT> il)
1420
+ {
1421
+ return this->append(il);
1422
+ }
1423
+ #endif
1424
+
1425
+ //! <b>Effects</b>: Calls append(str.data(), str.size()).
1426
+ //!
1427
+ //! <b>Returns</b>: *this
1428
+ basic_string& append(const basic_string& s)
1429
+ { return this->append(s.begin(), s.end()); }
1430
+
1431
+ //! <b>Effects</b>: Same as return append(sv.data(), sv.size()).
1432
+ //!
1433
+ template<template<class, class> class BasicStringView>
1434
+ basic_string& append(BasicStringView<CharT, Traits> sv)
1435
+ { return this->append(sv.data(), sv.size()); }
1436
+
1437
+ //! <b>Requires</b>: pos <= str.size()
1438
+ //!
1439
+ //! <b>Effects</b>: Determines the effective length rlen of the string to append
1440
+ //! as the smaller of n and str.size() - pos and calls append(str.data() + pos, rlen).
1441
+ //!
1442
+ //! <b>Throws</b>: If memory allocation throws and out_of_range if pos > str.size()
1443
+ //!
1444
+ //! <b>Returns</b>: *this
1445
+ basic_string& append(const basic_string& s, size_type pos, size_type n = npos)
1446
+ {
1447
+ if (pos > s.size())
1448
+ throw_out_of_range("basic_string::append out of range position");
1449
+ return this->append(s.begin() + pos,
1450
+ s.begin() + pos + dtl::min_value(n, s.size() - pos));
1451
+ }
1452
+
1453
+ //! <b>Requires</b>: s points to an array of at least n elements of CharT.
1454
+ //!
1455
+ //! <b>Effects</b>: The function replaces the string controlled by *this with
1456
+ //! a string of length size() + n whose irst size() elements are a copy of the
1457
+ //! original string controlled by *this and whose remaining
1458
+ //! elements are a copy of the initial n elements of s.
1459
+ //!
1460
+ //! <b>Throws</b>: If memory allocation throws length_error if size() + n > max_size().
1461
+ //!
1462
+ //! <b>Returns</b>: *this
1463
+ basic_string& append(const CharT* s, size_type n)
1464
+ { return this->append(s, s + difference_type(n)); }
1465
+
1466
+ //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
1467
+ //!
1468
+ //! <b>Effects</b>: Calls append(s, traits::length(s)).
1469
+ //!
1470
+ //! <b>Returns</b>: *this
1471
+ basic_string& append(const CharT* s)
1472
+ { return this->append(s, s + Traits::length(s)); }
1473
+
1474
+ //! <b>Effects</b>: Equivalent to append(basic_string(n, c)).
1475
+ //!
1476
+ //! <b>Returns</b>: *this
1477
+ basic_string& append(size_type n, CharT c)
1478
+ { return this->append(cvalue_iterator(c, n), cvalue_iterator()); }
1479
+
1480
+ //! <b>Requires</b>: [first,last) is a valid range.
1481
+ //!
1482
+ //! <b>Effects</b>: Equivalent to append(basic_string(first, last)).
1483
+ //!
1484
+ //! <b>Returns</b>: *this
1485
+ template <class InputIter>
1486
+ basic_string& append(InputIter first, InputIter last)
1487
+ { this->insert(this->end(), first, last); return *this; }
1488
+
1489
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1490
+ //! <b>Effects</b>: Returns append(il.begin(), il.size()).
1491
+ //!
1492
+ basic_string& append(std::initializer_list<CharT> il)
1493
+ {
1494
+ return this->append(il.begin(), il.size());
1495
+ }
1496
+ #endif
1497
+
1498
+ //! <b>Effects</b>: Equivalent to append(static_cast<size_type>(1), c).
1499
+ //!
1500
+ void push_back(CharT c)
1501
+ {
1502
+ const size_type old_size = this->priv_size();
1503
+ if (old_size < this->capacity()){
1504
+ const pointer addr = this->priv_addr();
1505
+ this->priv_construct_null(addr + difference_type(old_size + 1u));
1506
+ Traits::assign(addr[difference_type(old_size)], c);
1507
+ this->priv_size(old_size+1u);
1508
+ }
1509
+ else{
1510
+ //No enough memory, insert a new object at the end
1511
+ this->append(size_type(1), c);
1512
+ }
1513
+ }
1514
+
1515
+ //! <b>Effects</b>: Equivalent to assign(str, 0, npos).
1516
+ //!
1517
+ //! <b>Returns</b>: *this
1518
+ basic_string& assign(const basic_string& s)
1519
+ { return this->operator=(s); }
1520
+
1521
+ //! <b>Effects</b>: Equivalent to return assign(sv.data(), sv.size()).
1522
+ //!
1523
+ //! <b>Returns</b>: *this
1524
+ template<template <class, class> class BasicStringView>
1525
+ basic_string& assign(BasicStringView<CharT, Traits> sv)
1526
+ { return this->operator=(sv); }
1527
+
1528
+ //! <b>Effects</b>: The function replaces the string controlled by *this
1529
+ //! with a string of length str.size() whose elements are a copy of the string
1530
+ //! controlled by str. Leaves str in a valid but unspecified state.
1531
+ //!
1532
+ //! <b>Throws</b>: Nothing
1533
+ //!
1534
+ //! <b>Returns</b>: *this
1535
+ basic_string& assign(BOOST_RV_REF(basic_string) ms) BOOST_NOEXCEPT_OR_NOTHROW
1536
+ { return this->swap_data(ms), *this; }
1537
+
1538
+ //! <b>Requires</b>: pos <= str.size()
1539
+ //!
1540
+ //! <b>Effects</b>: Determines the effective length rlen of the string to assign as
1541
+ //! the smaller of n and str.size() - pos and calls assign(str.data() + pos rlen).
1542
+ //!
1543
+ //! <b>Throws</b>: If memory allocation throws or out_of_range if pos > str.size().
1544
+ //!
1545
+ //! <b>Returns</b>: *this
1546
+ basic_string& assign(const basic_string& s, size_type pos, size_type n)
1547
+ {
1548
+ if (pos > s.size())
1549
+ throw_out_of_range("basic_string::assign out of range position");
1550
+ return this->assign(s.begin() + pos,
1551
+ s.begin() + pos + dtl::min_value(n, s.size() - pos));
1552
+ }
1553
+
1554
+ //! <b>Requires</b>: s points to an array of at least n elements of CharT.
1555
+ //!
1556
+ //! <b>Effects</b>: Replaces the string controlled by *this with a string of
1557
+ //! length n whose elements are a copy of those pointed to by s.
1558
+ //!
1559
+ //! <b>Throws</b>: If memory allocation throws or length_error if n > max_size().
1560
+ //!
1561
+ //! <b>Returns</b>: *this
1562
+ basic_string& assign(const CharT* s, size_type n)
1563
+ { return this->assign(s, s + difference_type(n)); }
1564
+
1565
+ //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
1566
+ //!
1567
+ //! <b>Effects</b>: Calls assign(s, traits::length(s)).
1568
+ //!
1569
+ //! <b>Returns</b>: *this
1570
+ basic_string& assign(const CharT* s)
1571
+ { return this->assign(s, s + Traits::length(s)); }
1572
+
1573
+ //! <b>Effects</b>: Equivalent to assign(basic_string(n, c)).
1574
+ //!
1575
+ //! <b>Returns</b>: *this
1576
+ basic_string& assign(size_type n, CharT c)
1577
+ { return this->assign(cvalue_iterator(c, n), cvalue_iterator()); }
1578
+
1579
+ //! <b>Effects</b>: Equivalent to assign(basic_string(first, last)).
1580
+ //!
1581
+ //! <b>Returns</b>: *this
1582
+ basic_string& assign(const CharT* first, const CharT* last)
1583
+ {
1584
+ size_type n = static_cast<size_type>(last - first);
1585
+ this->reserve(n);
1586
+ CharT* ptr = boost::movelib::to_raw_pointer(this->priv_addr());
1587
+ Traits::copy(ptr, first, n);
1588
+ this->priv_construct_null(ptr + difference_type(n));
1589
+ this->priv_size(n);
1590
+ return *this;
1591
+ }
1592
+
1593
+ //! <b>Effects</b>: Equivalent to assign(basic_string(first, last)).
1594
+ //!
1595
+ //! <b>Returns</b>: *this
1596
+ template <class InputIter>
1597
+ basic_string& assign(InputIter first, InputIter last
1598
+ #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1599
+ , typename dtl::disable_if_convertible<InputIter, size_type>::type * = 0
1600
+ #endif
1601
+ )
1602
+ {
1603
+ size_type cur = 0;
1604
+ const pointer addr = this->priv_addr();
1605
+ CharT *ptr = boost::movelib::to_raw_pointer(addr);
1606
+ const size_type old_size = this->priv_size();
1607
+ while (first != last && cur != old_size) {
1608
+ Traits::assign(*ptr, *first);
1609
+ ++first;
1610
+ ++cur;
1611
+ ++ptr;
1612
+ }
1613
+ if (first == last)
1614
+ this->erase(addr + difference_type(cur), addr + difference_type(old_size));
1615
+ else
1616
+ this->append(first, last);
1617
+ return *this;
1618
+ }
1619
+
1620
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1621
+ //! <b>Effects</b>: Returns assign(il.begin(), il.size()).
1622
+ //!
1623
+ basic_string& assign(std::initializer_list<CharT> il)
1624
+ {
1625
+ return this->assign(il.begin(), il.size());
1626
+ }
1627
+ #endif
1628
+
1629
+ //! <b>Requires</b>: pos <= size().
1630
+ //!
1631
+ //! <b>Effects</b>: Calls insert(pos, str.data(), str.size()).
1632
+ //!
1633
+ //! <b>Throws</b>: If memory allocation throws or out_of_range if pos > size().
1634
+ //!
1635
+ //! <b>Returns</b>: *this
1636
+ basic_string& insert(size_type pos, const basic_string& s)
1637
+ {
1638
+ const size_type sz = this->size();
1639
+ if (pos > sz)
1640
+ throw_out_of_range("basic_string::insert out of range position");
1641
+ if (sz > this->max_size() - s.size())
1642
+ throw_length_error("basic_string::insert max_size() exceeded");
1643
+ this->insert(this->priv_addr() + pos, s.begin(), s.end());
1644
+ return *this;
1645
+ }
1646
+
1647
+ //! <b>Requires</b>: pos1 <= size() and pos2 <= str.size()
1648
+ //!
1649
+ //! <b>Effects</b>: Determines the effective length rlen of the string to insert as
1650
+ //! the smaller of n and str.size() - pos2 and calls insert(pos1, str.data() + pos2, rlen).
1651
+ //!
1652
+ //! <b>Throws</b>: If memory allocation throws or out_of_range if pos1 > size() or pos2 > str.size().
1653
+ //!
1654
+ //! <b>Returns</b>: *this
1655
+ basic_string& insert(size_type pos1, const basic_string& s, size_type pos2, size_type n = npos)
1656
+ {
1657
+ const size_type sz = this->size();
1658
+ const size_type str_size = s.size();
1659
+ if (pos1 > sz || pos2 > str_size)
1660
+ throw_out_of_range("basic_string::insert out of range position");
1661
+ size_type len = dtl::min_value(n, str_size - pos2);
1662
+ if (sz > this->max_size() - len)
1663
+ throw_length_error("basic_string::insert max_size() exceeded");
1664
+ const CharT *beg_ptr = boost::movelib::to_raw_pointer(s.begin()) + pos2;
1665
+ const CharT *end_ptr = beg_ptr + len;
1666
+ this->insert(this->priv_addr() + pos1, beg_ptr, end_ptr);
1667
+ return *this;
1668
+ }
1669
+
1670
+ //! <b>Requires</b>: s points to an array of at least n elements of CharT and pos <= size().
1671
+ //!
1672
+ //! <b>Effects</b>: Replaces the string controlled by *this with a string of length size() + n
1673
+ //! whose first pos elements are a copy of the initial elements of the original string
1674
+ //! controlled by *this and whose next n elements are a copy of the elements in s and whose
1675
+ //! remaining elements are a copy of the remaining elements of the original string controlled by *this.
1676
+ //!
1677
+ //! <b>Throws</b>: If memory allocation throws, out_of_range if pos > size() or
1678
+ //! length_error if size() + n > max_size().
1679
+ //!
1680
+ //! <b>Returns</b>: *this
1681
+ basic_string& insert(size_type pos, const CharT* s, size_type n)
1682
+ {
1683
+ if (pos > this->size())
1684
+ throw_out_of_range("basic_string::insert out of range position");
1685
+ if (this->size() > this->max_size() - n)
1686
+ throw_length_error("basic_string::insert max_size() exceeded");
1687
+ this->insert(this->priv_addr() + pos, s, s + difference_type(n));
1688
+ return *this;
1689
+ }
1690
+
1691
+ //! <b>Requires</b>: pos <= size() and s points to an array of at least traits::length(s) + 1 elements of CharT
1692
+ //!
1693
+ //! <b>Effects</b>: Calls insert(pos, s, traits::length(s)).
1694
+ //!
1695
+ //! <b>Throws</b>: If memory allocation throws, out_of_range if pos > size()
1696
+ //! length_error if size() > max_size() - Traits::length(s)
1697
+ //!
1698
+ //! <b>Returns</b>: *this
1699
+ basic_string& insert(size_type pos, const CharT* s)
1700
+ {
1701
+ if (pos > this->size())
1702
+ throw_out_of_range("basic_string::insert out of range position");
1703
+ size_type len = Traits::length(s);
1704
+ if (this->size() > this->max_size() - len)
1705
+ throw_length_error("basic_string::insert max_size() exceeded");
1706
+ this->insert(this->priv_addr() + pos, s, s + len);
1707
+ return *this;
1708
+ }
1709
+
1710
+ //! <b>Effects</b>: Equivalent to insert(pos, basic_string(n, c)).
1711
+ //!
1712
+ //! <b>Throws</b>: If memory allocation throws, out_of_range if pos > size()
1713
+ //! length_error if size() > max_size() - n
1714
+ //!
1715
+ //! <b>Returns</b>: *this
1716
+ basic_string& insert(size_type pos, size_type n, CharT c)
1717
+ {
1718
+ if (pos > this->size())
1719
+ throw_out_of_range("basic_string::insert out of range position");
1720
+ if (this->size() > this->max_size() - n)
1721
+ throw_length_error("basic_string::insert max_size() exceeded");
1722
+ this->insert(const_iterator(this->priv_addr() + pos), n, c);
1723
+ return *this;
1724
+ }
1725
+
1726
+ //! <b>Effects</b>: Same as `return insert(pos, sv.data(), sv.size())`.
1727
+ //!
1728
+ template<template<class, class> class BasicStringView>
1729
+ basic_string& insert(size_type pos, BasicStringView<CharT, Traits> sv)
1730
+ { return this->insert(pos, sv.data(), sv.size()); }
1731
+
1732
+ //! <b>Requires</b>: p is a valid iterator on *this.
1733
+ //!
1734
+ //! <b>Effects</b>: inserts a copy of c before the character referred to by p.
1735
+ //!
1736
+ //! <b>Returns</b>: An iterator which refers to the copy of the inserted character.
1737
+ iterator insert(const_iterator p, CharT c)
1738
+ {
1739
+ size_type new_offset = size_type(p - this->priv_addr());
1740
+ this->insert(p, cvalue_iterator(c, 1), cvalue_iterator());
1741
+ return this->priv_addr() + new_offset;
1742
+ }
1743
+
1744
+ //! <b>Requires</b>: p is a valid iterator on *this.
1745
+ //!
1746
+ //! <b>Effects</b>: Inserts n copies of c before the character referred to by p.
1747
+ //!
1748
+ //! <b>Returns</b>: an iterator to the first inserted element or p if n is 0.
1749
+ iterator insert(const_iterator p, size_type n, CharT c)
1750
+ { return this->insert(p, cvalue_iterator(c, n), cvalue_iterator()); }
1751
+
1752
+ //! <b>Requires</b>: p is a valid iterator on *this. [first,last) is a valid range.
1753
+ //!
1754
+ //! <b>Effects</b>: Equivalent to insert(p - begin(), basic_string(first, last)).
1755
+ //!
1756
+ //! <b>Returns</b>: an iterator to the first inserted element or p if first == last.
1757
+ template <class InputIter>
1758
+ iterator insert(const_iterator p, InputIter first, InputIter last
1759
+ #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1760
+ , typename dtl::disable_if_or
1761
+ < void
1762
+ , dtl::is_convertible<InputIter, size_type>
1763
+ , dtl::is_not_input_iterator<InputIter>
1764
+ >::type * = 0
1765
+ #endif
1766
+ )
1767
+ {
1768
+ const size_type n_pos = p - this->cbegin();
1769
+ for ( ; first != last; ++first, ++p) {
1770
+ p = this->insert(p, *first);
1771
+ }
1772
+ return this->begin() + difference_type(n_pos);
1773
+ }
1774
+
1775
+ #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1776
+ template <class ForwardIter>
1777
+ iterator insert(const_iterator p, ForwardIter first, ForwardIter last
1778
+ , typename dtl::disable_if_or
1779
+ < void
1780
+ , dtl::is_convertible<ForwardIter, size_type>
1781
+ , dtl::is_input_iterator<ForwardIter>
1782
+ >::type * = 0
1783
+ )
1784
+ {
1785
+ const size_type n_pos = size_type(p - this->cbegin());
1786
+ if (first != last) {
1787
+ const size_type n = boost::container::iterator_udistance(first, last);
1788
+ const size_type old_size = this->priv_size();
1789
+ const size_type remaining = this->capacity() - old_size;
1790
+ const pointer old_start = this->priv_addr();
1791
+ bool enough_capacity = false;
1792
+ size_type new_cap = 0;
1793
+
1794
+ //Check if we have enough capacity
1795
+ pointer hint = pointer();
1796
+ pointer allocation_ret = pointer();
1797
+ if (remaining >= n){
1798
+ enough_capacity = true;
1799
+ }
1800
+ else {
1801
+ //Otherwise expand current buffer or allocate new storage
1802
+ new_cap = this->next_capacity(n);
1803
+ hint = old_start;
1804
+ allocation_ret = this->allocation_command
1805
+ (allocate_new | expand_fwd | expand_bwd, old_size + n + 1u, new_cap, hint);
1806
+
1807
+ //Check forward expansion
1808
+ if(old_start == allocation_ret){
1809
+ enough_capacity = true;
1810
+ this->priv_storage(new_cap);
1811
+ }
1812
+ }
1813
+
1814
+ //Reuse same buffer
1815
+ if(enough_capacity){
1816
+ const size_type elems_after = old_size - size_type(p - old_start);
1817
+ const size_type old_length = old_size;
1818
+ size_type new_size = 0;
1819
+ if (elems_after >= n) {
1820
+ const pointer pointer_past_last = old_start + difference_type(old_size + 1u);
1821
+ priv_uninitialized_copy(old_start + difference_type(old_size - n + 1u),
1822
+ pointer_past_last, pointer_past_last);
1823
+
1824
+ Traits::move(const_cast<CharT*>(boost::movelib::to_raw_pointer(p + difference_type(n))),
1825
+ boost::movelib::to_raw_pointer(p),
1826
+ (elems_after - n) + 1u);
1827
+ (priv_copy)(first, last, const_cast<CharT*>(boost::movelib::to_raw_pointer(p)));
1828
+ new_size = old_size + n;
1829
+ }
1830
+ else {
1831
+ ForwardIter mid = first;
1832
+ boost::container::iterator_uadvance(mid, elems_after + 1u);
1833
+
1834
+ priv_uninitialized_copy(mid, last, old_start + difference_type(old_size + 1u));
1835
+ const size_type newer_size = old_size + (n - elems_after);
1836
+ this->priv_size(newer_size);
1837
+ priv_uninitialized_copy
1838
+ (p, const_iterator(old_start + difference_type(old_length + 1u)),
1839
+ old_start + difference_type(newer_size));
1840
+ (priv_copy)(first, mid, const_cast<CharT*>(boost::movelib::to_raw_pointer(p)));
1841
+ new_size = newer_size + elems_after;
1842
+ }
1843
+ this->priv_size(new_size);
1844
+ this->priv_construct_null(old_start + difference_type(new_size));
1845
+ }
1846
+ else{
1847
+ pointer new_start = allocation_ret;
1848
+ if(!hint){
1849
+ //Copy data to new buffer
1850
+ size_type new_length = 0;
1851
+ //This can't throw, since characters are POD
1852
+ new_length += priv_uninitialized_copy
1853
+ (const_iterator(old_start), p, new_start);
1854
+ new_length += priv_uninitialized_copy
1855
+ (first, last, new_start + difference_type(new_length));
1856
+ new_length += priv_uninitialized_copy
1857
+ (p, const_iterator(old_start + difference_type(old_size)),
1858
+ new_start + difference_type(new_length));
1859
+ this->priv_construct_null(new_start + difference_type(new_length));
1860
+
1861
+ this->deallocate_block();
1862
+ this->assure_long();
1863
+ this->priv_long_addr(new_start);
1864
+ this->priv_long_size(new_length);
1865
+ this->priv_long_storage(new_cap);
1866
+ }
1867
+ else{
1868
+ //value_type is POD, so backwards expansion is much easier
1869
+ //than with vector<T>
1870
+ value_type * const oldbuf = boost::movelib::to_raw_pointer(old_start);
1871
+ value_type * const newbuf = boost::movelib::to_raw_pointer(new_start);
1872
+ const value_type *const pos = boost::movelib::to_raw_pointer(p);
1873
+ const size_type before = size_type(pos - oldbuf);
1874
+
1875
+ //First move old data
1876
+ Traits::move(newbuf, oldbuf, before);
1877
+ Traits::move(newbuf + difference_type(before + n), pos, old_size - before);
1878
+ //Now initialize the new data
1879
+ priv_uninitialized_copy(first, last, new_start + difference_type(before));
1880
+ this->priv_construct_null(new_start + difference_type(old_size + n));
1881
+ this->assure_long();
1882
+ this->priv_long_addr(new_start);
1883
+ this->priv_long_size(old_size + n);
1884
+ this->priv_long_storage(new_cap);
1885
+ }
1886
+ }
1887
+ }
1888
+ return this->begin() + difference_type(n_pos);
1889
+ }
1890
+ #endif
1891
+
1892
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1893
+ //! <b>Effects</b>: As if by insert(p, il.begin(), il.end()).
1894
+ //!
1895
+ //! <b>Returns</b>: An iterator which refers to the copy of the first inserted
1896
+ //! character, or p if i1 is empty.
1897
+ BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, std::initializer_list<CharT> il)
1898
+ {
1899
+ return this->insert(p, il.begin(), il.end());
1900
+ }
1901
+ #endif
1902
+
1903
+ //! <b>Effects</b>: Removes the last element from the container.
1904
+ //!
1905
+ //! <b>Throws</b>: Nothing.
1906
+ //!
1907
+ //! <b>Complexity</b>: Constant time.
1908
+ void pop_back() BOOST_NOEXCEPT_OR_NOTHROW
1909
+ {
1910
+ BOOST_ASSERT(!this->empty());
1911
+ iterator p = this->end();
1912
+ this->erase(--p);
1913
+ }
1914
+
1915
+ //! <b>Requires</b>: pos <= size()
1916
+ //!
1917
+ //! <b>Effects</b>: Determines the effective length xlen of the string to be removed as the smaller of n and size() - pos.
1918
+ //! The function then replaces the string controlled by *this with a string of length size() - xlen
1919
+ //! whose first pos elements are a copy of the initial elements of the original string controlled by *this,
1920
+ //! and whose remaining elements are a copy of the elements of the original string controlled by *this
1921
+ //! beginning at position pos + xlen.
1922
+ //!
1923
+ //! <b>Throws</b>: out_of_range if pos > size().
1924
+ //!
1925
+ //! <b>Returns</b>: *this
1926
+ basic_string& erase(size_type pos = 0, size_type n = npos)
1927
+ {
1928
+ if (pos > this->size())
1929
+ throw_out_of_range("basic_string::erase out of range position");
1930
+ const pointer addr = this->priv_addr();
1931
+ erase(addr + difference_type(pos), addr + difference_type(pos) + dtl::min_value(n, this->size() - pos));
1932
+ return *this;
1933
+ }
1934
+
1935
+ //! <b>Effects</b>: Removes the character referred to by p.
1936
+ //!
1937
+ //! <b>Throws</b>: Nothing
1938
+ //!
1939
+ //! <b>Returns</b>: An iterator which points to the element immediately following p prior to the element being
1940
+ //! erased. If no such element exists, end() is returned.
1941
+ iterator erase(const_iterator p) BOOST_NOEXCEPT_OR_NOTHROW
1942
+ {
1943
+ // The move includes the terminating null.
1944
+ CharT * const ptr = const_cast<CharT*>(boost::movelib::to_raw_pointer(p));
1945
+ const size_type old_size = this->priv_size();
1946
+ Traits::move(ptr,
1947
+ boost::movelib::to_raw_pointer(p + 1),
1948
+ old_size - size_type(p - this->priv_addr()));
1949
+ this->priv_size(old_size-1u);
1950
+ return iterator(ptr);
1951
+ }
1952
+
1953
+ //! <b>Requires</b>: first and last are valid iterators on *this, defining a range [first,last).
1954
+ //!
1955
+ //! <b>Effects</b>: Removes the characters in the range [first,last).
1956
+ //!
1957
+ //! <b>Throws</b>: Nothing
1958
+ //!
1959
+ //! <b>Returns</b>: An iterator which points to the element pointed to by last prior to
1960
+ //! the other elements being erased. If no such element exists, end() is returned.
1961
+ iterator erase(const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW
1962
+ {
1963
+ CharT * f = const_cast<CharT*>(boost::movelib::to_raw_pointer(first));
1964
+ if (first != last) { // The move includes the terminating null.
1965
+ const size_type num_erased = size_type(last - first);
1966
+ const size_type old_size = this->priv_size();
1967
+ Traits::move(f,
1968
+ boost::movelib::to_raw_pointer(last),
1969
+ old_size + 1u - size_type(last - this->priv_addr()));
1970
+ const size_type new_length = old_size - num_erased;
1971
+ this->priv_size(new_length);
1972
+ }
1973
+ return iterator(f);
1974
+ }
1975
+
1976
+ //! <b>Effects</b>: Erases all the elements of the vector.
1977
+ //!
1978
+ //! <b>Throws</b>: Nothing.
1979
+ //!
1980
+ //! <b>Complexity</b>: Linear to the number of elements in the vector.
1981
+ void clear() BOOST_NOEXCEPT_OR_NOTHROW
1982
+ {
1983
+ if(this->is_short()) {
1984
+ Traits::assign(*this->priv_short_addr(), CharT(0));
1985
+ this->priv_short_size(0);
1986
+ }
1987
+ else {
1988
+ Traits::assign(*this->priv_long_addr(), CharT(0));
1989
+ this->priv_long_size(0);
1990
+ }
1991
+ }
1992
+
1993
+ //! <b>Requires</b>: pos1 <= size().
1994
+ //!
1995
+ //! <b>Effects</b>: Calls replace(pos1, n1, str.data(), str.size()).
1996
+ //!
1997
+ //! <b>Throws</b>: if memory allocation throws or out_of_range if pos1 > size().
1998
+ //!
1999
+ //! <b>Returns</b>: *this
2000
+ basic_string& replace(size_type pos1, size_type n1, const basic_string& str)
2001
+ {
2002
+ if (pos1 > this->size())
2003
+ throw_out_of_range("basic_string::replace out of range position");
2004
+ const size_type len = dtl::min_value(n1, this->size() - pos1);
2005
+ if (this->size() - len >= this->max_size() - str.size())
2006
+ throw_length_error("basic_string::replace max_size() exceeded");
2007
+ const pointer addr = this->priv_addr();
2008
+ return this->replace( const_iterator(addr + difference_type(pos1))
2009
+ , const_iterator(addr + difference_type(pos1 + len))
2010
+ , str.begin(), str.end());
2011
+ }
2012
+
2013
+ //! <b>Effects</b>: Calls `return replace(pos1, n1, sv.data(), sv.size());`.
2014
+ //!
2015
+ template<template<class, class> class BasicStringView>
2016
+ BOOST_CONTAINER_FORCEINLINE basic_string& replace(size_type pos1, size_type n1, BasicStringView<CharT, Traits> sv)
2017
+ {
2018
+ return this->replace(pos1, n1, sv.data(), sv.size());
2019
+ }
2020
+
2021
+ //! <b>Requires</b>: pos1 <= size() and pos2 <= str.size().
2022
+ //!
2023
+ //! <b>Effects</b>: Determines the effective length rlen of the string to be
2024
+ //! inserted as the smaller of n2 and str.size() - pos2 and calls
2025
+ //! replace(pos1, n1, str.data() + pos2, rlen).
2026
+ //!
2027
+ //! <b>Throws</b>: if memory allocation throws, out_of_range if pos1 > size() or pos2 > str.size().
2028
+ //!
2029
+ //! <b>Returns</b>: *this
2030
+ basic_string& replace(size_type pos1, size_type n1,
2031
+ const basic_string& str, size_type pos2, size_type n2 = npos)
2032
+ {
2033
+ if (pos2 > str.size())
2034
+ throw_out_of_range("basic_string::replace out of range position");
2035
+ return this->replace(pos1, n1, str.data()+pos2, dtl::min_value(n2, str.size() - pos2));
2036
+ }
2037
+
2038
+ //! <b>Throws</b>: out_of_range if pos1 > size() or pos2 > sv.size().
2039
+ //!
2040
+ //! <b>Effects</b>: Determines the effective length rlen of the string to be inserted as the
2041
+ //! smaller of n2 and sv.size() - pos2 and calls `replace(pos1, n1, sv.data() + pos2, rlen)`.
2042
+ //!
2043
+ //! <b>Returns</b>: *this.
2044
+ template<template<class, class> class BasicStringView>
2045
+ basic_string& replace(size_type pos1, size_type n1, BasicStringView<CharT, Traits> sv,
2046
+ size_type pos2, size_type n2 = npos)
2047
+ {
2048
+ if (pos2 > sv.size())
2049
+ throw_out_of_range("basic_string::replace out of range position");
2050
+ return this->replace(pos1, n1, sv.data()+pos2, dtl::min_value(n2, sv.size() - pos2));
2051
+ }
2052
+
2053
+ //! <b>Requires</b>: pos1 <= size() and s points to an array of at least n2 elements of CharT.
2054
+ //!
2055
+ //! <b>Effects</b>: Determines the effective length xlen of the string to be removed as the
2056
+ //! smaller of n1 and size() - pos1. If size() - xlen >= max_size() - n2 throws length_error.
2057
+ //! Otherwise, the function replaces the string controlled by *this with a string of
2058
+ //! length size() - xlen + n2 whose first pos1 elements are a copy of the initial elements
2059
+ //! of the original string controlled by *this, whose next n2 elements are a copy of the
2060
+ //! initial n2 elements of s, and whose remaining elements are a copy of the elements of
2061
+ //! the original string controlled by *this beginning at position pos + xlen.
2062
+ //!
2063
+ //! <b>Throws</b>: if memory allocation throws, out_of_range if pos1 > size() or length_error
2064
+ //! if the length of the resulting string would exceed max_size()
2065
+ //!
2066
+ //! <b>Returns</b>: *this
2067
+ basic_string& replace(size_type pos1, size_type n1, const CharT* s, size_type n2)
2068
+ {
2069
+ if (pos1 > this->size())
2070
+ throw_out_of_range("basic_string::replace out of range position");
2071
+ const size_type len = dtl::min_value(n1, this->size() - pos1);
2072
+ const size_type max_sz = this->max_size();
2073
+ if (n2 > max_sz || (this->size() - len) >= (max_sz - n2))
2074
+ throw_length_error("basic_string::replace max_size() exceeded");
2075
+ const pointer addr = this->priv_addr() + pos1;
2076
+ return this->replace(addr, addr + difference_type(len), s, s + difference_type(n2));
2077
+ }
2078
+
2079
+ //! <b>Requires</b>: pos1 <= size() and s points to an array of at least n2 elements of CharT.
2080
+ //!
2081
+ //! <b>Effects</b>: Determines the effective length xlen of the string to be removed as the smaller
2082
+ //! of n1 and size() - pos1. If size() - xlen >= max_size() - n2 throws length_error. Otherwise,
2083
+ //! the function replaces the string controlled by *this with a string of length size() - xlen + n2
2084
+ //! whose first pos1 elements are a copy of the initial elements of the original string controlled
2085
+ //! by *this, whose next n2 elements are a copy of the initial n2 elements of s, and whose
2086
+ //! remaining elements are a copy of the elements of the original string controlled by *this
2087
+ //! beginning at position pos + xlen.
2088
+ //!
2089
+ //! <b>Throws</b>: if memory allocation throws, out_of_range if pos1 > size() or length_error
2090
+ //! if the length of the resulting string would exceed max_size()
2091
+ //!
2092
+ //! <b>Returns</b>: *this
2093
+ BOOST_CONTAINER_FORCEINLINE basic_string& replace(size_type pos, size_type n1, const CharT* s)
2094
+ {
2095
+ return this->replace(pos, n1, s, Traits::length(s));
2096
+ }
2097
+
2098
+ //! <b>Requires</b>: pos1 <= size().
2099
+ //!
2100
+ //! <b>Effects</b>: Equivalent to replace(pos1, n1, basic_string(n2, c)).
2101
+ //!
2102
+ //! <b>Throws</b>: if memory allocation throws, out_of_range if pos1 > size() or length_error
2103
+ //! if the length of the resulting string would exceed max_size()
2104
+ //!
2105
+ //! <b>Returns</b>: *this
2106
+ basic_string& replace(size_type pos1, size_type n1, size_type n2, CharT c)
2107
+ {
2108
+ if (pos1 > this->size())
2109
+ throw_out_of_range("basic_string::replace out of range position");
2110
+ const size_type len = dtl::min_value(n1, this->size() - pos1);
2111
+ if (n2 > this->max_size() || this->size() - len >= this->max_size() - n2)
2112
+ throw_length_error("basic_string::replace max_size() exceeded");
2113
+ const pointer addr = this->priv_addr();
2114
+ return this->replace(addr + difference_type(pos1), addr + difference_type(pos1 + len), n2, c);
2115
+ }
2116
+
2117
+ //! <b>Requires</b>: [begin(),i1) and [i1,i2) are valid ranges.
2118
+ //!
2119
+ //! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, str).
2120
+ //!
2121
+ //! <b>Throws</b>: if memory allocation throws
2122
+ //!
2123
+ //! <b>Returns</b>: *this
2124
+ BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, const basic_string& str)
2125
+ { return this->replace(i1, i2, str.data(), str.data()+str.size()); }
2126
+
2127
+ //! <b>Requires</b>: [begin(),i1) and [i1,i2) are valid ranges and
2128
+ //! s points to an array of at least n elements
2129
+ //!
2130
+ //! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, s, n).
2131
+ //!
2132
+ //! <b>Throws</b>: if memory allocation throws
2133
+ //!
2134
+ //! <b>Returns</b>: *this
2135
+ BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, const CharT* s, size_type n)
2136
+ { return this->replace(i1, i2, s, s + difference_type(n)); }
2137
+
2138
+ //! <b>Requires</b>: [begin(),i1) and [i1,i2) are valid ranges and s points to an
2139
+ //! array of at least traits::length(s) + 1 elements of CharT.
2140
+ //!
2141
+ //! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, s, traits::length(s)).
2142
+ //!
2143
+ //! <b>Throws</b>: if memory allocation throws
2144
+ //!
2145
+ //! <b>Returns</b>: *this
2146
+ BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, const CharT* s)
2147
+ { return this->replace(i1, i2, s, s + Traits::length(s)); }
2148
+
2149
+ //! <b>Requires</b>: [begin(),i1) and [i1,i2) are valid ranges.
2150
+ //!
2151
+ //! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, basic_string(n, c)).
2152
+ //!
2153
+ //! <b>Throws</b>: if memory allocation throws
2154
+ //!
2155
+ //! <b>Returns</b>: *this
2156
+ basic_string& replace(const_iterator i1, const_iterator i2, size_type n, CharT c)
2157
+ {
2158
+ const size_type len = static_cast<size_type>(i2 - i1);
2159
+ if (len >= n) {
2160
+ Traits::assign(const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)), n, c);
2161
+ erase(i1 + difference_type(n), i2);
2162
+ }
2163
+ else {
2164
+ Traits::assign(const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)), len, c);
2165
+ insert(i2, n - len, c);
2166
+ }
2167
+ return *this;
2168
+ }
2169
+
2170
+ //! <b>Requires</b>: [begin(),i1), [i1,i2) and [j1,j2) are valid ranges.
2171
+ //!
2172
+ //! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, basic_string(j1, j2)).
2173
+ //!
2174
+ //! <b>Throws</b>: if memory allocation throws
2175
+ //!
2176
+ //! <b>Returns</b>: *this
2177
+ template <class InputIter>
2178
+ basic_string& replace(const_iterator i1, const_iterator i2, InputIter j1, InputIter j2
2179
+ #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
2180
+ , typename dtl::disable_if_or
2181
+ < void
2182
+ , dtl::is_convertible<InputIter, size_type>
2183
+ , dtl::is_input_iterator<InputIter>
2184
+ >::type * = 0
2185
+ #endif
2186
+ )
2187
+ {
2188
+ for ( ; i1 != i2 && j1 != j2; ++i1, ++j1){
2189
+ Traits::assign(*const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)), *j1);
2190
+ }
2191
+
2192
+ if (j1 == j2)
2193
+ this->erase(i1, i2);
2194
+ else
2195
+ this->insert(i2, j1, j2);
2196
+ return *this;
2197
+ }
2198
+
2199
+ #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
2200
+ template <class ForwardIter>
2201
+ basic_string& replace(const_iterator i1, const_iterator i2, ForwardIter j1, ForwardIter j2
2202
+ , typename dtl::disable_if_or
2203
+ < void
2204
+ , dtl::is_convertible<ForwardIter, size_type>
2205
+ , dtl::is_not_input_iterator<ForwardIter>
2206
+ >::type * = 0
2207
+ )
2208
+ {
2209
+ difference_type n = boost::container::iterator_distance(j1, j2);
2210
+ const difference_type len = i2 - i1;
2211
+ if (len >= n) {
2212
+ this->priv_copy(j1, j2, const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)));
2213
+ this->erase(i1 + difference_type(n), i2);
2214
+ }
2215
+ else {
2216
+ ForwardIter m = j1;
2217
+ boost::container::iterator_advance(m, len);
2218
+ this->priv_copy(j1, m, const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)));
2219
+ this->insert(i2, m, j2);
2220
+ }
2221
+ return *this;
2222
+ }
2223
+ #endif
2224
+
2225
+ //! <b>Requires</b>: [begin(), i1) and [i1, i2) are valid ranges.
2226
+ //!
2227
+ //! <b>Effects</b>: Calls `replace(i1 - begin(), i2 - i1, sv).`.
2228
+ //!
2229
+ //! <b>Returns</b>: *this.
2230
+ template<template <class, class> class BasicStringView>
2231
+ BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, BasicStringView<CharT, Traits> sv)
2232
+ {
2233
+ return this->replace( static_cast<size_type>(i1 - this->cbegin())
2234
+ , static_cast<size_type>(i2 - i1), sv);
2235
+ }
2236
+
2237
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
2238
+ //! <b>Requires</b>: [begin(), i1) and [i1, i2) are valid ranges.
2239
+ //!
2240
+ //! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, il.begin(), il.size()).
2241
+ //!
2242
+ //! <b>Returns</b>: *this.
2243
+ BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, std::initializer_list<CharT> il)
2244
+ {
2245
+ return this->replace( static_cast<size_type>(i1 - this->cbegin())
2246
+ , static_cast<size_type>(i2 - i1)
2247
+ , il.begin(), il.size());
2248
+ }
2249
+ #endif
2250
+
2251
+ //! <b>Requires</b>: pos <= size()
2252
+ //!
2253
+ //! <b>Effects</b>: Determines the effective length rlen of the string to copy as the
2254
+ //! smaller of n and size() - pos. s shall designate an array of at least rlen elements.
2255
+ //! The function then replaces the string designated by s with a string of length rlen
2256
+ //! whose elements are a copy of the string controlled by *this beginning at position pos.
2257
+ //! The function does not append a null object to the string designated by s.
2258
+ //!
2259
+ //! <b>Throws</b>: if memory allocation throws, out_of_range if pos > size().
2260
+ //!
2261
+ //! <b>Returns</b>: rlen
2262
+ size_type copy(CharT* s, size_type n, size_type pos = 0) const
2263
+ {
2264
+ if (pos > this->size())
2265
+ throw_out_of_range("basic_string::copy out of range position");
2266
+ const size_type len = dtl::min_value(n, this->size() - pos);
2267
+ Traits::copy(s, boost::movelib::to_raw_pointer(this->priv_addr() + pos), len);
2268
+ return len;
2269
+ }
2270
+
2271
+ //! <b>Effects</b>: *this contains the same sequence of characters that was in s,
2272
+ //! s contains the same sequence of characters that was in *this.
2273
+ //!
2274
+ //! <b>Throws</b>: Nothing
2275
+ void swap(basic_string& x)
2276
+ BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_swap::value
2277
+ || allocator_traits_type::is_always_equal::value)
2278
+ {
2279
+ this->base_t::swap_data(x);
2280
+ dtl::bool_<allocator_traits_type::propagate_on_container_swap::value> flag;
2281
+ dtl::swap_alloc(this->alloc(), x.alloc(), flag);
2282
+ }
2283
+
2284
+ //////////////////////////////////////////////
2285
+ //
2286
+ // data access
2287
+ //
2288
+ //////////////////////////////////////////////
2289
+
2290
+ //! <b>Requires</b>: The program shall not alter any of the values stored in the character array.
2291
+ //!
2292
+ //! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
2293
+ //!
2294
+ //! <b>Complexity</b>: constant time.
2295
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2296
+ const CharT* c_str() const BOOST_NOEXCEPT_OR_NOTHROW
2297
+ { return boost::movelib::to_raw_pointer(this->priv_addr()); }
2298
+
2299
+ //! <b>Requires</b>: The program shall not alter any of the values stored in the character array.
2300
+ //!
2301
+ //! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
2302
+ //!
2303
+ //! <b>Complexity</b>: constant time.
2304
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2305
+ const CharT* data() const BOOST_NOEXCEPT_OR_NOTHROW
2306
+ { return boost::movelib::to_raw_pointer(this->priv_addr()); }
2307
+
2308
+ //! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
2309
+ //!
2310
+ //! <b>Complexity</b>: constant time.
2311
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2312
+ CharT* data() BOOST_NOEXCEPT_OR_NOTHROW
2313
+ { return boost::movelib::to_raw_pointer(this->priv_addr()); }
2314
+
2315
+ #ifndef BOOST_CONTAINER_TEMPLATED_CONVERSION_OPERATOR_BROKEN
2316
+ //! <b>Returns</b>: a string_view to the characters in the string.
2317
+ //!
2318
+ //! <b>Complexity</b>: constant time.
2319
+ template<template <class, class> class BasicStringView>
2320
+ BOOST_CONTAINER_FORCEINLINE operator BasicStringView<CharT, Traits>() const BOOST_NOEXCEPT_OR_NOTHROW
2321
+ { return this->to_view< BasicStringView<CharT, Traits> >(); }
2322
+ #endif
2323
+
2324
+ //! <b>Returns</b>: a string_view to the characters in the string.
2325
+ //!
2326
+ //! <b>Complexity</b>: constant time.
2327
+ //!
2328
+ //! <b>Note</b>: This function is available to write portable code for compilers
2329
+ //! that don't support templated conversion operators.
2330
+ template<class BasicStringView>
2331
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2332
+ BasicStringView to_view() const BOOST_NOEXCEPT_OR_NOTHROW
2333
+ { return BasicStringView(this->data(), this->size()); }
2334
+
2335
+ //////////////////////////////////////////////
2336
+ //
2337
+ // string operations
2338
+ //
2339
+ //////////////////////////////////////////////
2340
+
2341
+ //! <b>Effects</b>: Determines the lowest position xpos, if possible, such that both
2342
+ //! of the following conditions hold:
2343
+ //! 1) pos <= xpos and xpos + str.size() <= size();
2344
+ //! 2) traits::eq(at(xpos+I), str.at(I)) for all elements I of the string controlled by str.
2345
+ //!
2346
+ //! <b>Throws</b>: Nothing
2347
+ //!
2348
+ //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2349
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2350
+ size_type find(const basic_string& s, size_type pos = 0) const
2351
+ { return find(s.c_str(), pos, s.size()); }
2352
+
2353
+ //! <b>Effects</b>: Determines the lowest position xpos, if possible, such that both
2354
+ //! of the following conditions hold:
2355
+ //! 1) pos <= xpos and xpos + sv.size() <= size();
2356
+ //! 2) traits::eq(at(xpos+I), sv.at(I)) for all elements I of the string controlled by sv.
2357
+ //!
2358
+ //! <b>Throws</b>: Nothing
2359
+ //!
2360
+ //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2361
+ template<template <class, class> class BasicStringView>
2362
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2363
+ size_type find(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
2364
+ { return this->find(sv.data(), pos, sv.size()); }
2365
+
2366
+ //! <b>Requires</b>: s points to an array of at least n elements of CharT.
2367
+ //!
2368
+ //! <b>Throws</b>: Nothing
2369
+ //!
2370
+ //! <b>Returns</b>: find(basic_string<CharT,traits,allocator_type>(s,n),pos).
2371
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2372
+ size_type find(const CharT* s, size_type pos, size_type n) const
2373
+ {
2374
+ if (pos + n > this->size())
2375
+ return npos;
2376
+ else {
2377
+ const pointer addr = this->priv_addr();
2378
+ pointer finish = addr + difference_type(this->priv_size());
2379
+ const const_iterator result =
2380
+ boost::container::search(boost::movelib::to_raw_pointer(addr + difference_type(pos)),
2381
+ boost::movelib::to_raw_pointer(finish),
2382
+ s, s + difference_type(n), Eq_traits<Traits>());
2383
+ return result != finish ? size_type(result - begin()) : npos;
2384
+ }
2385
+ }
2386
+
2387
+ //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
2388
+ //!
2389
+ //! <b>Throws</b>: Nothing
2390
+ //!
2391
+ //! <b>Returns</b>: find(basic_string(s), pos).
2392
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2393
+ size_type find(const CharT* s, size_type pos = 0) const
2394
+ { return this->find(s, pos, Traits::length(s)); }
2395
+
2396
+ //! <b>Throws</b>: Nothing
2397
+ //!
2398
+ //! <b>Returns</b>: find(basic_string<CharT,traits,allocator_type>(1,c), pos).
2399
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2400
+ size_type find(CharT c, size_type pos = 0) const
2401
+ {
2402
+ const size_type sz = this->size();
2403
+ if (pos >= sz)
2404
+ return npos;
2405
+ else {
2406
+ const pointer addr = this->priv_addr();
2407
+ pointer finish = addr + difference_type(sz);
2408
+ const const_iterator result =
2409
+ boost::container::find_if(addr + difference_type(pos), finish,
2410
+ boost::container::bind2nd(Eq_traits<Traits>(), c));
2411
+ return result != finish ? size_type(result - begin()) : npos;
2412
+ }
2413
+ }
2414
+
2415
+ //! <b>Effects</b>: Determines the highest position xpos, if possible, such
2416
+ //! that both of the following conditions obtain:
2417
+ //! a) xpos <= pos and xpos + str.size() <= size();
2418
+ //! b) traits::eq(at(xpos+I), str.at(I)) for all elements I of the string controlled by str.
2419
+ //!
2420
+ //! <b>Throws</b>: Nothing
2421
+ //!
2422
+ //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2423
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2424
+ size_type rfind(const basic_string& str, size_type pos = npos) const
2425
+ { return this->rfind(str.c_str(), pos, str.size()); }
2426
+
2427
+ //! <b>Effects</b>: Determines the highest position xpos, if possible, such
2428
+ //! that both of the following conditions obtain:
2429
+ //! a) xpos <= pos and xpos + sv.size() <= size();
2430
+ //! b) traits::eq(at(xpos+I), sv.at(I)) for all elements I of the string controlled by sv.
2431
+ //!
2432
+ //! <b>Throws</b>: Nothing
2433
+ //!
2434
+ //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2435
+ template<template <class, class> class BasicStringView>
2436
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2437
+ size_type rfind(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
2438
+ { return this->rfind(sv.data(), pos, sv.size()); }
2439
+
2440
+ //! <b>Requires</b>: s points to an array of at least n elements of CharT.
2441
+ //!
2442
+ //! <b>Throws</b>: Nothing
2443
+ //!
2444
+ //! <b>Returns</b>: rfind(basic_string(s, n), pos).
2445
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2446
+ size_type rfind(const CharT* s, size_type pos, size_type n) const
2447
+ {
2448
+ const size_type len = this->size();
2449
+
2450
+ if (n > len)
2451
+ return npos;
2452
+ else if (n == 0)
2453
+ return dtl::min_value(len, pos);
2454
+ else {
2455
+ const const_iterator last = begin() + difference_type(dtl::min_value(len - n, pos + n));
2456
+ const const_iterator result = boost::container::find_end
2457
+ (begin(), last, s, s + difference_type(n), Eq_traits<Traits>());
2458
+ return result != last ? size_type(result - begin()) : npos;
2459
+ }
2460
+ }
2461
+
2462
+ //! <b>Requires</b>: pos <= size() and s points to an array of at least
2463
+ //! traits::length(s) + 1 elements of CharT.
2464
+ //!
2465
+ //! <b>Throws</b>: Nothing
2466
+ //!
2467
+ //! <b>Returns</b>: rfind(basic_string(s), pos).
2468
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2469
+ size_type rfind(const CharT* s, size_type pos = npos) const
2470
+ { return this->rfind(s, pos, Traits::length(s)); }
2471
+
2472
+ //! <b>Throws</b>: Nothing
2473
+ //!
2474
+ //! <b>Returns</b>: rfind(basic_string<CharT,traits,allocator_type>(1,c),pos).
2475
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2476
+ size_type rfind(CharT c, size_type pos = npos) const
2477
+ {
2478
+ const size_type len = this->size();
2479
+
2480
+ if (len < 1)
2481
+ return npos;
2482
+ else {
2483
+ const const_iterator last = begin() + dtl::min_value(len - 1, pos) + 1;
2484
+ const_reverse_iterator rresult =
2485
+ boost::container::find_if(const_reverse_iterator(last), rend(),
2486
+ boost::container::bind2nd(Eq_traits<Traits>(), c));
2487
+ return rresult != rend() ? size_type((rresult.base() - 1) - begin()) : npos;
2488
+ }
2489
+ }
2490
+
2491
+ //! <b>Effects</b>: Determines the lowest position xpos, if possible, such that both of the
2492
+ //! following conditions obtain: a) pos <= xpos and xpos < size();
2493
+ //! b) traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.
2494
+ //!
2495
+ //! <b>Throws</b>: Nothing
2496
+ //!
2497
+ //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2498
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2499
+ size_type find_first_of(const basic_string& str, size_type pos = 0) const
2500
+ { return this->find_first_of(str.c_str(), pos, str.size()); }
2501
+
2502
+ //! <b>Effects</b>: Determines the lowest position xpos, if possible, such that both of the
2503
+ //! following conditions obtain: a) pos <= xpos and xpos < size();
2504
+ //! b) traits::eq(at(xpos), sv.at(I)) for some element I of the string controlled by sv.
2505
+ //!
2506
+ //! <b>Throws</b>: Nothing
2507
+ //!
2508
+ //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2509
+ template<template <class, class> class BasicStringView>
2510
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2511
+ size_type find_first_of(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
2512
+ { return this->find_first_of(sv.data(), pos, sv.size()); }
2513
+
2514
+ //! <b>Requires</b>: s points to an array of at least n elements of CharT.
2515
+ //!
2516
+ //! <b>Throws</b>: Nothing
2517
+ //!
2518
+ //! <b>Returns</b>: find_first_of(basic_string(s, n), pos).
2519
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2520
+ size_type find_first_of(const CharT* s, size_type pos, size_type n) const
2521
+ {
2522
+ const size_type sz = this->size();
2523
+ if (pos >= sz)
2524
+ return npos;
2525
+ else {
2526
+ const pointer addr = this->priv_addr();
2527
+ pointer finish = addr + difference_type(sz);
2528
+ const_iterator result = boost::container::find_first_of
2529
+ (addr + difference_type(pos), finish, s, s + difference_type(n), Eq_traits<Traits>());
2530
+ return result != finish ? size_type(result - this->begin()) : npos;
2531
+ }
2532
+ }
2533
+
2534
+ //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
2535
+ //!
2536
+ //! <b>Throws</b>: Nothing
2537
+ //!
2538
+ //! <b>Returns</b>: find_first_of(basic_string(s), pos).
2539
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2540
+ size_type find_first_of(const CharT* s, size_type pos = 0) const
2541
+ { return this->find_first_of(s, pos, Traits::length(s)); }
2542
+
2543
+ //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
2544
+ //!
2545
+ //! <b>Throws</b>: Nothing
2546
+ //!
2547
+ //! <b>Returns</b>: find_first_of(basic_string<CharT,traits,allocator_type>(1,c), pos).
2548
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2549
+ size_type find_first_of(CharT c, size_type pos = 0) const
2550
+ { return this->find(c, pos); }
2551
+
2552
+ //! <b>Effects</b>: Determines the highest position xpos, if possible, such that both of
2553
+ //! the following conditions obtain: a) xpos <= pos and xpos < size(); b)
2554
+ //! traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.
2555
+ //!
2556
+ //! <b>Throws</b>: Nothing
2557
+ //!
2558
+ //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2559
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2560
+ size_type find_last_of(const basic_string& str, size_type pos = npos) const
2561
+ { return this->find_last_of(str.c_str(), pos, str.size()); }
2562
+
2563
+ //! <b>Effects</b>: Determines the highest position xpos, if possible, such that both of
2564
+ //! the following conditions obtain: a) xpos <= pos and xpos < size(); b)
2565
+ //! traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.
2566
+ //!
2567
+ //! <b>Throws</b>: Nothing
2568
+ //!
2569
+ //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2570
+ template<template <class, class> class BasicStringView>
2571
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2572
+ size_type find_last_of(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
2573
+ { return this->find_last_of(sv.data(), pos, sv.size()); }
2574
+
2575
+ //! <b>Requires</b>: s points to an array of at least n elements of CharT.
2576
+ //!
2577
+ //! <b>Throws</b>: Nothing
2578
+ //!
2579
+ //! <b>Returns</b>: find_last_of(basic_string(s, n), pos).
2580
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2581
+ size_type find_last_of(const CharT* s, size_type pos, size_type n) const
2582
+ {
2583
+ const size_type len = this->size();
2584
+
2585
+ if (len < 1)
2586
+ return npos;
2587
+ else {
2588
+ const pointer addr = this->priv_addr();
2589
+ const const_iterator last = addr + difference_type(dtl::min_value(len - 1, pos) + 1);
2590
+ const const_reverse_iterator rresult =
2591
+ boost::container::find_first_of(const_reverse_iterator(last), rend(),
2592
+ s, s + difference_type(n), Eq_traits<Traits>());
2593
+ return rresult != rend() ? size_type((rresult.base() - 1) - addr) : npos;
2594
+ }
2595
+ }
2596
+
2597
+ //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
2598
+ //!
2599
+ //! <b>Throws</b>: Nothing
2600
+ //!
2601
+ //! <b>Returns</b>: find_last_of(basic_string<CharT,traits,allocator_type>(1,c),pos).
2602
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2603
+ size_type find_last_of(const CharT* s, size_type pos = npos) const
2604
+ { return this->find_last_of(s, pos, Traits::length(s)); }
2605
+
2606
+ //! <b>Throws</b>: Nothing
2607
+ //!
2608
+ //! <b>Returns</b>: find_last_of(basic_string(s), pos).
2609
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2610
+ size_type find_last_of(CharT c, size_type pos = npos) const
2611
+ { return this->rfind(c, pos); }
2612
+
2613
+ //! <b>Effects</b>: Determines the lowest position xpos, if possible, such that
2614
+ //! both of the following conditions obtain:
2615
+ //! a) pos <= xpos and xpos < size(); b) traits::eq(at(xpos), str.at(I)) for no
2616
+ //! element I of the string controlled by str.
2617
+ //!
2618
+ //! <b>Throws</b>: Nothing
2619
+ //!
2620
+ //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2621
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2622
+ size_type find_first_not_of(const basic_string& str, size_type pos = 0) const
2623
+ { return this->find_first_not_of(str.c_str(), pos, str.size()); }
2624
+
2625
+ //! <b>Effects</b>: Determines the lowest position xpos, if possible, such that
2626
+ //! both of the following conditions obtain:
2627
+ //! a) pos <= xpos and xpos < size(); b) traits::eq(at(xpos), sv.at(I)) for no
2628
+ //! element I of the string controlled by sv.
2629
+ //!
2630
+ //! <b>Throws</b>: Nothing
2631
+ //!
2632
+ //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2633
+ template<template <class, class> class BasicStringView>
2634
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2635
+ size_type find_first_not_of(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
2636
+ { return this->find_first_not_of(sv.data(), pos, sv.size()); }
2637
+
2638
+ //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
2639
+ //!
2640
+ //! <b>Throws</b>: Nothing
2641
+ //!
2642
+ //! <b>Returns</b>: find_first_not_of(basic_string(s, n), pos).
2643
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2644
+ size_type find_first_not_of(const CharT* s, size_type pos, size_type n) const
2645
+ {
2646
+ if (pos > this->size())
2647
+ return npos;
2648
+ else {
2649
+ const pointer addr = this->priv_addr();
2650
+ const pointer finish = addr + difference_type(this->priv_size());
2651
+ const const_iterator result = boost::container::find_if
2652
+ (addr + difference_type(pos), finish, Not_within_traits<Traits>(s, s + difference_type(n)));
2653
+ return result != finish ? size_type(result - addr) : npos;
2654
+ }
2655
+ }
2656
+
2657
+ //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
2658
+ //!
2659
+ //! <b>Throws</b>: Nothing
2660
+ //!
2661
+ //! <b>Returns</b>: find_first_not_of(basic_string(s), pos).
2662
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2663
+ size_type find_first_not_of(const CharT* s, size_type pos = 0) const
2664
+ { return this->find_first_not_of(s, pos, Traits::length(s)); }
2665
+
2666
+ //! <b>Throws</b>: Nothing
2667
+ //!
2668
+ //! <b>Returns</b>: find_first_not_of(basic_string(1, c), pos).
2669
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2670
+ size_type find_first_not_of(CharT c, size_type pos = 0) const
2671
+ {
2672
+ if (pos > this->size())
2673
+ return npos;
2674
+ else {
2675
+ const pointer addr = this->priv_addr();
2676
+ const pointer finish = addr + difference_type(this->priv_size());
2677
+ const const_iterator result
2678
+ = boost::container::find_if(addr + difference_type(pos), finish,
2679
+ boost::container::not1(boost::container::bind2nd(Eq_traits<Traits>(), c)));
2680
+ return result != finish ? size_type(result - begin()) : npos;
2681
+ }
2682
+ }
2683
+
2684
+ //! <b>Effects</b>: Determines the highest position xpos, if possible, such that
2685
+ //! both of the following conditions obtain: a) xpos <= pos and xpos < size();
2686
+ //! b) traits::eq(at(xpos), str.at(I)) for no element I of the string controlled by str.
2687
+ //!
2688
+ //! <b>Throws</b>: Nothing
2689
+ //!
2690
+ //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2691
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2692
+ size_type find_last_not_of(const basic_string& str, size_type pos = npos) const
2693
+ { return this->find_last_not_of(str.c_str(), pos, str.size()); }
2694
+
2695
+ //! <b>Effects</b>: Determines the highest position xpos, if possible, such that
2696
+ //! both of the following conditions obtain: a) xpos <= pos and xpos < size();
2697
+ //! b) traits::eq(at(xpos), sv.at(I)) for no element I of the string controlled by sv.
2698
+ //!
2699
+ //! <b>Throws</b>: Nothing
2700
+ //!
2701
+ //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2702
+ template<template <class, class> class BasicStringView>
2703
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2704
+ size_type find_last_not_of(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
2705
+ { return this->find_last_not_of(sv.data(), pos, sv.size()); }
2706
+
2707
+ //! <b>Requires</b>: s points to an array of at least n elements of CharT.
2708
+ //!
2709
+ //! <b>Throws</b>: Nothing
2710
+ //!
2711
+ //! <b>Returns</b>: find_last_not_of(basic_string(s, n), pos).
2712
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2713
+ size_type find_last_not_of(const CharT* s, size_type pos, size_type n) const
2714
+ {
2715
+ const size_type len = this->size();
2716
+
2717
+ if (len < 1)
2718
+ return npos;
2719
+ else {
2720
+ const const_iterator last = begin() + dtl::min_value(len - 1, pos) + 1;
2721
+ const const_reverse_iterator rresult =
2722
+ boost::container::find_if(const_reverse_iterator(last), rend(),
2723
+ Not_within_traits<Traits>(s, s + difference_type(n)));
2724
+ return rresult != rend() ? size_type((rresult.base() - 1) - begin()) : npos;
2725
+ }
2726
+ }
2727
+
2728
+ //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
2729
+ //!
2730
+ //! <b>Throws</b>: Nothing
2731
+ //!
2732
+ //! <b>Returns</b>: find_last_not_of(basic_string(s), pos).
2733
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2734
+ size_type find_last_not_of(const CharT* s, size_type pos = npos) const
2735
+ { return this->find_last_not_of(s, pos, Traits::length(s)); }
2736
+
2737
+ //! <b>Throws</b>: Nothing
2738
+ //!
2739
+ //! <b>Returns</b>: find_last_not_of(basic_string(1, c), pos).
2740
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2741
+ size_type find_last_not_of(CharT c, size_type pos = npos) const
2742
+ {
2743
+ const size_type len = this->size();
2744
+
2745
+ if (len < 1)
2746
+ return npos;
2747
+ else {
2748
+ const const_iterator last = begin() + dtl::min_value(len - 1, pos) + 1;
2749
+ const const_reverse_iterator rresult =
2750
+ boost::container::find_if(const_reverse_iterator(last), rend(),
2751
+ boost::container::not1(boost::container::bind2nd(Eq_traits<Traits>(), c)));
2752
+ return rresult != rend() ? size_type((rresult.base() - 1) - begin()) : npos;
2753
+ }
2754
+ }
2755
+
2756
+ //! <b>Requires</b>: Requires: pos <= size()
2757
+ //!
2758
+ //! <b>Effects</b>: Determines the effective length rlen of the string to copy as
2759
+ //! the smaller of n and size() - pos.
2760
+ //!
2761
+ //! <b>Throws</b>: If memory allocation throws or out_of_range if pos > size().
2762
+ //!
2763
+ //! <b>Returns</b>: basic_string<CharT,traits,allocator_type>(data()+pos,rlen).
2764
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2765
+ basic_string substr(size_type pos = 0, size_type n = npos) const
2766
+ {
2767
+ if (pos > this->size())
2768
+ throw_out_of_range("basic_string::substr out of range position");
2769
+ const pointer addr = this->priv_addr();
2770
+ return basic_string(addr + difference_type(pos),
2771
+ addr + difference_type(pos + dtl::min_value(n, size() - pos)), this->alloc());
2772
+ }
2773
+
2774
+ //! <b>Effects</b>: Determines the effective length rlen of the string to compare as
2775
+ //! the smaller of size() and str.size(). The function then compares the two strings by
2776
+ //! calling traits::compare(data(), str.data(), rlen).
2777
+ //!
2778
+ //! <b>Throws</b>: Nothing
2779
+ //!
2780
+ //! <b>Returns</b>: The nonzero result if the result of the comparison is nonzero.
2781
+ //! Otherwise, returns a value < 0 if size() < str.size(), a 0 value if size() == str.size(),
2782
+ //! and value > 0 if size() > str.size()
2783
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2784
+ int compare(const basic_string& str) const
2785
+ {
2786
+ const pointer addr = this->priv_addr();
2787
+ const pointer str_addr = str.priv_addr();
2788
+ return this->s_compare(addr, addr + difference_type(this->priv_size()), str_addr, str_addr + difference_type(str.priv_size()));
2789
+ }
2790
+
2791
+ //! <b>Throws</b>: Nothing
2792
+ //!
2793
+ //! <b>Returns</b>: compare(basic_string(sv)).
2794
+ template<template <class, class> class BasicStringView>
2795
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2796
+ int compare(BasicStringView<CharT,Traits> sv) const
2797
+ {
2798
+ const pointer addr = this->priv_addr();
2799
+ return this->s_compare(addr, addr + difference_type(this->priv_size()), sv.data(), sv.data() + difference_type(sv.size()));
2800
+ }
2801
+
2802
+ //! <b>Requires</b>: pos1 <= size()
2803
+ //!
2804
+ //! <b>Effects</b>: Determines the effective length rlen of the string to compare as
2805
+ //! the smaller of (this->size() - pos1), n1 and str.size(). The function then compares the two strings by
2806
+ //! calling traits::compare(data()+pos1, str.data(), rlen).
2807
+ //!
2808
+ //! <b>Throws</b>: out_of_range if pos1 > size()
2809
+ //!
2810
+ //! <b>Returns</b>:basic_string(*this,pos1,n1).compare(str).
2811
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2812
+ int compare(size_type pos1, size_type n1, const basic_string& str) const
2813
+ {
2814
+ if (pos1 > this->size())
2815
+ throw_out_of_range("basic_string::compare out of range position");
2816
+ const pointer addr = this->priv_addr();
2817
+ const pointer str_addr = str.priv_addr();
2818
+ return this->s_compare(addr + difference_type(pos1),
2819
+ addr + difference_type(pos1 + dtl::min_value(n1, this->size() - pos1)),
2820
+ str_addr, str_addr + difference_type(str.priv_size()));
2821
+ }
2822
+
2823
+ //! <b>Requires</b>: pos1 <= size()
2824
+ //!
2825
+ //! <b>Throws</b>: out_of_range if pos1 > size()
2826
+ //!
2827
+ //! <b>Returns</b>:basic_string(*this,pos1,n1).compare(sv).
2828
+ template<template <class, class> class BasicStringView>
2829
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2830
+ int compare(size_type pos1, size_type n1, BasicStringView<CharT,Traits> sv) const
2831
+ {
2832
+ if (pos1 > this->size())
2833
+ throw_out_of_range("basic_string::compare out of range position");
2834
+ const pointer addr = this->priv_addr() + pos1;
2835
+ const CharT* str_addr = sv.data();
2836
+ return this->s_compare(addr, addr + difference_type(dtl::min_value(n1, this->size() - pos1)),
2837
+ str_addr, str_addr + sv.size());
2838
+ }
2839
+
2840
+ //! <b>Requires</b>: pos1 <= size() and pos2 <= str.size()
2841
+ //!
2842
+ //! <b>Effects</b>: Determines the effective length rlen of the string to copy as
2843
+ //! the smaller of
2844
+ //!
2845
+ //! <b>Throws</b>: out_of_range if pos1 > size() or pos2 > str.size()
2846
+ //!
2847
+ //! <b>Returns</b>: basic_string(*this, pos1, n1).compare(basic_string(str, pos2, n2)).
2848
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2849
+ int compare(size_type pos1, size_type n1, const basic_string& str, size_type pos2, size_type n2 = npos) const
2850
+ {
2851
+ if (pos1 > this->size() || pos2 > str.size())
2852
+ throw_out_of_range("basic_string::compare out of range position");
2853
+ const pointer addr = this->priv_addr() + pos1;
2854
+ const pointer str_addr = str.priv_addr() + pos2;
2855
+ return this->s_compare(addr, addr + difference_type(dtl::min_value(n1, this->size() - pos1)),
2856
+ str_addr, str_addr + difference_type(dtl::min_value(n2, str.size() - pos2)));
2857
+ }
2858
+
2859
+ //! <b>Requires</b>: pos1 <= size() and pos2 <= str.size()
2860
+ //!
2861
+ //! <b>Effects</b>: Determines the effective length rlen of the string to copy as
2862
+ //! the smaller of
2863
+ //!
2864
+ //! <b>Throws</b>: out_of_range if pos1 > size() or pos2 > sv.size()
2865
+ //!
2866
+ //! <b>Returns</b>: basic_string(*this, pos1, n1).compare(BasicStringView<CharT, Traits>(sv, pos2, n2)).
2867
+ template<template <class, class> class BasicStringView>
2868
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2869
+ int compare(size_type pos1, size_type n1, BasicStringView<CharT,Traits> sv, size_type pos2, size_type n2) const
2870
+ {
2871
+ if (pos1 > this->size() || pos2 > sv.size())
2872
+ throw_out_of_range("basic_string::compare out of range position");
2873
+ const pointer addr = this->priv_addr() + pos1;
2874
+ const CharT * str_addr = sv.data() + pos2;
2875
+ return this->s_compare(addr, addr + difference_type(dtl::min_value(n1, this->size() - pos1)),
2876
+ str_addr, str_addr + difference_type(dtl::min_value(n2, sv.size() - pos2)));
2877
+ }
2878
+
2879
+ //! <b>Throws</b>: Nothing
2880
+ //!
2881
+ //! <b>Returns</b>: compare(basic_string(s)).
2882
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2883
+ int compare(const CharT* s) const
2884
+ {
2885
+ const pointer addr = this->priv_addr();
2886
+ return this->s_compare(addr, addr + difference_type(this->priv_size()), s, s + Traits::length(s));
2887
+ }
2888
+
2889
+ //! <b>Requires</b>: pos1 > size() and s points to an array of at least n2 elements of CharT.
2890
+ //!
2891
+ //! <b>Throws</b>: out_of_range if pos1 > size()
2892
+ //!
2893
+ //! <b>Returns</b>: basic_string(*this, pos, n1).compare(basic_string(s, n2)).
2894
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2895
+ int compare(size_type pos1, size_type n1, const CharT* s, size_type n2) const
2896
+ {
2897
+ if (pos1 > this->size())
2898
+ throw_out_of_range("basic_string::compare out of range position");
2899
+ const pointer addr = this->priv_addr();
2900
+ return this->s_compare( addr + difference_type(pos1),
2901
+ addr + difference_type(pos1 + dtl::min_value(n1, this->size() - pos1)),
2902
+ s, s + difference_type(n2));
2903
+ }
2904
+
2905
+ //! <b>Requires</b>: pos1 > size() and s points to an array of at least traits::length(s) + 1 elements of CharT.
2906
+ //!
2907
+ //! <b>Throws</b>: out_of_range if pos1 > size()
2908
+ //!
2909
+ //! <b>Returns</b>: basic_string(*this, pos, n1).compare(basic_string(s, n2)).
2910
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2911
+ int compare(size_type pos1, size_type n1, const CharT* s) const
2912
+ { return this->compare(pos1, n1, s, Traits::length(s)); }
2913
+
2914
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
2915
+ private:
2916
+ void priv_reserve(size_type res_arg, const bool null_terminate = true)
2917
+ {
2918
+ if (res_arg > this->max_size()){
2919
+ throw_length_error("basic_string::reserve max_size() exceeded");
2920
+ }
2921
+
2922
+ if (this->capacity() < res_arg){
2923
+ size_type n = dtl::max_value(res_arg, this->size()) + 1;
2924
+ size_type new_cap = this->next_capacity(n);
2925
+ pointer reuse = 0;
2926
+ pointer new_start = this->allocation_command(allocate_new, n, new_cap, reuse);
2927
+ size_type new_length = 0;
2928
+
2929
+ const pointer addr = this->priv_addr();
2930
+ new_length += priv_uninitialized_copy
2931
+ (addr, addr + difference_type(this->priv_size()), new_start);
2932
+ if(null_terminate){
2933
+ this->priv_construct_null(new_start + difference_type(new_length));
2934
+ }
2935
+ this->deallocate_block();
2936
+ this->assure_long();
2937
+ this->priv_long_addr(new_start);
2938
+ this->priv_long_size(new_length);
2939
+ this->priv_storage(new_cap);
2940
+ }
2941
+ }
2942
+
2943
+ template<class It1, class It2>
2944
+ static int s_compare(It1 f1, It1 l1, It2 f2, It2 l2)
2945
+ {
2946
+ const std::size_t n1 = std::size_t(l1 - f1);
2947
+ const std::size_t n2 = std::size_t(l2 - f2);
2948
+ const int cmp = Traits::compare(boost::movelib::to_raw_pointer(f1),
2949
+ boost::movelib::to_raw_pointer(f2),
2950
+ dtl::min_value(n1, n2));
2951
+ return cmp != 0 ? cmp : (n1 < n2 ? -1 : (n1 > n2 ? 1 : 0));
2952
+ }
2953
+
2954
+ template<class AllocVersion>
2955
+ void priv_shrink_to_fit_dynamic_buffer
2956
+ ( AllocVersion
2957
+ , typename dtl::enable_if<dtl::is_same<AllocVersion, version_1> >::type* = 0)
2958
+ {
2959
+ //Allocate a new buffer.
2960
+ size_type real_cap = 0;
2961
+ const pointer long_addr = this->priv_long_addr();
2962
+ const size_type long_size = this->priv_long_size();
2963
+ const size_type long_storage = this->priv_long_storage();
2964
+ //We can make this nothrow as chars are always NoThrowCopyables
2965
+ BOOST_TRY{
2966
+ pointer reuse = 0;
2967
+ real_cap = long_size+1;
2968
+ const pointer ret = this->allocation_command(allocate_new, long_size+1, real_cap, reuse);
2969
+ //Copy and update
2970
+ Traits::copy( boost::movelib::to_raw_pointer(ret)
2971
+ , boost::movelib::to_raw_pointer(this->priv_long_addr())
2972
+ , long_size+1);
2973
+ this->priv_long_addr(ret);
2974
+ this->priv_storage(real_cap);
2975
+ //And release old buffer
2976
+ this->alloc().deallocate(long_addr, long_storage);
2977
+ }
2978
+ BOOST_CATCH(...){
2979
+ return;
2980
+ }
2981
+ BOOST_CATCH_END
2982
+ }
2983
+
2984
+ template<class AllocVersion>
2985
+ void priv_shrink_to_fit_dynamic_buffer
2986
+ ( AllocVersion
2987
+ , typename dtl::enable_if<dtl::is_same<AllocVersion, version_2> >::type* = 0)
2988
+ {
2989
+ size_type received_size = this->priv_long_size()+1;
2990
+ pointer hint = this->priv_long_addr();
2991
+ if(this->alloc().allocation_command
2992
+ ( shrink_in_place | nothrow_allocation, this->priv_long_storage(), received_size, hint)){
2993
+ this->priv_storage(received_size);
2994
+ }
2995
+ }
2996
+
2997
+ BOOST_CONTAINER_FORCEINLINE void priv_construct_null(pointer p)
2998
+ { this->construct(p, CharT(0)); }
2999
+
3000
+ // Helper functions used by constructors. It is a severe error for
3001
+ // any of them to be called anywhere except from within constructors.
3002
+ BOOST_CONTAINER_FORCEINLINE void priv_terminate_string()
3003
+ { this->priv_construct_null(this->priv_end_addr()); }
3004
+
3005
+ template<class FwdIt, class Count> inline
3006
+ void priv_uninitialized_fill_n(FwdIt first, Count count, const CharT val)
3007
+ {
3008
+ //Save initial position
3009
+ FwdIt init = first;
3010
+
3011
+ BOOST_TRY{
3012
+ //Construct objects
3013
+ for (; count--; ++first){
3014
+ this->construct(first, val);
3015
+ }
3016
+ }
3017
+ BOOST_CATCH(...){
3018
+ //Call destructors
3019
+ for (; init != first; ++init){
3020
+ this->destroy(init);
3021
+ }
3022
+ BOOST_RETHROW
3023
+ }
3024
+ BOOST_CATCH_END
3025
+ }
3026
+
3027
+ template<class InpIt, class FwdIt> inline
3028
+ size_type priv_uninitialized_copy(InpIt first, InpIt last, FwdIt dest)
3029
+ {
3030
+ //Save initial destination position
3031
+ FwdIt dest_init = dest;
3032
+ size_type constructed = 0;
3033
+
3034
+ BOOST_TRY{
3035
+ //Try to build objects
3036
+ for (; first != last; ++dest, ++first, ++constructed){
3037
+ this->construct(dest, *first);
3038
+ }
3039
+ }
3040
+ BOOST_CATCH(...){
3041
+ //Call destructors
3042
+ for (; constructed--; ++dest_init){
3043
+ this->destroy(dest_init);
3044
+ }
3045
+ BOOST_RETHROW
3046
+ }
3047
+ BOOST_CATCH_END
3048
+ return (constructed);
3049
+ }
3050
+
3051
+ template <class InputIterator, class OutIterator>
3052
+ static void priv_copy(InputIterator first, InputIterator last, OutIterator result)
3053
+ {
3054
+ for ( ; first != last; ++first, ++result)
3055
+ Traits::assign(*result, *first);
3056
+ }
3057
+
3058
+ static BOOST_CONTAINER_FORCEINLINE void priv_copy(const CharT* first, const CharT* last, CharT* result)
3059
+ { Traits::copy(result, first, std::size_t(last - first)); }
3060
+
3061
+ template <class Integer>
3062
+ BOOST_CONTAINER_FORCEINLINE basic_string& priv_replace_dispatch(const_iterator first, const_iterator last,
3063
+ Integer n, Integer x,
3064
+ dtl::true_)
3065
+ { return this->replace(first, last, (size_type) n, (CharT) x); }
3066
+
3067
+ template <class InputIter>
3068
+ BOOST_CONTAINER_FORCEINLINE basic_string& priv_replace_dispatch(const_iterator first, const_iterator last,
3069
+ InputIter f, InputIter l,
3070
+ dtl::false_)
3071
+ {
3072
+ typedef typename boost::container::iterator_traits<InputIter>::iterator_category Category;
3073
+ return this->priv_replace(first, last, f, l, Category());
3074
+ }
3075
+
3076
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
3077
+ };
3078
+
3079
+ #ifndef BOOST_CONTAINER_NO_CXX17_CTAD
3080
+
3081
+ template <typename InputIterator>
3082
+ basic_string(InputIterator, InputIterator) ->
3083
+ basic_string<typename iterator_traits<InputIterator>::value_type>;
3084
+
3085
+ template <typename InputIterator, typename Allocator>
3086
+ basic_string(InputIterator, InputIterator, Allocator const&) ->
3087
+ basic_string<typename iterator_traits<InputIterator>::value_type, Allocator>;
3088
+
3089
+ #endif
3090
+
3091
+ #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
3092
+
3093
+ //!Typedef for a basic_string of
3094
+ //!narrow characters
3095
+ typedef basic_string
3096
+ <char
3097
+ ,std::char_traits<char>
3098
+ ,new_allocator<char> >
3099
+ string;
3100
+
3101
+ //!Typedef for a basic_string of
3102
+ //!narrow characters
3103
+ typedef basic_string
3104
+ <wchar_t
3105
+ ,std::char_traits<wchar_t>
3106
+ ,new_allocator<wchar_t> >
3107
+ wstring;
3108
+
3109
+ #else
3110
+
3111
+ template <class CharT, class Traits, class Allocator>
3112
+ const typename basic_string<CharT,Traits,Allocator>::size_type
3113
+ basic_string<CharT,Traits,Allocator>::npos;
3114
+
3115
+ template<class S>
3116
+ struct is_string
3117
+ {
3118
+ static const bool value = false;
3119
+ };
3120
+
3121
+ template<class C, class T, class A>
3122
+ struct is_string< basic_string<C, T, A> >
3123
+ {
3124
+ static const bool value = true;
3125
+ };
3126
+
3127
+ #endif
3128
+
3129
+ // ------------------------------------------------------------
3130
+ // Non-member functions.
3131
+
3132
+ // Operator+
3133
+
3134
+ template <class CharT, class Traits, class Allocator> inline
3135
+ basic_string<CharT,Traits,Allocator>
3136
+ operator+(const basic_string<CharT,Traits,Allocator>& x
3137
+ ,const basic_string<CharT,Traits,Allocator>& y)
3138
+ {
3139
+ typedef basic_string<CharT,Traits,Allocator> str_t;
3140
+ typedef typename str_t::reserve_t reserve_t;
3141
+ reserve_t reserve;
3142
+ str_t result(reserve, x.size() + y.size(), x.get_stored_allocator());
3143
+ result.append(x);
3144
+ result.append(y);
3145
+ return result;
3146
+ }
3147
+
3148
+ template <class CharT, class Traits, class Allocator> inline
3149
+ basic_string<CharT, Traits, Allocator> operator+
3150
+ ( BOOST_RV_REF_BEG basic_string<CharT, Traits, Allocator> BOOST_RV_REF_END x
3151
+ , BOOST_RV_REF_BEG basic_string<CharT, Traits, Allocator> BOOST_RV_REF_END y)
3152
+ {
3153
+ x += y;
3154
+ return boost::move(x);
3155
+ }
3156
+
3157
+ template <class CharT, class Traits, class Allocator> inline
3158
+ basic_string<CharT, Traits, Allocator> operator+
3159
+ ( BOOST_RV_REF_BEG basic_string<CharT, Traits, Allocator> BOOST_RV_REF_END x
3160
+ , const basic_string<CharT,Traits,Allocator>& y)
3161
+ {
3162
+ x += y;
3163
+ return boost::move(x);
3164
+ }
3165
+
3166
+ template <class CharT, class Traits, class Allocator> inline
3167
+ basic_string<CharT, Traits, Allocator> operator+
3168
+ (const basic_string<CharT,Traits,Allocator>& x
3169
+ ,BOOST_RV_REF_BEG basic_string<CharT, Traits, Allocator> BOOST_RV_REF_END y)
3170
+ {
3171
+ y.insert(y.begin(), x.begin(), x.end());
3172
+ return boost::move(y);
3173
+ }
3174
+
3175
+ template <class CharT, class Traits, class Allocator> inline
3176
+ basic_string<CharT, Traits, Allocator> operator+
3177
+ (const CharT* s, basic_string<CharT, Traits, Allocator> y)
3178
+ {
3179
+ y.insert(y.begin(), s, s + Traits::length(s));
3180
+ return y;
3181
+ }
3182
+
3183
+ template <class CharT, class Traits, class Allocator> inline
3184
+ basic_string<CharT,Traits,Allocator> operator+
3185
+ (basic_string<CharT,Traits,Allocator> x, const CharT* s)
3186
+ {
3187
+ x += s;
3188
+ return x;
3189
+ }
3190
+
3191
+ template <class CharT, class Traits, class Allocator> inline
3192
+ basic_string<CharT,Traits,Allocator> operator+
3193
+ (CharT c, basic_string<CharT,Traits,Allocator> y)
3194
+ {
3195
+ y.insert(y.begin(), c);
3196
+ return y;
3197
+ }
3198
+
3199
+ template <class CharT, class Traits, class Allocator> inline
3200
+ basic_string<CharT,Traits,Allocator> operator+
3201
+ (basic_string<CharT,Traits,Allocator> x, const CharT c)
3202
+ {
3203
+ x += c;
3204
+ return x;
3205
+ }
3206
+
3207
+ // Operator== and operator!=
3208
+
3209
+ template <class CharT, class Traits, class Allocator>
3210
+ inline bool
3211
+ operator==(const basic_string<CharT,Traits,Allocator>& x, const basic_string<CharT,Traits,Allocator>& y)
3212
+ {
3213
+ return x.size() == y.size() &&
3214
+ Traits::compare(x.data(), y.data(), x.size()) == 0;
3215
+ }
3216
+
3217
+ template <class CharT, class Traits, class Allocator>
3218
+ inline bool
3219
+ operator==(const CharT* s, const basic_string<CharT,Traits,Allocator>& y)
3220
+ {
3221
+ typename basic_string<CharT,Traits,Allocator>::size_type n = Traits::length(s);
3222
+ return n == y.size() && Traits::compare(s, y.data(), n) == 0;
3223
+ }
3224
+
3225
+ template <class CharT, class Traits, class Allocator>
3226
+ inline bool
3227
+ operator==(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
3228
+ {
3229
+ typename basic_string<CharT,Traits,Allocator>::size_type n = Traits::length(s);
3230
+ return x.size() == n && Traits::compare(x.data(), s, n) == 0;
3231
+ }
3232
+
3233
+ template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
3234
+ inline
3235
+ BOOST_CONTAINER_DOC1ST( bool,
3236
+ typename dtl::disable_if
3237
+ <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
3238
+ operator==( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
3239
+ {
3240
+ return x.size() == y.size() &&
3241
+ Traits::compare(x.data(), y.data(), x.size()) == 0;
3242
+ }
3243
+
3244
+ template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
3245
+ inline
3246
+ BOOST_CONTAINER_DOC1ST( bool,
3247
+ typename dtl::disable_if
3248
+ <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
3249
+ operator==( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
3250
+ {
3251
+ return x.size() == y.size() &&
3252
+ Traits::compare(x.data(), y.data(), x.size()) == 0;
3253
+ }
3254
+
3255
+ template <class CharT, class Traits, class Allocator>
3256
+ inline bool
3257
+ operator!=(const basic_string<CharT,Traits,Allocator>& x, const basic_string<CharT,Traits,Allocator>& y)
3258
+ { return !(x == y); }
3259
+
3260
+ template <class CharT, class Traits, class Allocator>
3261
+ inline bool
3262
+ operator!=(const CharT* s, const basic_string<CharT,Traits,Allocator>& y)
3263
+ { return !(s == y); }
3264
+
3265
+ template <class CharT, class Traits, class Allocator>
3266
+ inline bool
3267
+ operator!=(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
3268
+ { return !(x == s); }
3269
+
3270
+
3271
+ template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
3272
+ inline
3273
+ BOOST_CONTAINER_DOC1ST( bool,
3274
+ typename dtl::disable_if
3275
+ <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
3276
+ operator!=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
3277
+ { return !(x == y); }
3278
+
3279
+ template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
3280
+ inline
3281
+ BOOST_CONTAINER_DOC1ST( bool,
3282
+ typename dtl::disable_if
3283
+ <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
3284
+ operator!=( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
3285
+ { return !(x == y); }
3286
+
3287
+ // Operator< (and also >, <=, and >=).
3288
+ template <class CharT, class Traits, class Allocator>
3289
+ inline bool
3290
+ operator<(const basic_string<CharT,Traits,Allocator>& x, const basic_string<CharT,Traits,Allocator>& y)
3291
+ {
3292
+ return x.compare(y) < 0;
3293
+ }
3294
+
3295
+ template <class CharT, class Traits, class Allocator>
3296
+ inline bool
3297
+ operator<(const CharT* s, const basic_string<CharT,Traits,Allocator>& y)
3298
+ {
3299
+ return y.compare(s) > 0;
3300
+ }
3301
+
3302
+ template <class CharT, class Traits, class Allocator>
3303
+ inline bool
3304
+ operator<(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
3305
+ {
3306
+ return x.compare(s) < 0;
3307
+ }
3308
+
3309
+ template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
3310
+ inline
3311
+ BOOST_CONTAINER_DOC1ST( bool,
3312
+ typename dtl::disable_if
3313
+ <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
3314
+ operator<( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
3315
+ { return y.compare(x) > 0; }
3316
+
3317
+ template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
3318
+ inline
3319
+ BOOST_CONTAINER_DOC1ST( bool,
3320
+ typename dtl::disable_if
3321
+ <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
3322
+ operator<( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
3323
+ { return x.compare(y) < 0; }
3324
+
3325
+ template <class CharT, class Traits, class Allocator>
3326
+ inline bool
3327
+ operator>(const basic_string<CharT,Traits,Allocator>& x, const basic_string<CharT,Traits,Allocator>& y) {
3328
+ return y < x;
3329
+ }
3330
+
3331
+ template <class CharT, class Traits, class Allocator>
3332
+ inline bool
3333
+ operator>(const CharT* s, const basic_string<CharT,Traits,Allocator>& y) {
3334
+ return y < s;
3335
+ }
3336
+
3337
+ template <class CharT, class Traits, class Allocator>
3338
+ inline bool
3339
+ operator>(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
3340
+ {
3341
+ return s < x;
3342
+ }
3343
+
3344
+ template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
3345
+ inline
3346
+ BOOST_CONTAINER_DOC1ST( bool,
3347
+ typename dtl::disable_if
3348
+ <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
3349
+ operator>( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
3350
+ { return y < x; }
3351
+
3352
+ template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
3353
+ inline
3354
+ BOOST_CONTAINER_DOC1ST( bool,
3355
+ typename dtl::disable_if
3356
+ <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
3357
+ operator>( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
3358
+ { return y < x; }
3359
+
3360
+ template <class CharT, class Traits, class Allocator>
3361
+ inline bool
3362
+ operator<=(const basic_string<CharT,Traits,Allocator>& x, const basic_string<CharT,Traits,Allocator>& y)
3363
+ {
3364
+ return !(y < x);
3365
+ }
3366
+
3367
+ template <class CharT, class Traits, class Allocator>
3368
+ inline bool
3369
+ operator<=(const CharT* s, const basic_string<CharT,Traits,Allocator>& y)
3370
+ { return !(y < s); }
3371
+
3372
+ template <class CharT, class Traits, class Allocator>
3373
+ inline bool
3374
+ operator<=(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
3375
+ { return !(s < x); }
3376
+
3377
+
3378
+ template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
3379
+ inline
3380
+ BOOST_CONTAINER_DOC1ST( bool,
3381
+ typename dtl::disable_if
3382
+ <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
3383
+ operator<=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
3384
+ { return !(y < x); }
3385
+
3386
+ template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
3387
+ inline
3388
+ BOOST_CONTAINER_DOC1ST( bool,
3389
+ typename dtl::disable_if
3390
+ <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
3391
+ operator<=( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
3392
+ { return !(y < x); }
3393
+
3394
+ template <class CharT, class Traits, class Allocator>
3395
+ inline bool
3396
+ operator>=(const basic_string<CharT,Traits,Allocator>& x,
3397
+ const basic_string<CharT,Traits,Allocator>& y)
3398
+ { return !(x < y); }
3399
+
3400
+ template <class CharT, class Traits, class Allocator>
3401
+ inline bool
3402
+ operator>=(const CharT* s, const basic_string<CharT,Traits,Allocator>& y)
3403
+ { return !(s < y); }
3404
+
3405
+ template <class CharT, class Traits, class Allocator>
3406
+ inline bool
3407
+ operator>=(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
3408
+ { return !(x < s); }
3409
+
3410
+ template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
3411
+ inline
3412
+ BOOST_CONTAINER_DOC1ST( bool,
3413
+ typename dtl::disable_if
3414
+ <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
3415
+ operator>=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
3416
+ { return !(x < y); }
3417
+
3418
+ template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
3419
+ inline
3420
+ BOOST_CONTAINER_DOC1ST( bool,
3421
+ typename dtl::disable_if
3422
+ <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
3423
+ operator>=( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
3424
+ { return !(x < y); }
3425
+
3426
+ // Swap.
3427
+ template <class CharT, class Traits, class Allocator>
3428
+ inline void swap(basic_string<CharT,Traits,Allocator>& x, basic_string<CharT,Traits,Allocator>& y)
3429
+ BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
3430
+ { x.swap(y); }
3431
+
3432
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
3433
+ // I/O.
3434
+ namespace dtl {
3435
+
3436
+ template <class CharT, class Traits>
3437
+ inline bool
3438
+ string_fill(std::basic_ostream<CharT, Traits>& os,
3439
+ std::basic_streambuf<CharT, Traits>* buf,
3440
+ std::size_t n)
3441
+ {
3442
+ CharT f = os.fill();
3443
+ std::size_t i;
3444
+ bool ok = true;
3445
+
3446
+ for (i = 0; i < n; i++)
3447
+ ok = ok && !Traits::eq_int_type(buf->sputc(f), Traits::eof());
3448
+ return ok;
3449
+ }
3450
+
3451
+ } //namespace dtl {
3452
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
3453
+
3454
+ template <class CharT, class Traits, class Allocator>
3455
+ std::basic_ostream<CharT, Traits>&
3456
+ operator<<(std::basic_ostream<CharT, Traits>& os, const basic_string<CharT,Traits,Allocator>& s)
3457
+ {
3458
+ typename std::basic_ostream<CharT, Traits>::sentry sentry(os);
3459
+ bool ok = false;
3460
+
3461
+ if (sentry) {
3462
+ ok = true;
3463
+ typename basic_string<CharT,Traits,Allocator>::size_type n = s.size();
3464
+ typename basic_string<CharT,Traits,Allocator>::size_type pad_len = 0;
3465
+ const bool left = (os.flags() & std::ios::left) != 0;
3466
+ const std::size_t w = os.width(0);
3467
+ std::basic_streambuf<CharT, Traits>* buf = os.rdbuf();
3468
+
3469
+ if (w != 0 && n < w)
3470
+ pad_len = w - n;
3471
+
3472
+ if (!left)
3473
+ ok = dtl::string_fill(os, buf, pad_len);
3474
+
3475
+ ok = ok &&
3476
+ buf->sputn(s.data(), std::streamsize(n)) == std::streamsize(n);
3477
+
3478
+ if (left)
3479
+ ok = ok && dtl::string_fill(os, buf, pad_len);
3480
+ }
3481
+
3482
+ if (!ok)
3483
+ os.setstate(std::ios_base::failbit);
3484
+
3485
+ return os;
3486
+ }
3487
+
3488
+
3489
+ template <class CharT, class Traits, class Allocator>
3490
+ std::basic_istream<CharT, Traits>&
3491
+ operator>>(std::basic_istream<CharT, Traits>& is, basic_string<CharT,Traits,Allocator>& s)
3492
+ {
3493
+ typename std::basic_istream<CharT, Traits>::sentry sentry(is);
3494
+
3495
+ if (sentry) {
3496
+ std::basic_streambuf<CharT, Traits>* buf = is.rdbuf();
3497
+ const std::ctype<CharT>& ctype = std::use_facet<std::ctype<CharT> >(is.getloc());
3498
+
3499
+ s.clear();
3500
+ std::size_t n = is.width(0);
3501
+ if (n == 0)
3502
+ n = static_cast<std::size_t>(-1);
3503
+ else
3504
+ s.reserve(n);
3505
+
3506
+ while (n-- > 0) {
3507
+ typename Traits::int_type c1 = buf->sbumpc();
3508
+
3509
+ if (Traits::eq_int_type(c1, Traits::eof())) {
3510
+ is.setstate(std::ios_base::eofbit);
3511
+ break;
3512
+ }
3513
+ else {
3514
+ CharT c = Traits::to_char_type(c1);
3515
+
3516
+ if (ctype.is(std::ctype<CharT>::space, c)) {
3517
+ if (Traits::eq_int_type(buf->sputbackc(c), Traits::eof()))
3518
+ is.setstate(std::ios_base::failbit);
3519
+ break;
3520
+ }
3521
+ else
3522
+ s.push_back(c);
3523
+ }
3524
+ }
3525
+
3526
+ // If we have read no characters, then set failbit.
3527
+ if (s.size() == 0)
3528
+ is.setstate(std::ios_base::failbit);
3529
+ }
3530
+ else
3531
+ is.setstate(std::ios_base::failbit);
3532
+
3533
+ return is;
3534
+ }
3535
+
3536
+ template <class CharT, class Traits, class Allocator>
3537
+ std::basic_istream<CharT, Traits>&
3538
+ getline(std::istream& is, basic_string<CharT,Traits,Allocator>& s,CharT delim)
3539
+ {
3540
+ typename basic_string<CharT,Traits,Allocator>::size_type nread = 0;
3541
+ typename std::basic_istream<CharT, Traits>::sentry sentry(is, true);
3542
+ if (sentry) {
3543
+ std::basic_streambuf<CharT, Traits>* buf = is.rdbuf();
3544
+ s.clear();
3545
+
3546
+ while (nread < s.max_size()) {
3547
+ int c1 = buf->sbumpc();
3548
+ if (Traits::eq_int_type(c1, Traits::eof())) {
3549
+ is.setstate(std::ios_base::eofbit);
3550
+ break;
3551
+ }
3552
+ else {
3553
+ ++nread;
3554
+ CharT c = Traits::to_char_type(c1);
3555
+ if (!Traits::eq(c, delim))
3556
+ s.push_back(c);
3557
+ else
3558
+ break; // Character is extracted but not appended.
3559
+ }
3560
+ }
3561
+ }
3562
+ if (nread == 0 || nread >= s.max_size())
3563
+ is.setstate(std::ios_base::failbit);
3564
+
3565
+ return is;
3566
+ }
3567
+
3568
+ template <class CharT, class Traits, class Allocator>
3569
+ inline std::basic_istream<CharT, Traits>&
3570
+ getline(std::basic_istream<CharT, Traits>& is, basic_string<CharT,Traits,Allocator>& s)
3571
+ {
3572
+ return getline(is, s, '\n');
3573
+ }
3574
+
3575
+ template <class Ch, class Allocator>
3576
+ inline std::size_t hash_value(basic_string<Ch, std::char_traits<Ch>, Allocator> const& v)
3577
+ {
3578
+ std::size_t seed = 0;
3579
+ const Ch *first = v.data();
3580
+
3581
+ for(std::size_t i = 0, i_max = v.size(); i != i_max; ++i)
3582
+ {
3583
+ boost::intrusive::detail::hash_combine_size_t(seed, static_cast<std::size_t>(*first));
3584
+ ++first;
3585
+ }
3586
+
3587
+ return seed;
3588
+ }
3589
+
3590
+ }}
3591
+
3592
+
3593
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
3594
+
3595
+ namespace boost {
3596
+
3597
+ //!has_trivial_destructor_after_move<> == true_type
3598
+ //!specialization for optimizations
3599
+ template <class C, class T, class Allocator>
3600
+ struct has_trivial_destructor_after_move<boost::container::basic_string<C, T, Allocator> >
3601
+ {
3602
+ typedef typename boost::container::basic_string<C, T, Allocator>::allocator_type allocator_type;
3603
+ typedef typename ::boost::container::allocator_traits<allocator_type>::pointer pointer;
3604
+ static const bool value = ::boost::has_trivial_destructor_after_move<allocator_type>::value &&
3605
+ ::boost::has_trivial_destructor_after_move<pointer>::value;
3606
+ };
3607
+
3608
+ }
3609
+
3610
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
3611
+
3612
+ #include <boost/container/detail/config_end.hpp>
3613
+
3614
+ #endif // BOOST_CONTAINER_STRING_HPP