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,3124 @@
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_CONTAINER_VECTOR_HPP
12
+ #define BOOST_CONTAINER_CONTAINER_VECTOR_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
+
25
+ // container
26
+ #include <boost/container/container_fwd.hpp>
27
+ #include <boost/container/allocator_traits.hpp>
28
+ #include <boost/container/new_allocator.hpp> //new_allocator
29
+ #include <boost/container/throw_exception.hpp>
30
+ #include <boost/container/options.hpp>
31
+ // container detail
32
+ #include <boost/container/detail/advanced_insert_int.hpp>
33
+ #include <boost/container/detail/algorithm.hpp> //equal()
34
+ #include <boost/container/detail/alloc_helpers.hpp>
35
+ #include <boost/container/detail/allocation_type.hpp>
36
+ #include <boost/container/detail/copy_move_algo.hpp>
37
+ #include <boost/container/detail/destroyers.hpp>
38
+ #include <boost/container/detail/iterator.hpp>
39
+ #include <boost/container/detail/iterators.hpp>
40
+ #include <boost/move/detail/iterator_to_raw_pointer.hpp>
41
+ #include <boost/container/detail/mpl.hpp>
42
+ #include <boost/container/detail/next_capacity.hpp>
43
+ #include <boost/container/detail/value_functors.hpp>
44
+ #include <boost/move/detail/to_raw_pointer.hpp>
45
+ #include <boost/container/detail/type_traits.hpp>
46
+ #include <boost/container/detail/version_type.hpp>
47
+ // intrusive
48
+ #include <boost/intrusive/pointer_traits.hpp>
49
+ // move
50
+ #include <boost/move/adl_move_swap.hpp>
51
+ #include <boost/move/iterator.hpp>
52
+ #include <boost/move/traits.hpp>
53
+ #include <boost/move/utility_core.hpp>
54
+ // move/detail
55
+ #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
56
+ #include <boost/move/detail/fwd_macros.hpp>
57
+ #endif
58
+ #include <boost/move/detail/move_helpers.hpp>
59
+ // move/algo
60
+ #include <boost/move/algo/adaptive_merge.hpp>
61
+ #include <boost/move/algo/unique.hpp>
62
+ #include <boost/move/algo/predicate.hpp>
63
+ #include <boost/move/algo/detail/set_difference.hpp>
64
+ // other
65
+ #include <boost/core/no_exceptions_support.hpp>
66
+ #include <boost/assert.hpp>
67
+ #include <boost/cstdint.hpp>
68
+
69
+ //std
70
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
71
+ #include <initializer_list> //for std::initializer_list
72
+ #endif
73
+
74
+ namespace boost {
75
+ namespace container {
76
+
77
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
78
+
79
+
80
+ template <class Pointer, bool IsConst>
81
+ class vec_iterator
82
+ {
83
+ public:
84
+ typedef std::random_access_iterator_tag iterator_category;
85
+ #ifdef BOOST_MOVE_CONTIGUOUS_ITERATOR_TAG
86
+ typedef std::contiguous_iterator_tag iterator_concept;
87
+ #endif
88
+ typedef typename boost::intrusive::pointer_traits<Pointer>::element_type value_type;
89
+
90
+ //Defining element_type to make libstdc++'s std::pointer_traits well-formed leads to ambiguity
91
+ //due to LWG3446. So we need to specialize std::pointer_traits. See
92
+ //https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96416 for details. Many thanks to Jonathan Wakely
93
+ //for explaining the issue.
94
+ #ifndef BOOST_GNU_STDLIB
95
+ //Define element_
96
+ typedef typename boost::intrusive::pointer_traits<Pointer>::element_type element_type;
97
+ #endif
98
+ typedef typename boost::intrusive::pointer_traits<Pointer>::difference_type difference_type;
99
+ typedef typename boost::intrusive::pointer_traits<Pointer>::size_type size_type;
100
+ typedef typename dtl::if_c
101
+ < IsConst
102
+ , typename boost::intrusive::pointer_traits<Pointer>::template
103
+ rebind_pointer<const value_type>::type
104
+ , Pointer
105
+ >::type pointer;
106
+ typedef typename boost::intrusive::pointer_traits<pointer> ptr_traits;
107
+ typedef typename ptr_traits::reference reference;
108
+
109
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
110
+ private:
111
+ Pointer m_ptr;
112
+
113
+ class nat
114
+ {
115
+ public:
116
+ Pointer get_ptr() const
117
+ { return Pointer(); }
118
+ };
119
+ typedef typename dtl::if_c< IsConst
120
+ , vec_iterator<Pointer, false>
121
+ , nat>::type nonconst_iterator;
122
+
123
+ public:
124
+ BOOST_CONTAINER_FORCEINLINE
125
+ const Pointer &get_ptr() const BOOST_NOEXCEPT_OR_NOTHROW
126
+ { return m_ptr; }
127
+
128
+ BOOST_CONTAINER_FORCEINLINE
129
+ Pointer &get_ptr() BOOST_NOEXCEPT_OR_NOTHROW
130
+ { return m_ptr; }
131
+
132
+ BOOST_CONTAINER_FORCEINLINE explicit vec_iterator(Pointer ptr) BOOST_NOEXCEPT_OR_NOTHROW
133
+ : m_ptr(ptr)
134
+ {}
135
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
136
+
137
+ public:
138
+
139
+ //Constructors
140
+ BOOST_CONTAINER_FORCEINLINE vec_iterator() BOOST_NOEXCEPT_OR_NOTHROW
141
+ : m_ptr() //Value initialization to achieve "null iterators" (N3644)
142
+ {}
143
+
144
+ BOOST_CONTAINER_FORCEINLINE vec_iterator(const vec_iterator& other) BOOST_NOEXCEPT_OR_NOTHROW
145
+ : m_ptr(other.get_ptr())
146
+ {}
147
+
148
+ BOOST_CONTAINER_FORCEINLINE vec_iterator(const nonconst_iterator &other) BOOST_NOEXCEPT_OR_NOTHROW
149
+ : m_ptr(other.get_ptr())
150
+ {}
151
+
152
+ BOOST_CONTAINER_FORCEINLINE vec_iterator & operator=(const vec_iterator& other) BOOST_NOEXCEPT_OR_NOTHROW
153
+ { m_ptr = other.get_ptr(); return *this; }
154
+
155
+ //Pointer like operators
156
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
157
+ reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW
158
+ { BOOST_ASSERT(!!m_ptr); return *m_ptr; }
159
+
160
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
161
+ pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW
162
+ { return m_ptr; }
163
+
164
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
165
+ reference operator[](difference_type off) const BOOST_NOEXCEPT_OR_NOTHROW
166
+ { BOOST_ASSERT(!!m_ptr); return m_ptr[off]; }
167
+
168
+ //Increment / Decrement
169
+ BOOST_CONTAINER_FORCEINLINE vec_iterator& operator++() BOOST_NOEXCEPT_OR_NOTHROW
170
+ { BOOST_ASSERT(!!m_ptr); ++m_ptr; return *this; }
171
+
172
+ BOOST_CONTAINER_FORCEINLINE vec_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW
173
+ { BOOST_ASSERT(!!m_ptr); return vec_iterator(m_ptr++); }
174
+
175
+ BOOST_CONTAINER_FORCEINLINE vec_iterator& operator--() BOOST_NOEXCEPT_OR_NOTHROW
176
+ { BOOST_ASSERT(!!m_ptr); --m_ptr; return *this; }
177
+
178
+ BOOST_CONTAINER_FORCEINLINE vec_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW
179
+ { BOOST_ASSERT(!!m_ptr); return vec_iterator(m_ptr--); }
180
+
181
+ //Arithmetic
182
+ BOOST_CONTAINER_FORCEINLINE vec_iterator& operator+=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
183
+ { BOOST_ASSERT(m_ptr || !off); m_ptr += off; return *this; }
184
+
185
+ BOOST_CONTAINER_FORCEINLINE vec_iterator& operator-=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
186
+ { BOOST_ASSERT(m_ptr || !off); m_ptr -= off; return *this; }
187
+
188
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
189
+ friend vec_iterator operator+(const vec_iterator &x, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
190
+ { BOOST_ASSERT(x.m_ptr || !off); return vec_iterator(x.m_ptr+off); }
191
+
192
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
193
+ friend vec_iterator operator+(difference_type off, vec_iterator right) BOOST_NOEXCEPT_OR_NOTHROW
194
+ { BOOST_ASSERT(right.m_ptr || !off); right.m_ptr += off; return right; }
195
+
196
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
197
+ friend vec_iterator operator-(vec_iterator left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW
198
+ { BOOST_ASSERT(left.m_ptr || !off); left.m_ptr -= off; return left; }
199
+
200
+ //Difference
201
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
202
+ friend difference_type operator-(const vec_iterator &left, const vec_iterator& right) BOOST_NOEXCEPT_OR_NOTHROW
203
+ { return left.m_ptr - right.m_ptr; }
204
+
205
+ //Comparison operators
206
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
207
+ friend bool operator== (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
208
+ { return l.m_ptr == r.m_ptr; }
209
+
210
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
211
+ friend bool operator!= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
212
+ { return l.m_ptr != r.m_ptr; }
213
+
214
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
215
+ friend bool operator< (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
216
+ { return l.m_ptr < r.m_ptr; }
217
+
218
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
219
+ friend bool operator<= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
220
+ { return l.m_ptr <= r.m_ptr; }
221
+
222
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
223
+ friend bool operator> (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
224
+ { return l.m_ptr > r.m_ptr; }
225
+
226
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
227
+ friend bool operator>= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW
228
+ { return l.m_ptr >= r.m_ptr; }
229
+ };
230
+
231
+ template<class BiDirPosConstIt, class BiDirValueIt>
232
+ struct vector_insert_ordered_cursor
233
+ {
234
+ typedef typename iterator_traits<BiDirPosConstIt>::value_type size_type;
235
+ typedef typename iterator_traits<BiDirValueIt>::reference reference;
236
+
237
+ BOOST_CONTAINER_FORCEINLINE vector_insert_ordered_cursor(BiDirPosConstIt posit, BiDirValueIt valueit)
238
+ : last_position_it(posit), last_value_it(valueit)
239
+ {}
240
+
241
+ void operator --()
242
+ {
243
+ --last_value_it;
244
+ --last_position_it;
245
+ while(this->get_pos() == size_type(-1)){
246
+ --last_value_it;
247
+ --last_position_it;
248
+ }
249
+ }
250
+
251
+ BOOST_CONTAINER_FORCEINLINE size_type get_pos() const
252
+ { return *last_position_it; }
253
+
254
+ BOOST_CONTAINER_FORCEINLINE reference get_val()
255
+ { return *last_value_it; }
256
+
257
+ BiDirPosConstIt last_position_it;
258
+ BiDirValueIt last_value_it;
259
+ };
260
+
261
+ struct initial_capacity_t{};
262
+
263
+ template<class Pointer, bool IsConst>
264
+ BOOST_CONTAINER_FORCEINLINE const Pointer &vector_iterator_get_ptr(const vec_iterator<Pointer, IsConst> &it) BOOST_NOEXCEPT_OR_NOTHROW
265
+ { return it.get_ptr(); }
266
+
267
+ template<class Pointer, bool IsConst>
268
+ BOOST_CONTAINER_FORCEINLINE Pointer &get_ptr(vec_iterator<Pointer, IsConst> &it) BOOST_NOEXCEPT_OR_NOTHROW
269
+ { return it.get_ptr(); }
270
+
271
+ struct vector_uninitialized_size_t {};
272
+ static const vector_uninitialized_size_t vector_uninitialized_size = vector_uninitialized_size_t();
273
+
274
+ template <class T>
275
+ struct vector_value_traits_base
276
+ {
277
+ static const bool trivial_dctr = dtl::is_trivially_destructible<T>::value;
278
+ static const bool trivial_dctr_after_move = has_trivial_destructor_after_move<T>::value;
279
+ };
280
+
281
+ template <class Allocator>
282
+ struct vector_value_traits
283
+ : public vector_value_traits_base<typename Allocator::value_type>
284
+ {
285
+ typedef vector_value_traits_base<typename Allocator::value_type> base_t;
286
+ //This is the anti-exception array destructor
287
+ //to deallocate values already constructed
288
+ typedef typename dtl::if_c
289
+ <base_t::trivial_dctr
290
+ ,dtl::null_scoped_destructor_n<Allocator>
291
+ ,dtl::scoped_destructor_n<Allocator>
292
+ >::type ArrayDestructor;
293
+ //This is the anti-exception array deallocator
294
+ typedef dtl::scoped_array_deallocator<Allocator> ArrayDeallocator;
295
+ };
296
+
297
+ //!This struct deallocates and allocated memory
298
+ template < class Allocator
299
+ , class StoredSizeType
300
+ , class AllocatorVersion = typename dtl::version<Allocator>::type
301
+ >
302
+ struct vector_alloc_holder
303
+ : public Allocator
304
+ {
305
+ private:
306
+ BOOST_MOVABLE_BUT_NOT_COPYABLE(vector_alloc_holder)
307
+
308
+ public:
309
+ typedef Allocator allocator_type;
310
+ typedef StoredSizeType stored_size_type;
311
+ typedef boost::container::allocator_traits<allocator_type> allocator_traits_type;
312
+ typedef typename allocator_traits_type::pointer pointer;
313
+ typedef typename allocator_traits_type::size_type size_type;
314
+ typedef typename allocator_traits_type::value_type value_type;
315
+
316
+ BOOST_CONTAINER_FORCEINLINE
317
+ static bool is_propagable_from(const allocator_type &from_alloc, pointer p, const allocator_type &to_alloc, bool const propagate_allocator)
318
+ {
319
+ (void)propagate_allocator; (void)p; (void)to_alloc; (void)from_alloc;
320
+ const bool all_storage_propagable = !allocator_traits_type::is_partially_propagable::value ||
321
+ !allocator_traits_type::storage_is_unpropagable(from_alloc, p);
322
+ return all_storage_propagable &&
323
+ (propagate_allocator || allocator_traits_type::is_always_equal::value || allocator_traits_type::equal(from_alloc, to_alloc));
324
+ }
325
+
326
+ BOOST_CONTAINER_FORCEINLINE
327
+ static bool are_swap_propagable(const allocator_type &l_a, pointer l_p, const allocator_type &r_a, pointer r_p, bool const propagate_allocator)
328
+ {
329
+ (void)propagate_allocator; (void)l_p; (void)r_p; (void)l_a; (void)r_a;
330
+ const bool all_storage_propagable = !allocator_traits_type::is_partially_propagable::value ||
331
+ !(allocator_traits_type::storage_is_unpropagable(l_a, l_p) || allocator_traits_type::storage_is_unpropagable(r_a, r_p));
332
+ return all_storage_propagable && (propagate_allocator || allocator_traits_type::equal(l_a, r_a));
333
+ }
334
+
335
+ //Constructor, does not throw
336
+ vector_alloc_holder()
337
+ BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value)
338
+ : allocator_type(), m_start(), m_size(), m_capacity()
339
+ {}
340
+
341
+ //Constructor, does not throw
342
+ template<class AllocConvertible>
343
+ explicit vector_alloc_holder(BOOST_FWD_REF(AllocConvertible) a) BOOST_NOEXCEPT_OR_NOTHROW
344
+ : allocator_type(boost::forward<AllocConvertible>(a)), m_start(), m_size(), m_capacity()
345
+ {}
346
+
347
+ //Constructor, does not throw
348
+ template<class AllocConvertible, class SizeType>
349
+ vector_alloc_holder(vector_uninitialized_size_t, BOOST_FWD_REF(AllocConvertible) a, SizeType initial_size)
350
+ : allocator_type(boost::forward<AllocConvertible>(a))
351
+ , m_start()
352
+ //Size is initialized here so vector should only call uninitialized_xxx after this
353
+ , m_size(static_cast<stored_size_type>(initial_size))
354
+ , m_capacity()
355
+ {
356
+ if (BOOST_UNLIKELY(initial_size > size_type(-1))){
357
+ boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
358
+ }
359
+ else if(initial_size){
360
+ pointer reuse = pointer();
361
+ size_type final_cap = static_cast<size_type>(initial_size);
362
+ m_start = this->allocation_command(allocate_new, final_cap, final_cap, reuse);
363
+ this->set_stored_capacity(final_cap);
364
+ }
365
+ }
366
+
367
+ //Constructor, does not throw
368
+ template<class SizeType>
369
+ vector_alloc_holder(vector_uninitialized_size_t, SizeType initial_size)
370
+ : allocator_type()
371
+ , m_start()
372
+ //Size is initialized here so vector should only call uninitialized_xxx after this
373
+ , m_size(static_cast<stored_size_type>(initial_size))
374
+ , m_capacity()
375
+ {
376
+ if (BOOST_UNLIKELY(initial_size > size_type(-1))){
377
+ boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
378
+ }
379
+ else if(initial_size){
380
+ pointer reuse = pointer();
381
+ size_type final_cap = initial_size;
382
+ m_start = this->allocation_command(allocate_new, final_cap, final_cap, reuse);
383
+ this->set_stored_capacity(final_cap);
384
+ }
385
+ }
386
+
387
+ vector_alloc_holder(BOOST_RV_REF(vector_alloc_holder) holder) BOOST_NOEXCEPT_OR_NOTHROW
388
+ : allocator_type(BOOST_MOVE_BASE(allocator_type, holder))
389
+ , m_start(holder.m_start)
390
+ , m_size(holder.m_size)
391
+ , m_capacity(holder.m_capacity)
392
+ {
393
+ holder.m_start = pointer();
394
+ holder.m_size = holder.m_capacity = 0;
395
+ }
396
+
397
+ vector_alloc_holder(initial_capacity_t, pointer p, size_type n)
398
+ BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value)
399
+ : allocator_type()
400
+ , m_start(p)
401
+ , m_size()
402
+ //n is guaranteed to fit into stored_size_type
403
+ , m_capacity(static_cast<stored_size_type>(n))
404
+ {}
405
+
406
+ template<class AllocFwd>
407
+ vector_alloc_holder(initial_capacity_t, pointer p, size_type n, BOOST_FWD_REF(AllocFwd) a)
408
+ : allocator_type(::boost::forward<AllocFwd>(a))
409
+ , m_start(p)
410
+ , m_size()
411
+ , m_capacity(n)
412
+ {}
413
+
414
+ BOOST_CONTAINER_FORCEINLINE ~vector_alloc_holder() BOOST_NOEXCEPT_OR_NOTHROW
415
+ {
416
+ if(this->m_capacity){
417
+ this->deallocate(this->m_start, this->m_capacity);
418
+ }
419
+ }
420
+
421
+ BOOST_CONTAINER_FORCEINLINE void set_stored_size(size_type s) BOOST_NOEXCEPT_OR_NOTHROW
422
+ { this->m_size = static_cast<stored_size_type>(s); }
423
+
424
+ BOOST_CONTAINER_FORCEINLINE void dec_stored_size(size_type s) BOOST_NOEXCEPT_OR_NOTHROW
425
+ { this->m_size = static_cast<stored_size_type>(this->m_size - s); }
426
+
427
+ BOOST_CONTAINER_FORCEINLINE void inc_stored_size(size_type s) BOOST_NOEXCEPT_OR_NOTHROW
428
+ { this->m_size = static_cast<stored_size_type>(this->m_size + s); }
429
+
430
+ BOOST_CONTAINER_FORCEINLINE void set_stored_capacity(size_type c) BOOST_NOEXCEPT_OR_NOTHROW
431
+ { this->m_capacity = static_cast<stored_size_type>(c); }
432
+
433
+ BOOST_CONTAINER_FORCEINLINE pointer allocation_command(boost::container::allocation_type command,
434
+ size_type limit_size, size_type &prefer_in_recvd_out_size, pointer &reuse)
435
+ {
436
+ typedef typename dtl::version<allocator_type>::type alloc_version;
437
+ return this->priv_allocation_command(alloc_version(), command, limit_size, prefer_in_recvd_out_size, reuse);
438
+ }
439
+
440
+ BOOST_CONTAINER_FORCEINLINE pointer allocate(size_type n)
441
+ {
442
+ const size_type max_alloc = allocator_traits_type::max_size(this->alloc());
443
+ const size_type max = max_alloc <= stored_size_type(-1) ? max_alloc : stored_size_type(-1);
444
+ if (BOOST_UNLIKELY(max < n) )
445
+ boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
446
+
447
+ return allocator_traits_type::allocate(this->alloc(), n);
448
+ }
449
+
450
+ BOOST_CONTAINER_FORCEINLINE void deallocate(const pointer &p, size_type n)
451
+ {
452
+ allocator_traits_type::deallocate(this->alloc(), p, n);
453
+ }
454
+
455
+ bool try_expand_fwd(size_type at_least)
456
+ {
457
+ //There is not enough memory, try to expand the old one
458
+ const size_type new_cap = size_type(this->capacity() + at_least);
459
+ size_type real_cap = new_cap;
460
+ pointer reuse = this->start();
461
+ bool const success = !!this->allocation_command(expand_fwd, new_cap, real_cap, reuse);
462
+ //Check for forward expansion
463
+ if(success){
464
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
465
+ ++this->num_expand_fwd;
466
+ #endif
467
+ this->capacity(real_cap);
468
+ }
469
+ return success;
470
+ }
471
+
472
+ template<class GrowthFactorType>
473
+ size_type next_capacity(size_type additional_objects) const
474
+ {
475
+ BOOST_ASSERT(additional_objects > size_type(this->m_capacity - this->m_size));
476
+ size_type max = allocator_traits_type::max_size(this->alloc());
477
+ (clamp_by_stored_size_type<size_type>)(max, stored_size_type());
478
+ const size_type remaining_cap = size_type(max - size_type(this->m_capacity));
479
+ const size_type min_additional_cap = size_type(additional_objects - size_type(this->m_capacity - this->m_size));
480
+
481
+ if ( remaining_cap < min_additional_cap )
482
+ boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
483
+
484
+ return GrowthFactorType()( size_type(this->m_capacity), min_additional_cap, max);
485
+ }
486
+
487
+ pointer m_start;
488
+ stored_size_type m_size;
489
+ stored_size_type m_capacity;
490
+
491
+ void swap_resources(vector_alloc_holder &x) BOOST_NOEXCEPT_OR_NOTHROW
492
+ {
493
+ boost::adl_move_swap(this->m_start, x.m_start);
494
+ boost::adl_move_swap(this->m_size, x.m_size);
495
+ boost::adl_move_swap(this->m_capacity, x.m_capacity);
496
+ }
497
+
498
+ void steal_resources(vector_alloc_holder &x) BOOST_NOEXCEPT_OR_NOTHROW
499
+ {
500
+ this->m_start = x.m_start;
501
+ this->m_size = x.m_size;
502
+ this->m_capacity = x.m_capacity;
503
+ x.m_start = pointer();
504
+ x.m_size = x.m_capacity = 0;
505
+ }
506
+
507
+ BOOST_CONTAINER_FORCEINLINE allocator_type &alloc() BOOST_NOEXCEPT_OR_NOTHROW
508
+ { return *this; }
509
+
510
+ BOOST_CONTAINER_FORCEINLINE const allocator_type &alloc() const BOOST_NOEXCEPT_OR_NOTHROW
511
+ { return *this; }
512
+
513
+ BOOST_CONTAINER_FORCEINLINE const pointer &start() const BOOST_NOEXCEPT_OR_NOTHROW
514
+ { return m_start; }
515
+ BOOST_CONTAINER_FORCEINLINE size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
516
+ { return m_capacity; }
517
+ BOOST_CONTAINER_FORCEINLINE void start(const pointer &p) BOOST_NOEXCEPT_OR_NOTHROW
518
+ { m_start = p; }
519
+ BOOST_CONTAINER_FORCEINLINE void capacity(const size_type &c) BOOST_NOEXCEPT_OR_NOTHROW
520
+ { BOOST_ASSERT( c <= stored_size_type(-1)); this->set_stored_capacity(c); }
521
+
522
+ static BOOST_CONTAINER_FORCEINLINE void on_capacity_overflow()
523
+ { }
524
+
525
+ private:
526
+ void priv_first_allocation(size_type cap)
527
+ {
528
+ if(cap){
529
+ pointer reuse = pointer();
530
+ m_start = this->allocation_command(allocate_new, cap, cap, reuse);
531
+ m_capacity = cap;
532
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
533
+ ++this->num_alloc;
534
+ #endif
535
+ }
536
+ }
537
+
538
+ pointer priv_allocation_command(version_1, boost::container::allocation_type command,
539
+ size_type limit_size,
540
+ size_type &prefer_in_recvd_out_size,
541
+ pointer &reuse)
542
+ {
543
+ (void)command;
544
+ BOOST_ASSERT( (command & allocate_new));
545
+ BOOST_ASSERT(!(command & nothrow_allocation));
546
+ //First detect overflow on smaller stored_size_types
547
+ if (BOOST_UNLIKELY(limit_size > stored_size_type(-1))){
548
+ boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
549
+ }
550
+ (clamp_by_stored_size_type<size_type>)(prefer_in_recvd_out_size, stored_size_type());
551
+ pointer const p = this->allocate(prefer_in_recvd_out_size);
552
+ reuse = pointer();
553
+ return p;
554
+ }
555
+
556
+ pointer priv_allocation_command(version_2, boost::container::allocation_type command,
557
+ size_type limit_size,
558
+ size_type &prefer_in_recvd_out_size,
559
+ pointer &reuse)
560
+ {
561
+ //First detect overflow on smaller stored_size_types
562
+ if (BOOST_UNLIKELY(limit_size > stored_size_type(-1))){
563
+ boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
564
+ }
565
+ (clamp_by_stored_size_type<size_type>)(prefer_in_recvd_out_size, stored_size_type());
566
+ //Allocate memory
567
+ pointer p = this->alloc().allocation_command(command, limit_size, prefer_in_recvd_out_size, reuse);
568
+ //If after allocation prefer_in_recvd_out_size is not representable by stored_size_type, truncate it.
569
+ (clamp_by_stored_size_type<size_type>)(prefer_in_recvd_out_size, stored_size_type());
570
+ return p;
571
+ }
572
+ };
573
+
574
+ //!This struct deallocates and allocated memory
575
+ template <class Allocator, class StoredSizeType>
576
+ struct vector_alloc_holder<Allocator, StoredSizeType, version_0>
577
+ : public Allocator
578
+ {
579
+ private:
580
+ BOOST_MOVABLE_BUT_NOT_COPYABLE(vector_alloc_holder)
581
+
582
+ public:
583
+ typedef Allocator allocator_type;
584
+ typedef boost::container::
585
+ allocator_traits<allocator_type> allocator_traits_type;
586
+ typedef typename allocator_traits_type::pointer pointer;
587
+ typedef typename allocator_traits_type::size_type size_type;
588
+ typedef typename allocator_traits_type::value_type value_type;
589
+ typedef StoredSizeType stored_size_type;
590
+
591
+ template <class OtherAllocator, class OtherStoredSizeType, class OtherAllocatorVersion>
592
+ friend struct vector_alloc_holder;
593
+
594
+ //Constructor, does not throw
595
+ vector_alloc_holder()
596
+ BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value)
597
+ : allocator_type(), m_size()
598
+ {}
599
+
600
+ //Constructor, does not throw
601
+ template<class AllocConvertible>
602
+ explicit vector_alloc_holder(BOOST_FWD_REF(AllocConvertible) a) BOOST_NOEXCEPT_OR_NOTHROW
603
+ : allocator_type(boost::forward<AllocConvertible>(a)), m_size()
604
+ {}
605
+
606
+ //Constructor, does not throw
607
+ template<class AllocConvertible>
608
+ vector_alloc_holder(vector_uninitialized_size_t, BOOST_FWD_REF(AllocConvertible) a, size_type initial_size)
609
+ : allocator_type(boost::forward<AllocConvertible>(a))
610
+ , m_size(initial_size) //Size is initialized here...
611
+ {
612
+ //... and capacity here, so vector, must call uninitialized_xxx in the derived constructor
613
+ this->priv_first_allocation(initial_size);
614
+ }
615
+
616
+ //Constructor, does not throw
617
+ vector_alloc_holder(vector_uninitialized_size_t, size_type initial_size)
618
+ : allocator_type()
619
+ , m_size(initial_size) //Size is initialized here...
620
+ {
621
+ //... and capacity here, so vector, must call uninitialized_xxx in the derived constructor
622
+ this->priv_first_allocation(initial_size);
623
+ }
624
+
625
+ vector_alloc_holder(BOOST_RV_REF(vector_alloc_holder) holder)
626
+ : allocator_type(BOOST_MOVE_BASE(allocator_type, holder))
627
+ , m_size(holder.m_size) //Size is initialized here so vector should only call uninitialized_xxx after this
628
+ {
629
+ ::boost::container::uninitialized_move_alloc_n
630
+ (this->alloc(), boost::movelib::to_raw_pointer(holder.start()), m_size, boost::movelib::to_raw_pointer(this->start()));
631
+ ::boost::container::destroy_alloc_n
632
+ (this->alloc(), boost::movelib::to_raw_pointer(holder.start()), m_size);
633
+ holder.m_size = 0;
634
+ }
635
+
636
+ template<class OtherAllocator, class OtherStoredSizeType, class OtherAllocatorVersion>
637
+ vector_alloc_holder(BOOST_RV_REF_BEG vector_alloc_holder<OtherAllocator, OtherStoredSizeType, OtherAllocatorVersion> BOOST_RV_REF_END holder)
638
+ : allocator_type()
639
+ , m_size(holder.m_size) //Initialize it to m_size as first_allocation can only succeed or abort
640
+ {
641
+ //Different allocator type so we must check we have enough storage
642
+ const size_type n = holder.m_size;
643
+ this->priv_first_allocation(n);
644
+ ::boost::container::uninitialized_move_alloc_n
645
+ (this->alloc(), boost::movelib::to_raw_pointer(holder.start()), n, boost::movelib::to_raw_pointer(this->start()));
646
+ }
647
+
648
+ static BOOST_CONTAINER_FORCEINLINE void on_capacity_overflow()
649
+ { allocator_type::on_capacity_overflow(); }
650
+
651
+ BOOST_CONTAINER_FORCEINLINE void set_stored_size(size_type s) BOOST_NOEXCEPT_OR_NOTHROW
652
+ { this->m_size = static_cast<stored_size_type>(s); }
653
+
654
+ BOOST_CONTAINER_FORCEINLINE void dec_stored_size(size_type s) BOOST_NOEXCEPT_OR_NOTHROW
655
+ { this->m_size = static_cast<stored_size_type>(this->m_size - s); }
656
+
657
+ BOOST_CONTAINER_FORCEINLINE void inc_stored_size(size_type s) BOOST_NOEXCEPT_OR_NOTHROW
658
+ { this->m_size = static_cast<stored_size_type>(this->m_size + s); }
659
+
660
+ BOOST_CONTAINER_FORCEINLINE void priv_first_allocation(size_type cap)
661
+ {
662
+ if(cap > allocator_type::internal_capacity){
663
+ on_capacity_overflow();
664
+ }
665
+ }
666
+
667
+ BOOST_CONTAINER_FORCEINLINE void deep_swap(vector_alloc_holder &x)
668
+ { this->priv_deep_swap(x); }
669
+
670
+ template<class OtherAllocator, class OtherStoredSizeType, class OtherAllocatorVersion>
671
+ void deep_swap(vector_alloc_holder<OtherAllocator, OtherStoredSizeType, OtherAllocatorVersion> &x)
672
+ {
673
+ typedef typename real_allocator<value_type, OtherAllocator>::type other_allocator_type;
674
+ if(this->m_size > other_allocator_type::internal_capacity || x.m_size > allocator_type::internal_capacity){
675
+ on_capacity_overflow();
676
+ }
677
+ this->priv_deep_swap(x);
678
+ }
679
+
680
+ BOOST_CONTAINER_FORCEINLINE void swap_resources(vector_alloc_holder &) BOOST_NOEXCEPT_OR_NOTHROW
681
+ { //Containers with version 0 allocators can't be moved without moving elements one by one
682
+ on_capacity_overflow();
683
+ }
684
+
685
+ BOOST_CONTAINER_FORCEINLINE void steal_resources(vector_alloc_holder &)
686
+ { //Containers with version 0 allocators can't be moved without moving elements one by one
687
+ on_capacity_overflow();
688
+ }
689
+
690
+ BOOST_CONTAINER_FORCEINLINE allocator_type &alloc() BOOST_NOEXCEPT_OR_NOTHROW
691
+ { return *this; }
692
+
693
+ BOOST_CONTAINER_FORCEINLINE const allocator_type &alloc() const BOOST_NOEXCEPT_OR_NOTHROW
694
+ { return *this; }
695
+
696
+ BOOST_CONTAINER_FORCEINLINE bool try_expand_fwd(size_type at_least)
697
+ { return !at_least; }
698
+
699
+ BOOST_CONTAINER_FORCEINLINE pointer start() const BOOST_NOEXCEPT_OR_NOTHROW
700
+ { return allocator_type::internal_storage(); }
701
+
702
+ BOOST_CONTAINER_FORCEINLINE size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
703
+ { return allocator_type::internal_capacity; }
704
+
705
+ stored_size_type m_size;
706
+
707
+ private:
708
+
709
+ template<class OtherAllocator, class OtherStoredSizeType, class OtherAllocatorVersion>
710
+ void priv_deep_swap(vector_alloc_holder<OtherAllocator, OtherStoredSizeType, OtherAllocatorVersion> &x)
711
+ {
712
+ const size_type MaxTmpStorage = sizeof(value_type)*allocator_type::internal_capacity;
713
+ value_type *const first_this = boost::movelib::to_raw_pointer(this->start());
714
+ value_type *const first_x = boost::movelib::to_raw_pointer(x.start());
715
+
716
+ if(this->m_size < x.m_size){
717
+ boost::container::deep_swap_alloc_n<MaxTmpStorage>(this->alloc(), first_this, this->m_size, first_x, x.m_size);
718
+ }
719
+ else{
720
+ boost::container::deep_swap_alloc_n<MaxTmpStorage>(this->alloc(), first_x, x.m_size, first_this, this->m_size);
721
+ }
722
+ boost::adl_move_swap(this->m_size, x.m_size);
723
+ }
724
+ };
725
+
726
+ struct growth_factor_60;
727
+ struct growth_factor_100;
728
+
729
+ template<class Options, class AllocatorSizeType>
730
+ struct get_vector_opt
731
+ {
732
+ typedef vector_opt< typename default_if_void<typename Options::growth_factor_type, growth_factor_60>::type
733
+ , typename default_if_void<typename Options::stored_size_type, AllocatorSizeType>::type
734
+ > type;
735
+ };
736
+
737
+ template<class AllocatorSizeType>
738
+ struct get_vector_opt<void, AllocatorSizeType>
739
+ {
740
+ typedef vector_opt<growth_factor_60, AllocatorSizeType> type;
741
+ };
742
+
743
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
744
+
745
+ //! A vector is a sequence that supports random access to elements, constant
746
+ //! time insertion and removal of elements at the end, and linear time insertion
747
+ //! and removal of elements at the beginning or in the middle. The number of
748
+ //! elements in a vector may vary dynamically; memory management is automatic.
749
+ //!
750
+ //! \tparam T The type of object that is stored in the vector
751
+ //! \tparam A The allocator used for all internal memory management, use void
752
+ //! for the default allocator
753
+ //! \tparam Options A type produced from \c boost::container::vector_options.
754
+ template <class T, class A BOOST_CONTAINER_DOCONLY(= void), class Options BOOST_CONTAINER_DOCONLY(= void) >
755
+ class vector
756
+ {
757
+ public:
758
+ //////////////////////////////////////////////
759
+ //
760
+ // types
761
+ //
762
+ //////////////////////////////////////////////
763
+ typedef T value_type;
764
+ typedef BOOST_CONTAINER_IMPDEF
765
+ (typename real_allocator<T BOOST_MOVE_I A>::type) allocator_type;
766
+ typedef ::boost::container::allocator_traits<allocator_type> allocator_traits_t;
767
+ typedef typename allocator_traits<allocator_type>::pointer pointer;
768
+ typedef typename allocator_traits<allocator_type>::const_pointer const_pointer;
769
+ typedef typename allocator_traits<allocator_type>::reference reference;
770
+ typedef typename allocator_traits<allocator_type>::const_reference const_reference;
771
+ typedef typename allocator_traits<allocator_type>::size_type size_type;
772
+ typedef typename allocator_traits<allocator_type>::difference_type difference_type;
773
+ typedef allocator_type stored_allocator_type;
774
+ typedef BOOST_CONTAINER_IMPDEF(vec_iterator<pointer BOOST_MOVE_I false>) iterator;
775
+ typedef BOOST_CONTAINER_IMPDEF(vec_iterator<pointer BOOST_MOVE_I true >) const_iterator;
776
+ typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<iterator>) reverse_iterator;
777
+ typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<const_iterator>) const_reverse_iterator;
778
+
779
+ private:
780
+
781
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
782
+ typedef typename boost::container::
783
+ allocator_traits<allocator_type>::size_type alloc_size_type;
784
+ typedef typename get_vector_opt<Options, alloc_size_type>::type options_type;
785
+ typedef typename options_type::growth_factor_type growth_factor_type;
786
+ typedef typename options_type::stored_size_type stored_size_type;
787
+ typedef value_less<T> value_less_t;
788
+
789
+ //If provided the stored_size option must specify a type that is equal or a type that is smaller.
790
+ BOOST_STATIC_ASSERT( (sizeof(stored_size_type) < sizeof(alloc_size_type) ||
791
+ dtl::is_same<stored_size_type, alloc_size_type>::value) );
792
+
793
+ typedef typename dtl::version<allocator_type>::type alloc_version;
794
+ typedef boost::container::vector_alloc_holder
795
+ <allocator_type, stored_size_type> alloc_holder_t;
796
+
797
+ alloc_holder_t m_holder;
798
+
799
+ typedef allocator_traits<allocator_type> allocator_traits_type;
800
+ template <class U, class UA, class UOptions>
801
+ friend class vector;
802
+
803
+
804
+ protected:
805
+ BOOST_CONTAINER_FORCEINLINE
806
+ static bool is_propagable_from(const allocator_type &from_alloc, pointer p, const allocator_type &to_alloc, bool const propagate_allocator)
807
+ { return alloc_holder_t::is_propagable_from(from_alloc, p, to_alloc, propagate_allocator); }
808
+
809
+ BOOST_CONTAINER_FORCEINLINE
810
+ static bool are_swap_propagable( const allocator_type &l_a, pointer l_p
811
+ , const allocator_type &r_a, pointer r_p, bool const propagate_allocator)
812
+ { return alloc_holder_t::are_swap_propagable(l_a, l_p, r_a, r_p, propagate_allocator); }
813
+
814
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
815
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
816
+ private:
817
+ BOOST_COPYABLE_AND_MOVABLE(vector)
818
+ typedef vector_value_traits<allocator_type> value_traits;
819
+ typedef constant_iterator<T> cvalue_iterator;
820
+
821
+ protected:
822
+
823
+ BOOST_CONTAINER_FORCEINLINE void steal_resources(vector &x)
824
+ { return this->m_holder.steal_resources(x.m_holder); }
825
+
826
+ template<class AllocFwd>
827
+ BOOST_CONTAINER_FORCEINLINE vector(initial_capacity_t, pointer initial_memory, size_type cap, BOOST_FWD_REF(AllocFwd) a)
828
+ : m_holder(initial_capacity_t(), initial_memory, cap, ::boost::forward<AllocFwd>(a))
829
+ {}
830
+
831
+ BOOST_CONTAINER_FORCEINLINE vector(initial_capacity_t, pointer initial_memory, size_type cap)
832
+ : m_holder(initial_capacity_t(), initial_memory, cap)
833
+ {}
834
+
835
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
836
+
837
+ public:
838
+ //////////////////////////////////////////////
839
+ //
840
+ // construct/copy/destroy
841
+ //
842
+ //////////////////////////////////////////////
843
+
844
+ //! <b>Effects</b>: Constructs a vector taking the allocator as parameter.
845
+ //!
846
+ //! <b>Throws</b>: Nothing.
847
+ //!
848
+ //! <b>Complexity</b>: Constant.
849
+ vector() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value)
850
+ : m_holder()
851
+ {}
852
+
853
+ //! <b>Effects</b>: Constructs a vector taking the allocator as parameter.
854
+ //!
855
+ //! <b>Throws</b>: Nothing
856
+ //!
857
+ //! <b>Complexity</b>: Constant.
858
+ explicit vector(const allocator_type& a) BOOST_NOEXCEPT_OR_NOTHROW
859
+ : m_holder(a)
860
+ {}
861
+
862
+ //! <b>Effects</b>: Constructs a vector and inserts n value initialized values.
863
+ //!
864
+ //! <b>Throws</b>: If allocator_type's allocation
865
+ //! throws or T's value initialization throws.
866
+ //!
867
+ //! <b>Complexity</b>: Linear to n.
868
+ explicit vector(size_type n)
869
+ : m_holder(vector_uninitialized_size, n)
870
+ {
871
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
872
+ this->num_alloc += n != 0;
873
+ #endif
874
+ boost::container::uninitialized_value_init_alloc_n
875
+ (this->m_holder.alloc(), n, this->priv_raw_begin());
876
+ }
877
+
878
+ //! <b>Effects</b>: Constructs a vector that will use a copy of allocator a
879
+ //! and inserts n value initialized values.
880
+ //!
881
+ //! <b>Throws</b>: If allocator_type's allocation
882
+ //! throws or T's value initialization throws.
883
+ //!
884
+ //! <b>Complexity</b>: Linear to n.
885
+ explicit vector(size_type n, const allocator_type &a)
886
+ : m_holder(vector_uninitialized_size, a, n)
887
+ {
888
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
889
+ this->num_alloc += n != 0;
890
+ #endif
891
+ boost::container::uninitialized_value_init_alloc_n
892
+ (this->m_holder.alloc(), n, this->priv_raw_begin());
893
+ }
894
+
895
+ //! <b>Effects</b>: Constructs a vector that will use a copy of allocator a
896
+ //! and inserts n default initialized values.
897
+ //!
898
+ //! <b>Throws</b>: If allocator_type's allocation
899
+ //! throws or T's default initialization throws.
900
+ //!
901
+ //! <b>Complexity</b>: Linear to n.
902
+ //!
903
+ //! <b>Note</b>: Non-standard extension
904
+ vector(size_type n, default_init_t)
905
+ : m_holder(vector_uninitialized_size, n)
906
+ {
907
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
908
+ this->num_alloc += n != 0;
909
+ #endif
910
+ boost::container::uninitialized_default_init_alloc_n
911
+ (this->m_holder.alloc(), n, this->priv_raw_begin());
912
+ }
913
+
914
+ //! <b>Effects</b>: Constructs a vector that will use a copy of allocator a
915
+ //! and inserts n default initialized values.
916
+ //!
917
+ //! <b>Throws</b>: If allocator_type's allocation
918
+ //! throws or T's default initialization throws.
919
+ //!
920
+ //! <b>Complexity</b>: Linear to n.
921
+ //!
922
+ //! <b>Note</b>: Non-standard extension
923
+ vector(size_type n, default_init_t, const allocator_type &a)
924
+ : m_holder(vector_uninitialized_size, a, n)
925
+ {
926
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
927
+ this->num_alloc += n != 0;
928
+ #endif
929
+ boost::container::uninitialized_default_init_alloc_n
930
+ (this->m_holder.alloc(), n, this->priv_raw_begin());
931
+ }
932
+
933
+ //! <b>Effects</b>: Constructs a vector
934
+ //! and inserts n copies of value.
935
+ //!
936
+ //! <b>Throws</b>: If allocator_type's allocation
937
+ //! throws or T's copy constructor throws.
938
+ //!
939
+ //! <b>Complexity</b>: Linear to n.
940
+ vector(size_type n, const T& value)
941
+ : m_holder(vector_uninitialized_size, n)
942
+ {
943
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
944
+ this->num_alloc += n != 0;
945
+ #endif
946
+ boost::container::uninitialized_fill_alloc_n
947
+ (this->m_holder.alloc(), value, n, this->priv_raw_begin());
948
+ }
949
+
950
+ //! <b>Effects</b>: Constructs a vector that will use a copy of allocator a
951
+ //! and inserts n copies of value.
952
+ //!
953
+ //! <b>Throws</b>: If allocation
954
+ //! throws or T's copy constructor throws.
955
+ //!
956
+ //! <b>Complexity</b>: Linear to n.
957
+ vector(size_type n, const T& value, const allocator_type& a)
958
+ : m_holder(vector_uninitialized_size, a, n)
959
+ {
960
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
961
+ this->num_alloc += n != 0;
962
+ #endif
963
+ boost::container::uninitialized_fill_alloc_n
964
+ (this->m_holder.alloc(), value, n, this->priv_raw_begin());
965
+ }
966
+
967
+ //! <b>Effects</b>: Constructs a vector
968
+ //! and inserts a copy of the range [first, last) in the vector.
969
+ //!
970
+ //! <b>Throws</b>: If allocator_type's allocation
971
+ //! throws or T's constructor taking a dereferenced InIt throws.
972
+ //!
973
+ //! <b>Complexity</b>: Linear to the range [first, last).
974
+ // template <class InIt>
975
+ // vector(InIt first, InIt last
976
+ // BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_c
977
+ // < dtl::is_convertible<InIt BOOST_MOVE_I size_type>::value
978
+ // BOOST_MOVE_I dtl::nat >::type * = 0)
979
+ // ) -> vector<typename iterator_traits<InIt>::value_type, new_allocator<typename iterator_traits<InIt>::value_type>>;
980
+ template <class InIt>
981
+ vector(InIt first, InIt last
982
+ BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_c
983
+ < dtl::is_convertible<InIt BOOST_MOVE_I size_type>::value
984
+ BOOST_MOVE_I dtl::nat >::type * = 0)
985
+ )
986
+ : m_holder()
987
+ { this->assign(first, last); }
988
+
989
+ //! <b>Effects</b>: Constructs a vector that will use a copy of allocator a
990
+ //! and inserts a copy of the range [first, last) in the vector.
991
+ //!
992
+ //! <b>Throws</b>: If allocator_type's allocation
993
+ //! throws or T's constructor taking a dereferenced InIt throws.
994
+ //!
995
+ //! <b>Complexity</b>: Linear to the range [first, last).
996
+ template <class InIt>
997
+ vector(InIt first, InIt last, const allocator_type& a
998
+ BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_c
999
+ < dtl::is_convertible<InIt BOOST_MOVE_I size_type>::value
1000
+ BOOST_MOVE_I dtl::nat >::type * = 0)
1001
+ )
1002
+ : m_holder(a)
1003
+ { this->assign(first, last); }
1004
+
1005
+ //! <b>Effects</b>: Copy constructs a vector.
1006
+ //!
1007
+ //! <b>Postcondition</b>: x == *this.
1008
+ //!
1009
+ //! <b>Throws</b>: If allocator_type's allocation
1010
+ //! throws or T's copy constructor throws.
1011
+ //!
1012
+ //! <b>Complexity</b>: Linear to the elements x contains.
1013
+ vector(const vector &x)
1014
+ : m_holder( vector_uninitialized_size
1015
+ , allocator_traits_type::select_on_container_copy_construction(x.m_holder.alloc())
1016
+ , x.size())
1017
+ {
1018
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
1019
+ this->num_alloc += x.size() != 0;
1020
+ #endif
1021
+ ::boost::container::uninitialized_copy_alloc_n
1022
+ ( this->m_holder.alloc(), x.priv_raw_begin()
1023
+ , x.size(), this->priv_raw_begin());
1024
+ }
1025
+
1026
+ //! <b>Effects</b>: Move constructor. Moves x's resources to *this.
1027
+ //!
1028
+ //! <b>Throws</b>: Nothing
1029
+ //!
1030
+ //! <b>Complexity</b>: Constant.
1031
+ vector(BOOST_RV_REF(vector) x) BOOST_NOEXCEPT_OR_NOTHROW
1032
+ : m_holder(boost::move(x.m_holder))
1033
+ { BOOST_STATIC_ASSERT((!allocator_traits_type::is_partially_propagable::value)); }
1034
+
1035
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1036
+ //! <b>Effects</b>: Constructs a vector that will use a copy of allocator a
1037
+ //! and inserts a copy of the range [il.begin(), il.last()) in the vector
1038
+ //!
1039
+ //! <b>Throws</b>: If T's constructor taking a dereferenced initializer_list iterator throws.
1040
+ //!
1041
+ //! <b>Complexity</b>: Linear to the range [il.begin(), il.end()).
1042
+ vector(std::initializer_list<value_type> il, const allocator_type& a = allocator_type())
1043
+ : m_holder(vector_uninitialized_size, a, il.size())
1044
+ {
1045
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
1046
+ this->num_alloc += il.size() != 0;
1047
+ #endif
1048
+ ::boost::container::uninitialized_copy_alloc_n_source
1049
+ ( this->m_holder.alloc(), il.begin()
1050
+ , static_cast<size_type>(il.size()), this->priv_raw_begin());
1051
+ }
1052
+ #endif
1053
+
1054
+ #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1055
+
1056
+ //! <b>Effects</b>: Move constructor. Moves x's resources to *this.
1057
+ //!
1058
+ //! <b>Throws</b>: If T's move constructor or allocation throws
1059
+ //!
1060
+ //! <b>Complexity</b>: Linear.
1061
+ //!
1062
+ //! <b>Note</b>: Non-standard extension to support static_vector
1063
+ template<class OtherA>
1064
+ vector(BOOST_RV_REF_BEG vector<T, OtherA, Options> BOOST_RV_REF_END x
1065
+ , typename dtl::enable_if_c
1066
+ < dtl::is_version<typename real_allocator<T, OtherA>::type, 0>::value>::type * = 0
1067
+ )
1068
+ : m_holder(boost::move(x.m_holder))
1069
+ {}
1070
+
1071
+ #endif // defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1072
+
1073
+ //! <b>Effects</b>: Copy constructs a vector using the specified allocator.
1074
+ //!
1075
+ //! <b>Postcondition</b>: x == *this.
1076
+ //!
1077
+ //! <b>Throws</b>: If allocation
1078
+ //! throws or T's copy constructor throws.
1079
+ //!
1080
+ //! <b>Complexity</b>: Linear to the elements x contains.
1081
+ vector(const vector &x, const allocator_type &a)
1082
+ : m_holder(vector_uninitialized_size, a, x.size())
1083
+ {
1084
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
1085
+ this->num_alloc += x.size() != 0;
1086
+ #endif
1087
+ ::boost::container::uninitialized_copy_alloc_n_source
1088
+ ( this->m_holder.alloc(), x.priv_raw_begin()
1089
+ , x.size(), this->priv_raw_begin());
1090
+ }
1091
+
1092
+ //! <b>Effects</b>: Move constructor using the specified allocator.
1093
+ //! Moves x's resources to *this if a == allocator_type().
1094
+ //! Otherwise copies values from x to *this.
1095
+ //!
1096
+ //! <b>Throws</b>: If allocation or T's copy constructor throws.
1097
+ //!
1098
+ //! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
1099
+ vector(BOOST_RV_REF(vector) x, const allocator_type &a)
1100
+ : m_holder( vector_uninitialized_size, a
1101
+ //In this allocator move constructor the allocator won't be propagated --v
1102
+ , is_propagable_from(x.get_stored_allocator(), x.m_holder.start(), a, false) ? 0 : x.size()
1103
+ )
1104
+ {
1105
+ //In this allocator move constructor the allocator won't be propagated ---v
1106
+ if(is_propagable_from(x.get_stored_allocator(), x.m_holder.start(), a, false)){
1107
+ this->m_holder.steal_resources(x.m_holder);
1108
+ }
1109
+ else{
1110
+ const size_type n = x.size();
1111
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
1112
+ this->num_alloc += n != 0;
1113
+ #endif
1114
+ ::boost::container::uninitialized_move_alloc_n_source
1115
+ ( this->m_holder.alloc(), x.priv_raw_begin()
1116
+ , n, this->priv_raw_begin());
1117
+ }
1118
+ }
1119
+
1120
+ //! <b>Effects</b>: Destroys the vector. All stored values are destroyed
1121
+ //! and used memory is deallocated.
1122
+ //!
1123
+ //! <b>Throws</b>: Nothing.
1124
+ //!
1125
+ //! <b>Complexity</b>: Linear to the number of elements.
1126
+ ~vector() BOOST_NOEXCEPT_OR_NOTHROW
1127
+ {
1128
+ boost::container::destroy_alloc_n
1129
+ (this->get_stored_allocator(), this->priv_raw_begin(), this->m_holder.m_size);
1130
+ //vector_alloc_holder deallocates the data
1131
+ }
1132
+
1133
+ //! <b>Effects</b>: Makes *this contain the same elements as x.
1134
+ //!
1135
+ //! <b>Postcondition</b>: this->size() == x.size(). *this contains a copy
1136
+ //! of each of x's elements.
1137
+ //!
1138
+ //! <b>Throws</b>: If memory allocation throws or T's copy/move constructor/assignment throws.
1139
+ //!
1140
+ //! <b>Complexity</b>: Linear to the number of elements in x.
1141
+ BOOST_CONTAINER_FORCEINLINE vector& operator=(BOOST_COPY_ASSIGN_REF(vector) x)
1142
+ {
1143
+ if (BOOST_LIKELY(&x != this)){
1144
+ this->priv_copy_assign(x);
1145
+ }
1146
+ return *this;
1147
+ }
1148
+
1149
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1150
+ //! <b>Effects</b>: Make *this container contains elements from il.
1151
+ //!
1152
+ //! <b>Complexity</b>: Linear to the range [il.begin(), il.end()).
1153
+ BOOST_CONTAINER_FORCEINLINE vector& operator=(std::initializer_list<value_type> il)
1154
+ {
1155
+ this->assign(il.begin(), il.end());
1156
+ return *this;
1157
+ }
1158
+ #endif
1159
+
1160
+ //! <b>Effects</b>: Move assignment. All x's values are transferred to *this.
1161
+ //!
1162
+ //! <b>Postcondition</b>: x.empty(). *this contains a the elements x had
1163
+ //! before the function.
1164
+ //!
1165
+ //! <b>Throws</b>: If allocator_traits_type::propagate_on_container_move_assignment
1166
+ //! is false and (allocation throws or value_type's move constructor throws)
1167
+ //!
1168
+ //! <b>Complexity</b>: Constant if allocator_traits_type::
1169
+ //! propagate_on_container_move_assignment is true or
1170
+ //! this->get>allocator() == x.get_allocator(). Linear otherwise.
1171
+ BOOST_CONTAINER_FORCEINLINE vector& operator=(BOOST_RV_REF(vector) x)
1172
+ BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value
1173
+ || allocator_traits_type::is_always_equal::value)
1174
+ {
1175
+ if (BOOST_LIKELY(&x != this)){
1176
+ this->priv_move_assign(boost::move(x));
1177
+ }
1178
+ return *this;
1179
+ }
1180
+
1181
+ #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1182
+
1183
+ //! <b>Effects</b>: Move assignment. All x's values are transferred to *this.
1184
+ //!
1185
+ //! <b>Postcondition</b>: x.empty(). *this contains a the elements x had
1186
+ //! before the function.
1187
+ //!
1188
+ //! <b>Throws</b>: If move constructor/assignment of T throws or allocation throws
1189
+ //!
1190
+ //! <b>Complexity</b>: Linear.
1191
+ //!
1192
+ //! <b>Note</b>: Non-standard extension to support static_vector
1193
+ template<class OtherA>
1194
+ BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_and
1195
+ < vector&
1196
+ , dtl::is_version<typename real_allocator<T, OtherA>::type, 0>
1197
+ , dtl::is_different<typename real_allocator<T, OtherA>::type, allocator_type>
1198
+ >::type
1199
+ operator=(BOOST_RV_REF_BEG vector<value_type, OtherA, Options> BOOST_RV_REF_END x)
1200
+ {
1201
+ this->priv_move_assign(boost::move(x));
1202
+ return *this;
1203
+ }
1204
+
1205
+ //! <b>Effects</b>: Copy assignment. All x's values are copied to *this.
1206
+ //!
1207
+ //! <b>Postcondition</b>: x.empty(). *this contains a the elements x had
1208
+ //! before the function.
1209
+ //!
1210
+ //! <b>Throws</b>: If move constructor/assignment of T throws or allocation throws
1211
+ //!
1212
+ //! <b>Complexity</b>: Linear.
1213
+ //!
1214
+ //! <b>Note</b>: Non-standard extension to support static_vector
1215
+ template<class OtherA>
1216
+ BOOST_CONTAINER_FORCEINLINE typename dtl::enable_if_and
1217
+ < vector&
1218
+ , dtl::is_version<typename real_allocator<T, OtherA>::type, 0>
1219
+ , dtl::is_different<typename real_allocator<T, OtherA>::type, allocator_type>
1220
+ >::type
1221
+ operator=(const vector<value_type, OtherA, Options> &x)
1222
+ {
1223
+ this->priv_copy_assign(x);
1224
+ return *this;
1225
+ }
1226
+
1227
+ #endif
1228
+
1229
+ //! <b>Effects</b>: Assigns the the range [first, last) to *this.
1230
+ //!
1231
+ //! <b>Throws</b>: If memory allocation throws or T's copy/move constructor/assignment or
1232
+ //! T's constructor/assignment from dereferencing InpIt throws.
1233
+ //!
1234
+ //! <b>Complexity</b>: Linear to n.
1235
+ template <class InIt>
1236
+ void assign(InIt first, InIt last
1237
+ //Input iterators or version 0 allocator
1238
+ BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_or
1239
+ < void
1240
+ BOOST_MOVE_I dtl::is_convertible<InIt BOOST_MOVE_I size_type>
1241
+ BOOST_MOVE_I dtl::and_
1242
+ < dtl::is_different<alloc_version BOOST_MOVE_I version_0>
1243
+ BOOST_MOVE_I dtl::is_not_input_iterator<InIt>
1244
+ >
1245
+ >::type * = 0)
1246
+ )
1247
+ {
1248
+ //Overwrite all elements we can from [first, last)
1249
+ iterator cur = this->begin();
1250
+ const iterator end_it = this->end();
1251
+ for ( ; first != last && cur != end_it; ++cur, ++first){
1252
+ *cur = *first;
1253
+ }
1254
+
1255
+ if (first == last){
1256
+ //There are no more elements in the sequence, erase remaining
1257
+ T* const end_pos = this->priv_raw_end();
1258
+ const size_type n = static_cast<size_type>(end_pos - boost::movelib::iterator_to_raw_pointer(cur));
1259
+ this->priv_destroy_last_n(n);
1260
+ }
1261
+ else{
1262
+ //There are more elements in the range, insert the remaining ones
1263
+ this->insert(this->cend(), first, last);
1264
+ }
1265
+ }
1266
+
1267
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1268
+ //! <b>Effects</b>: Assigns the the range [il.begin(), il.end()) to *this.
1269
+ //!
1270
+ //! <b>Throws</b>: If memory allocation throws or
1271
+ //! T's constructor from dereferencing iniializer_list iterator throws.
1272
+ //!
1273
+ BOOST_CONTAINER_FORCEINLINE void assign(std::initializer_list<T> il)
1274
+ {
1275
+ this->assign(il.begin(), il.end());
1276
+ }
1277
+ #endif
1278
+
1279
+ //! <b>Effects</b>: Assigns the the range [first, last) to *this.
1280
+ //!
1281
+ //! <b>Throws</b>: If memory allocation throws or T's copy/move constructor/assignment or
1282
+ //! T's constructor/assignment from dereferencing InpIt throws.
1283
+ //!
1284
+ //! <b>Complexity</b>: Linear to n.
1285
+ template <class FwdIt>
1286
+ void assign(FwdIt first, FwdIt last
1287
+ //Forward iterators and version > 0 allocator
1288
+ BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_or
1289
+ < void
1290
+ BOOST_MOVE_I dtl::is_same<alloc_version BOOST_MOVE_I version_0>
1291
+ BOOST_MOVE_I dtl::is_convertible<FwdIt BOOST_MOVE_I size_type>
1292
+ BOOST_MOVE_I dtl::is_input_iterator<FwdIt>
1293
+ >::type * = 0)
1294
+ )
1295
+ {
1296
+ typedef typename iter_size<FwdIt>::type it_size_type;
1297
+ //For Fwd iterators the standard only requires EmplaceConstructible and assignable from *first
1298
+ //so we can't do any backwards allocation
1299
+ const it_size_type sz = boost::container::iterator_udistance(first, last);
1300
+ if (BOOST_UNLIKELY(sz > size_type(-1))){
1301
+ boost::container::throw_length_error("vector::assign, FwdIt's max length reached");
1302
+ }
1303
+
1304
+ const size_type input_sz = static_cast<size_type>(sz);
1305
+ const size_type old_capacity = this->capacity();
1306
+ if(input_sz > old_capacity){ //If input range is too big, we need to reallocate
1307
+ size_type real_cap = 0;
1308
+ pointer reuse(this->m_holder.start());
1309
+ pointer const ret(this->m_holder.allocation_command(allocate_new|expand_fwd, input_sz, real_cap = input_sz, reuse));
1310
+ if(!reuse){ //New allocation, just emplace new values
1311
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
1312
+ ++this->num_alloc;
1313
+ #endif
1314
+ pointer const old_p = this->m_holder.start();
1315
+ if(old_p){
1316
+ this->priv_destroy_all();
1317
+ this->m_holder.deallocate(old_p, old_capacity);
1318
+ }
1319
+ this->m_holder.start(ret);
1320
+ this->m_holder.capacity(real_cap);
1321
+ this->m_holder.m_size = 0;
1322
+ this->priv_uninitialized_construct_at_end(first, last);
1323
+ return;
1324
+ }
1325
+ else{
1326
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
1327
+ ++this->num_expand_fwd;
1328
+ #endif
1329
+ this->m_holder.capacity(real_cap);
1330
+ //Forward expansion, use assignment + back deletion/construction that comes later
1331
+ }
1332
+ }
1333
+
1334
+ boost::container::copy_assign_range_alloc_n(this->m_holder.alloc(), first, input_sz, this->priv_raw_begin(), this->size());
1335
+ m_holder.set_stored_size(input_sz);
1336
+ }
1337
+
1338
+ //! <b>Effects</b>: Assigns the n copies of val to *this.
1339
+ //!
1340
+ //! <b>Throws</b>: If memory allocation throws or
1341
+ //! T's copy/move constructor/assignment throws.
1342
+ //!
1343
+ //! <b>Complexity</b>: Linear to n.
1344
+ BOOST_CONTAINER_FORCEINLINE void assign(size_type n, const value_type& val)
1345
+ { this->assign(cvalue_iterator(val, n), cvalue_iterator()); }
1346
+
1347
+ //! <b>Effects</b>: Returns a copy of the internal allocator.
1348
+ //!
1349
+ //! <b>Throws</b>: If allocator's copy constructor throws.
1350
+ //!
1351
+ //! <b>Complexity</b>: Constant.
1352
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
1353
+ { return this->m_holder.alloc(); }
1354
+
1355
+ //! <b>Effects</b>: Returns a reference to the internal allocator.
1356
+ //!
1357
+ //! <b>Throws</b>: Nothing
1358
+ //!
1359
+ //! <b>Complexity</b>: Constant.
1360
+ //!
1361
+ //! <b>Note</b>: Non-standard extension.
1362
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1363
+ stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
1364
+ { return this->m_holder.alloc(); }
1365
+
1366
+ //! <b>Effects</b>: Returns a reference to the internal allocator.
1367
+ //!
1368
+ //! <b>Throws</b>: Nothing
1369
+ //!
1370
+ //! <b>Complexity</b>: Constant.
1371
+ //!
1372
+ //! <b>Note</b>: Non-standard extension.
1373
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1374
+ const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
1375
+ { return this->m_holder.alloc(); }
1376
+
1377
+ //////////////////////////////////////////////
1378
+ //
1379
+ // iterators
1380
+ //
1381
+ //////////////////////////////////////////////
1382
+
1383
+ //! <b>Effects</b>: Returns an iterator to the first element contained in the vector.
1384
+ //!
1385
+ //! <b>Throws</b>: Nothing.
1386
+ //!
1387
+ //! <b>Complexity</b>: Constant.
1388
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
1389
+ { return iterator(this->m_holder.start()); }
1390
+
1391
+ //! <b>Effects</b>: Returns a const_iterator to the first element contained in the vector.
1392
+ //!
1393
+ //! <b>Throws</b>: Nothing.
1394
+ //!
1395
+ //! <b>Complexity</b>: Constant.
1396
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
1397
+ { return const_iterator(this->m_holder.start()); }
1398
+
1399
+ //! <b>Effects</b>: Returns an iterator to the end of the vector.
1400
+ //!
1401
+ //! <b>Throws</b>: Nothing.
1402
+ //!
1403
+ //! <b>Complexity</b>: Constant.
1404
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE iterator end() BOOST_NOEXCEPT_OR_NOTHROW
1405
+ {
1406
+ iterator it (this->m_holder.start());
1407
+ it += difference_type(this->m_holder.m_size);
1408
+ return it; //Adding zero to null pointer is allowed (non-UB)
1409
+ }
1410
+
1411
+ //! <b>Effects</b>: Returns a const_iterator to the end of the vector.
1412
+ //!
1413
+ //! <b>Throws</b>: Nothing.
1414
+ //!
1415
+ //! <b>Complexity</b>: Constant.
1416
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
1417
+ { return this->cend(); }
1418
+
1419
+ //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
1420
+ //! of the reversed vector.
1421
+ //!
1422
+ //! <b>Throws</b>: Nothing.
1423
+ //!
1424
+ //! <b>Complexity</b>: Constant.
1425
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
1426
+ { return reverse_iterator(this->end()); }
1427
+
1428
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
1429
+ //! of the reversed vector.
1430
+ //!
1431
+ //! <b>Throws</b>: Nothing.
1432
+ //!
1433
+ //! <b>Complexity</b>: Constant.
1434
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
1435
+ { return this->crbegin(); }
1436
+
1437
+ //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
1438
+ //! of the reversed vector.
1439
+ //!
1440
+ //! <b>Throws</b>: Nothing.
1441
+ //!
1442
+ //! <b>Complexity</b>: Constant.
1443
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
1444
+ { return reverse_iterator(this->begin()); }
1445
+
1446
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
1447
+ //! of the reversed vector.
1448
+ //!
1449
+ //! <b>Throws</b>: Nothing.
1450
+ //!
1451
+ //! <b>Complexity</b>: Constant.
1452
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
1453
+ { return this->crend(); }
1454
+
1455
+ //! <b>Effects</b>: Returns a const_iterator to the first element contained in the vector.
1456
+ //!
1457
+ //! <b>Throws</b>: Nothing.
1458
+ //!
1459
+ //! <b>Complexity</b>: Constant.
1460
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
1461
+ { return const_iterator(this->m_holder.start()); }
1462
+
1463
+ //! <b>Effects</b>: Returns a const_iterator to the end of the vector.
1464
+ //!
1465
+ //! <b>Throws</b>: Nothing.
1466
+ //!
1467
+ //! <b>Complexity</b>: Constant.
1468
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
1469
+ {
1470
+ const_iterator it (this->m_holder.start());
1471
+ it += difference_type(this->m_holder.m_size);
1472
+ return it; //Adding zero to null pointer is allowed (non-UB)
1473
+ }
1474
+
1475
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
1476
+ //! of the reversed vector.
1477
+ //!
1478
+ //! <b>Throws</b>: Nothing.
1479
+ //!
1480
+ //! <b>Complexity</b>: Constant.
1481
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
1482
+ { return const_reverse_iterator(this->end());}
1483
+
1484
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
1485
+ //! of the reversed vector.
1486
+ //!
1487
+ //! <b>Throws</b>: Nothing.
1488
+ //!
1489
+ //! <b>Complexity</b>: Constant.
1490
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
1491
+ { return const_reverse_iterator(this->begin()); }
1492
+
1493
+ //////////////////////////////////////////////
1494
+ //
1495
+ // capacity
1496
+ //
1497
+ //////////////////////////////////////////////
1498
+
1499
+ //! <b>Effects</b>: Returns true if the vector contains no elements.
1500
+ //!
1501
+ //! <b>Throws</b>: Nothing.
1502
+ //!
1503
+ //! <b>Complexity</b>: Constant.
1504
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
1505
+ { return !this->m_holder.m_size; }
1506
+
1507
+ //! <b>Effects</b>: Returns the number of the elements contained in the vector.
1508
+ //!
1509
+ //! <b>Throws</b>: Nothing.
1510
+ //!
1511
+ //! <b>Complexity</b>: Constant.
1512
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
1513
+ { return this->m_holder.m_size; }
1514
+
1515
+ //! <b>Effects</b>: Returns the largest possible size of the vector.
1516
+ //!
1517
+ //! <b>Throws</b>: Nothing.
1518
+ //!
1519
+ //! <b>Complexity</b>: Constant.
1520
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
1521
+ { return allocator_traits_type::max_size(this->m_holder.alloc()); }
1522
+
1523
+ //! <b>Effects</b>: Inserts or erases elements at the end such that
1524
+ //! the size becomes n. New elements are value initialized.
1525
+ //!
1526
+ //! <b>Throws</b>: If memory allocation throws, or T's copy/move or value initialization throws.
1527
+ //!
1528
+ //! <b>Complexity</b>: Linear to the difference between size() and new_size.
1529
+ BOOST_CONTAINER_FORCEINLINE void resize(size_type new_size)
1530
+ { this->priv_resize(new_size, value_init, alloc_version()); }
1531
+
1532
+ //! <b>Effects</b>: Inserts or erases elements at the end such that
1533
+ //! the size becomes n. New elements are default initialized.
1534
+ //!
1535
+ //! <b>Throws</b>: If memory allocation throws, or T's copy/move or default initialization throws.
1536
+ //!
1537
+ //! <b>Complexity</b>: Linear to the difference between size() and new_size.
1538
+ //!
1539
+ //! <b>Note</b>: Non-standard extension
1540
+ BOOST_CONTAINER_FORCEINLINE void resize(size_type new_size, default_init_t)
1541
+ { this->priv_resize(new_size, default_init, alloc_version()); }
1542
+
1543
+ //! <b>Effects</b>: Inserts or erases elements at the end such that
1544
+ //! the size becomes n. New elements are copy constructed from x.
1545
+ //!
1546
+ //! <b>Throws</b>: If memory allocation throws, or T's copy/move constructor throws.
1547
+ //!
1548
+ //! <b>Complexity</b>: Linear to the difference between size() and new_size.
1549
+ BOOST_CONTAINER_FORCEINLINE void resize(size_type new_size, const T& x)
1550
+ { this->priv_resize(new_size, x, alloc_version()); }
1551
+
1552
+ //! <b>Effects</b>: Number of elements for which memory has been allocated.
1553
+ //! capacity() is always greater than or equal to size().
1554
+ //!
1555
+ //! <b>Throws</b>: Nothing.
1556
+ //!
1557
+ //! <b>Complexity</b>: Constant.
1558
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
1559
+ { return this->m_holder.capacity(); }
1560
+
1561
+ //! <b>Effects</b>: If n is less than or equal to capacity(), this call has no
1562
+ //! effect. Otherwise, it is a request for allocation of additional memory.
1563
+ //! If the request is successful, then capacity() is greater than or equal to
1564
+ //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged.
1565
+ //!
1566
+ //! <b>Throws</b>: If memory allocation allocation throws or T's copy/move constructor throws.
1567
+ BOOST_CONTAINER_FORCEINLINE void reserve(size_type new_cap)
1568
+ {
1569
+ if (this->capacity() < new_cap){
1570
+ this->priv_move_to_new_buffer(new_cap, alloc_version());
1571
+ }
1572
+ }
1573
+
1574
+ //! <b>Effects</b>: Tries to deallocate the excess of memory created
1575
+ //! with previous allocations. The size of the vector is unchanged
1576
+ //!
1577
+ //! <b>Throws</b>: If memory allocation throws, or T's copy/move constructor throws.
1578
+ //!
1579
+ //! <b>Complexity</b>: Linear to size().
1580
+ BOOST_CONTAINER_FORCEINLINE void shrink_to_fit()
1581
+ { this->priv_shrink_to_fit(alloc_version()); }
1582
+
1583
+ //////////////////////////////////////////////
1584
+ //
1585
+ // element access
1586
+ //
1587
+ //////////////////////////////////////////////
1588
+
1589
+ //! <b>Requires</b>: !empty()
1590
+ //!
1591
+ //! <b>Effects</b>: Returns a reference to the first
1592
+ //! element of the container.
1593
+ //!
1594
+ //! <b>Throws</b>: Nothing.
1595
+ //!
1596
+ //! <b>Complexity</b>: Constant.
1597
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE reference front() BOOST_NOEXCEPT_OR_NOTHROW
1598
+ {
1599
+ BOOST_ASSERT(!this->empty());
1600
+ return *this->m_holder.start();
1601
+ }
1602
+
1603
+ //! <b>Requires</b>: !empty()
1604
+ //!
1605
+ //! <b>Effects</b>: Returns a const reference to the first
1606
+ //! element of the container.
1607
+ //!
1608
+ //! <b>Throws</b>: Nothing.
1609
+ //!
1610
+ //! <b>Complexity</b>: Constant.
1611
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
1612
+ {
1613
+ BOOST_ASSERT(!this->empty());
1614
+ return *this->m_holder.start();
1615
+ }
1616
+
1617
+ //! <b>Requires</b>: !empty()
1618
+ //!
1619
+ //! <b>Effects</b>: Returns a reference to the last
1620
+ //! element of the container.
1621
+ //!
1622
+ //! <b>Throws</b>: Nothing.
1623
+ //!
1624
+ //! <b>Complexity</b>: Constant.
1625
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE reference back() BOOST_NOEXCEPT_OR_NOTHROW
1626
+ {
1627
+ BOOST_ASSERT(!this->empty());
1628
+ return this->m_holder.start()[difference_type(this->m_holder.m_size - 1u)];
1629
+ }
1630
+
1631
+ //! <b>Requires</b>: !empty()
1632
+ //!
1633
+ //! <b>Effects</b>: Returns a const reference to the last
1634
+ //! element of the container.
1635
+ //!
1636
+ //! <b>Throws</b>: Nothing.
1637
+ //!
1638
+ //! <b>Complexity</b>: Constant.
1639
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
1640
+ {
1641
+ BOOST_ASSERT(!this->empty());
1642
+ return this->m_holder.start()[this->m_holder.m_size - 1];
1643
+ }
1644
+
1645
+ //! <b>Requires</b>: size() > n.
1646
+ //!
1647
+ //! <b>Effects</b>: Returns a reference to the nth element
1648
+ //! from the beginning of the container.
1649
+ //!
1650
+ //! <b>Throws</b>: Nothing.
1651
+ //!
1652
+ //! <b>Complexity</b>: Constant.
1653
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
1654
+ {
1655
+ BOOST_ASSERT(this->m_holder.m_size > n);
1656
+ return this->m_holder.start()[difference_type(n)];
1657
+ }
1658
+
1659
+ //! <b>Requires</b>: size() > n.
1660
+ //!
1661
+ //! <b>Effects</b>: Returns a const reference to the nth element
1662
+ //! from the beginning of the container.
1663
+ //!
1664
+ //! <b>Throws</b>: Nothing.
1665
+ //!
1666
+ //! <b>Complexity</b>: Constant.
1667
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1668
+ const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
1669
+ {
1670
+ BOOST_ASSERT(this->m_holder.m_size > n);
1671
+ return this->m_holder.start()[n];
1672
+ }
1673
+
1674
+ //! <b>Requires</b>: size() >= n.
1675
+ //!
1676
+ //! <b>Effects</b>: Returns an iterator to the nth element
1677
+ //! from the beginning of the container. Returns end()
1678
+ //! if n == size().
1679
+ //!
1680
+ //! <b>Throws</b>: Nothing.
1681
+ //!
1682
+ //! <b>Complexity</b>: Constant.
1683
+ //!
1684
+ //! <b>Note</b>: Non-standard extension
1685
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1686
+ iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
1687
+ {
1688
+ BOOST_ASSERT(this->m_holder.m_size >= n);
1689
+ return iterator(this->m_holder.start()+difference_type(n));
1690
+ }
1691
+
1692
+ //! <b>Requires</b>: size() >= n.
1693
+ //!
1694
+ //! <b>Effects</b>: Returns a const_iterator to the nth element
1695
+ //! from the beginning of the container. Returns end()
1696
+ //! if n == size().
1697
+ //!
1698
+ //! <b>Throws</b>: Nothing.
1699
+ //!
1700
+ //! <b>Complexity</b>: Constant.
1701
+ //!
1702
+ //! <b>Note</b>: Non-standard extension
1703
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1704
+ const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
1705
+ {
1706
+ BOOST_ASSERT(this->m_holder.m_size >= n);
1707
+ return const_iterator(this->m_holder.start()+difference_type(n));
1708
+ }
1709
+
1710
+ //! <b>Requires</b>: begin() <= p <= end().
1711
+ //!
1712
+ //! <b>Effects</b>: Returns the index of the element pointed by p
1713
+ //! and size() if p == end().
1714
+ //!
1715
+ //! <b>Throws</b>: Nothing.
1716
+ //!
1717
+ //! <b>Complexity</b>: Constant.
1718
+ //!
1719
+ //! <b>Note</b>: Non-standard extension
1720
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1721
+ size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
1722
+ {
1723
+ //Range check assert done in priv_index_of
1724
+ return this->priv_index_of(vector_iterator_get_ptr(p));
1725
+ }
1726
+
1727
+ //! <b>Requires</b>: begin() <= p <= end().
1728
+ //!
1729
+ //! <b>Effects</b>: Returns the index of the element pointed by p
1730
+ //! and size() if p == end().
1731
+ //!
1732
+ //! <b>Throws</b>: Nothing.
1733
+ //!
1734
+ //! <b>Complexity</b>: Constant.
1735
+ //!
1736
+ //! <b>Note</b>: Non-standard extension
1737
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1738
+ size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
1739
+ {
1740
+ //Range check assert done in priv_index_of
1741
+ return this->priv_index_of(vector_iterator_get_ptr(p));
1742
+ }
1743
+
1744
+ //! <b>Requires</b>: size() > n.
1745
+ //!
1746
+ //! <b>Effects</b>: Returns a reference to the nth element
1747
+ //! from the beginning of the container.
1748
+ //!
1749
+ //! <b>Throws</b>: range_error if n >= size()
1750
+ //!
1751
+ //! <b>Complexity</b>: Constant.
1752
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE reference at(size_type n)
1753
+ {
1754
+ this->priv_throw_if_out_of_range(n);
1755
+ return this->m_holder.start()[difference_type(n)];
1756
+ }
1757
+
1758
+ //! <b>Requires</b>: size() > n.
1759
+ //!
1760
+ //! <b>Effects</b>: Returns a const reference to the nth element
1761
+ //! from the beginning of the container.
1762
+ //!
1763
+ //! <b>Throws</b>: range_error if n >= size()
1764
+ //!
1765
+ //! <b>Complexity</b>: Constant.
1766
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE const_reference at(size_type n) const
1767
+ {
1768
+ this->priv_throw_if_out_of_range(n);
1769
+ return this->m_holder.start()[n];
1770
+ }
1771
+
1772
+ //////////////////////////////////////////////
1773
+ //
1774
+ // data access
1775
+ //
1776
+ //////////////////////////////////////////////
1777
+
1778
+ //! <b>Returns</b>: A pointer such that [data(),data() + size()) is a valid range.
1779
+ //! For a non-empty vector, data() == &front().
1780
+ //!
1781
+ //! <b>Throws</b>: Nothing.
1782
+ //!
1783
+ //! <b>Complexity</b>: Constant.
1784
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE T* data() BOOST_NOEXCEPT_OR_NOTHROW
1785
+ { return this->priv_raw_begin(); }
1786
+
1787
+ //! <b>Returns</b>: A pointer such that [data(),data() + size()) is a valid range.
1788
+ //! For a non-empty vector, data() == &front().
1789
+ //!
1790
+ //! <b>Throws</b>: Nothing.
1791
+ //!
1792
+ //! <b>Complexity</b>: Constant.
1793
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE const T * data() const BOOST_NOEXCEPT_OR_NOTHROW
1794
+ { return this->priv_raw_begin(); }
1795
+
1796
+ //////////////////////////////////////////////
1797
+ //
1798
+ // modifiers
1799
+ //
1800
+ //////////////////////////////////////////////
1801
+
1802
+ #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1803
+ //! <b>Effects</b>: Inserts an object of type T constructed with
1804
+ //! std::forward<Args>(args)... in the end of the vector.
1805
+ //!
1806
+ //! <b>Returns</b>: A reference to the created object.
1807
+ //!
1808
+ //! <b>Throws</b>: If memory allocation throws or the in-place constructor throws or
1809
+ //! T's copy/move constructor throws.
1810
+ //!
1811
+ //! <b>Complexity</b>: Amortized constant time.
1812
+ template<class ...Args>
1813
+ BOOST_CONTAINER_FORCEINLINE reference emplace_back(BOOST_FWD_REF(Args)...args)
1814
+ {
1815
+ T* const p = this->priv_raw_end();
1816
+ if (BOOST_LIKELY(this->room_enough())){
1817
+ //There is more memory, just construct a new object at the end
1818
+ allocator_traits_type::construct(this->m_holder.alloc(), p, ::boost::forward<Args>(args)...);
1819
+ ++this->m_holder.m_size;
1820
+ return *p;
1821
+ }
1822
+ else{
1823
+ typedef dtl::insert_emplace_proxy<allocator_type, Args...> proxy_t;
1824
+ return *this->priv_insert_forward_range_no_capacity
1825
+ (p, 1, proxy_t(::boost::forward<Args>(args)...), alloc_version());
1826
+ }
1827
+ }
1828
+
1829
+ //! <b>Effects</b>: Inserts an object of type T constructed with
1830
+ //! std::forward<Args>(args)... in the end of the vector.
1831
+ //!
1832
+ //! <b>Throws</b>: If the in-place constructor throws.
1833
+ //!
1834
+ //! <b>Complexity</b>: Constant time.
1835
+ //!
1836
+ //! <b>Note</b>: Non-standard extension.
1837
+ template<class ...Args>
1838
+ BOOST_CONTAINER_FORCEINLINE bool stable_emplace_back(BOOST_FWD_REF(Args)...args)
1839
+ {
1840
+ const bool is_room_enough = this->room_enough() || (alloc_version::value == 2 && this->m_holder.try_expand_fwd(1u));
1841
+ if (BOOST_LIKELY(is_room_enough)){
1842
+ //There is more memory, just construct a new object at the end
1843
+ allocator_traits_type::construct(this->m_holder.alloc(), this->priv_raw_end(), ::boost::forward<Args>(args)...);
1844
+ ++this->m_holder.m_size;
1845
+ }
1846
+ return is_room_enough;
1847
+ }
1848
+
1849
+ //! <b>Requires</b>: position must be a valid iterator of *this.
1850
+ //!
1851
+ //! <b>Effects</b>: Inserts an object of type T constructed with
1852
+ //! std::forward<Args>(args)... before position
1853
+ //!
1854
+ //! <b>Throws</b>: If memory allocation throws or the in-place constructor throws or
1855
+ //! T's copy/move constructor/assignment throws.
1856
+ //!
1857
+ //! <b>Complexity</b>: If position is end(), amortized constant time
1858
+ //! Linear time otherwise.
1859
+ template<class ...Args>
1860
+ BOOST_CONTAINER_FORCEINLINE iterator emplace(const_iterator position, BOOST_FWD_REF(Args) ...args)
1861
+ {
1862
+ BOOST_ASSERT(this->priv_in_range_or_end(position));
1863
+ //Just call more general insert(pos, size, value) and return iterator
1864
+ typedef dtl::insert_emplace_proxy<allocator_type, Args...> proxy_t;
1865
+ return this->priv_insert_forward_range( vector_iterator_get_ptr(position), 1
1866
+ , proxy_t(::boost::forward<Args>(args)...));
1867
+ }
1868
+
1869
+ #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
1870
+
1871
+ #define BOOST_CONTAINER_VECTOR_EMPLACE_CODE(N) \
1872
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1873
+ BOOST_CONTAINER_FORCEINLINE reference emplace_back(BOOST_MOVE_UREF##N)\
1874
+ {\
1875
+ T* const p = this->priv_raw_end();\
1876
+ if (BOOST_LIKELY(this->room_enough())){\
1877
+ allocator_traits_type::construct (this->m_holder.alloc()\
1878
+ , this->priv_raw_end() BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
1879
+ ++this->m_holder.m_size;\
1880
+ return *p;\
1881
+ }\
1882
+ else{\
1883
+ typedef dtl::insert_emplace_proxy_arg##N<allocator_type BOOST_MOVE_I##N BOOST_MOVE_TARG##N> proxy_t;\
1884
+ return *this->priv_insert_forward_range_no_capacity\
1885
+ ( p, 1, proxy_t(BOOST_MOVE_FWD##N), alloc_version());\
1886
+ }\
1887
+ }\
1888
+ \
1889
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1890
+ BOOST_CONTAINER_FORCEINLINE bool stable_emplace_back(BOOST_MOVE_UREF##N)\
1891
+ {\
1892
+ const bool is_room_enough = this->room_enough() || (alloc_version::value == 2 && this->m_holder.try_expand_fwd(1u));\
1893
+ if (BOOST_LIKELY(is_room_enough)){\
1894
+ allocator_traits_type::construct (this->m_holder.alloc()\
1895
+ , this->priv_raw_end() BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
1896
+ ++this->m_holder.m_size;\
1897
+ }\
1898
+ return is_room_enough;\
1899
+ }\
1900
+ \
1901
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1902
+ BOOST_CONTAINER_FORCEINLINE iterator emplace(const_iterator pos BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1903
+ {\
1904
+ BOOST_ASSERT(this->priv_in_range_or_end(pos));\
1905
+ typedef dtl::insert_emplace_proxy_arg##N<allocator_type BOOST_MOVE_I##N BOOST_MOVE_TARG##N> proxy_t;\
1906
+ return this->priv_insert_forward_range(vector_iterator_get_ptr(pos), 1, proxy_t(BOOST_MOVE_FWD##N));\
1907
+ }\
1908
+ //
1909
+ BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_VECTOR_EMPLACE_CODE)
1910
+ #undef BOOST_CONTAINER_VECTOR_EMPLACE_CODE
1911
+
1912
+ #endif
1913
+
1914
+ #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1915
+ //! <b>Effects</b>: Inserts a copy of x at the end of the vector.
1916
+ //!
1917
+ //! <b>Throws</b>: If memory allocation throws or
1918
+ //! T's copy/move constructor throws.
1919
+ //!
1920
+ //! <b>Complexity</b>: Amortized constant time.
1921
+ void push_back(const T &x);
1922
+
1923
+ //! <b>Effects</b>: Constructs a new element in the end of the vector
1924
+ //! and moves the resources of x to this new element.
1925
+ //!
1926
+ //! <b>Throws</b>: If memory allocation throws or
1927
+ //! T's copy/move constructor throws.
1928
+ //!
1929
+ //! <b>Complexity</b>: Amortized constant time.
1930
+ void push_back(T &&x);
1931
+ #else
1932
+ BOOST_MOVE_CONVERSION_AWARE_CATCH(push_back, T, void, priv_push_back)
1933
+ #endif
1934
+
1935
+ #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1936
+ //! <b>Requires</b>: position must be a valid iterator of *this.
1937
+ //!
1938
+ //! <b>Effects</b>: Insert a copy of x before position.
1939
+ //!
1940
+ //! <b>Throws</b>: If memory allocation throws or T's copy/move constructor/assignment throws.
1941
+ //!
1942
+ //! <b>Complexity</b>: If position is end(), amortized constant time
1943
+ //! Linear time otherwise.
1944
+ iterator insert(const_iterator position, const T &x);
1945
+
1946
+ //! <b>Requires</b>: position must be a valid iterator of *this.
1947
+ //!
1948
+ //! <b>Effects</b>: Insert a new element before position with x's resources.
1949
+ //!
1950
+ //! <b>Throws</b>: If memory allocation throws.
1951
+ //!
1952
+ //! <b>Complexity</b>: If position is end(), amortized constant time
1953
+ //! Linear time otherwise.
1954
+ iterator insert(const_iterator position, T &&x);
1955
+ #else
1956
+ BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator)
1957
+ #endif
1958
+
1959
+ //! <b>Requires</b>: p must be a valid iterator of *this.
1960
+ //!
1961
+ //! <b>Effects</b>: Insert n copies of x before pos.
1962
+ //!
1963
+ //! <b>Returns</b>: an iterator to the first inserted element or p if n is 0.
1964
+ //!
1965
+ //! <b>Throws</b>: If memory allocation throws or T's copy/move constructor throws.
1966
+ //!
1967
+ //! <b>Complexity</b>: Linear to n.
1968
+ BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, size_type n, const T& x)
1969
+ {
1970
+ BOOST_ASSERT(this->priv_in_range_or_end(p));
1971
+ dtl::insert_n_copies_proxy<allocator_type> proxy(x);
1972
+ return this->priv_insert_forward_range(vector_iterator_get_ptr(p), n, proxy);
1973
+ }
1974
+
1975
+ //! <b>Requires</b>: p must be a valid iterator of *this.
1976
+ //!
1977
+ //! <b>Effects</b>: Insert a copy of the [first, last) range before pos.
1978
+ //!
1979
+ //! <b>Returns</b>: an iterator to the first inserted element or pos if first == last.
1980
+ //!
1981
+ //! <b>Throws</b>: If memory allocation throws, T's constructor from a
1982
+ //! dereferenced InpIt throws or T's copy/move constructor/assignment throws.
1983
+ //!
1984
+ //! <b>Complexity</b>: Linear to boost::container::iterator_distance [first, last).
1985
+ template <class InIt>
1986
+ iterator insert(const_iterator pos, InIt first, InIt last
1987
+ #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1988
+ , typename dtl::disable_if_or
1989
+ < void
1990
+ , dtl::is_convertible<InIt, size_type>
1991
+ , dtl::is_not_input_iterator<InIt>
1992
+ >::type * = 0
1993
+ #endif
1994
+ )
1995
+ {
1996
+ BOOST_ASSERT(this->priv_in_range_or_end(pos));
1997
+ const size_type n_pos = size_type(pos - this->cbegin());
1998
+ iterator it(vector_iterator_get_ptr(pos));
1999
+ for(;first != last; ++first){
2000
+ it = this->emplace(it, *first);
2001
+ ++it;
2002
+ }
2003
+ return iterator(this->m_holder.start() + difference_type(n_pos));
2004
+ }
2005
+
2006
+ #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
2007
+ template <class FwdIt>
2008
+ BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator pos, FwdIt first, FwdIt last
2009
+ , typename dtl::disable_if_or
2010
+ < void
2011
+ , dtl::is_convertible<FwdIt, size_type>
2012
+ , dtl::is_input_iterator<FwdIt>
2013
+ >::type * = 0
2014
+ )
2015
+ {
2016
+ typedef typename iter_size<FwdIt>::type it_size_type;
2017
+ BOOST_ASSERT(this->priv_in_range_or_end(pos));
2018
+ const it_size_type sz = boost::container::iterator_udistance(first, last);
2019
+ if (BOOST_UNLIKELY(sz > size_type(-1))){
2020
+ boost::container::throw_length_error("vector::insert, FwdIt's max length reached");
2021
+ }
2022
+
2023
+ dtl::insert_range_proxy<allocator_type, FwdIt> proxy(first);
2024
+ return this->priv_insert_forward_range(vector_iterator_get_ptr(pos), static_cast<size_type>(sz), proxy);
2025
+ }
2026
+ #endif
2027
+
2028
+ //! <b>Requires</b>: p must be a valid iterator of *this. num, must
2029
+ //! be equal to boost::container::iterator_distance(first, last)
2030
+ //!
2031
+ //! <b>Effects</b>: Insert a copy of the [first, last) range before pos.
2032
+ //!
2033
+ //! <b>Returns</b>: an iterator to the first inserted element or pos if first == last.
2034
+ //!
2035
+ //! <b>Throws</b>: If memory allocation throws, T's constructor from a
2036
+ //! dereferenced InpIt throws or T's copy/move constructor/assignment throws.
2037
+ //!
2038
+ //! <b>Complexity</b>: Linear to boost::container::iterator_distance [first, last).
2039
+ //!
2040
+ //! <b>Note</b>: This function avoids a linear operation to calculate boost::container::iterator_distance[first, last)
2041
+ //! for forward and bidirectional iterators, and a one by one insertion for input iterators. This is a
2042
+ //! a non-standard extension.
2043
+ #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
2044
+ template <class InIt>
2045
+ BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator pos, size_type num, InIt first, InIt last)
2046
+ {
2047
+ BOOST_ASSERT(this->priv_in_range_or_end(pos));
2048
+ BOOST_ASSERT(dtl::is_input_iterator<InIt>::value ||
2049
+ num == boost::container::iterator_udistance(first, last));
2050
+ (void)last;
2051
+ dtl::insert_range_proxy<allocator_type, InIt> proxy(first);
2052
+ return this->priv_insert_forward_range(vector_iterator_get_ptr(pos), num, proxy);
2053
+ }
2054
+ #endif
2055
+
2056
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
2057
+ //! <b>Requires</b>: position must be a valid iterator of *this.
2058
+ //!
2059
+ //! <b>Effects</b>: Insert a copy of the [il.begin(), il.end()) range before position.
2060
+ //!
2061
+ //! <b>Returns</b>: an iterator to the first inserted element or position if first == last.
2062
+ //!
2063
+ //! <b>Complexity</b>: Linear to the range [il.begin(), il.end()).
2064
+ BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator position, std::initializer_list<value_type> il)
2065
+ {
2066
+ //Assertion done in insert()
2067
+ return this->insert(position, il.begin(), il.end());
2068
+ }
2069
+ #endif
2070
+
2071
+ //! <b>Effects</b>: Removes the last element from the container.
2072
+ //!
2073
+ //! <b>Throws</b>: Nothing.
2074
+ //!
2075
+ //! <b>Complexity</b>: Constant time.
2076
+ BOOST_CONTAINER_FORCEINLINE void pop_back() BOOST_NOEXCEPT_OR_NOTHROW
2077
+ {
2078
+ BOOST_ASSERT(!this->empty());
2079
+ //Destroy last element
2080
+ allocator_traits_type::destroy(this->get_stored_allocator(), this->priv_raw_end() - 1);
2081
+ --this->m_holder.m_size;
2082
+ }
2083
+
2084
+ //! <b>Effects</b>: Erases the element at position pos.
2085
+ //!
2086
+ //! <b>Throws</b>: Nothing.
2087
+ //!
2088
+ //! <b>Complexity</b>: Linear to the elements between pos and the
2089
+ //! last element. Constant if pos is the last element.
2090
+ iterator erase(const_iterator position)
2091
+ {
2092
+ BOOST_ASSERT(this->priv_in_range(position));
2093
+ const pointer p = vector_iterator_get_ptr(position);
2094
+ T *const pos_ptr = boost::movelib::to_raw_pointer(p);
2095
+ T *const end_ptr = this->priv_raw_end();
2096
+
2097
+ //Move elements forward and destroy last
2098
+ (void)::boost::container::move(pos_ptr + 1, end_ptr, pos_ptr);
2099
+
2100
+ T *const last_ptr = end_ptr-1;
2101
+ if(!value_traits::trivial_dctr_after_move || pos_ptr == last_ptr){
2102
+ allocator_traits_type::destroy(this->get_stored_allocator(), last_ptr);
2103
+ }
2104
+ --this->m_holder.m_size;
2105
+ return iterator(p);
2106
+ }
2107
+
2108
+ //! <b>Effects</b>: Erases the elements pointed by [first, last).
2109
+ //!
2110
+ //! <b>Throws</b>: Nothing.
2111
+ //!
2112
+ //! <b>Complexity</b>: Linear to the distance between first and last
2113
+ //! plus linear to the elements between pos and the last element.
2114
+ iterator erase(const_iterator first, const_iterator last)
2115
+ {
2116
+ BOOST_ASSERT(this->priv_in_range_or_end(first));
2117
+ BOOST_ASSERT(this->priv_in_range_or_end(last));
2118
+ BOOST_ASSERT(first <= last);
2119
+ if(first != last){
2120
+ T* const old_end_ptr = this->priv_raw_end();
2121
+ T* const first_ptr = boost::movelib::to_raw_pointer(vector_iterator_get_ptr(first));
2122
+ T* const last_ptr = boost::movelib::to_raw_pointer(vector_iterator_get_ptr(last));
2123
+ T* const new_last_ptr = boost::movelib::to_raw_pointer(boost::container::move(last_ptr, old_end_ptr, first_ptr));
2124
+ const size_type n = static_cast<size_type>(old_end_ptr - new_last_ptr);
2125
+ if(!value_traits::trivial_dctr_after_move || old_end_ptr == last_ptr){
2126
+ boost::container::destroy_alloc_n(this->get_stored_allocator(), new_last_ptr, n);
2127
+ }
2128
+ this->m_holder.dec_stored_size(n);
2129
+ }
2130
+ return iterator(vector_iterator_get_ptr(first));
2131
+ }
2132
+
2133
+ //! <b>Effects</b>: Swaps the contents of *this and x.
2134
+ //!
2135
+ //! <b>Throws</b>: Nothing.
2136
+ //!
2137
+ //! <b>Complexity</b>: Constant.
2138
+ BOOST_CONTAINER_FORCEINLINE void swap(vector& x)
2139
+ BOOST_NOEXCEPT_IF( ((allocator_traits_type::propagate_on_container_swap::value
2140
+ || allocator_traits_type::is_always_equal::value) &&
2141
+ !dtl::is_version<allocator_type, 0>::value))
2142
+ {
2143
+ this->priv_swap(x, dtl::bool_<dtl::is_version<allocator_type, 0>::value>());
2144
+ }
2145
+
2146
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
2147
+
2148
+ //! <b>Effects</b>: Swaps the contents of *this and x.
2149
+ //!
2150
+ //! <b>Throws</b>: Nothing.
2151
+ //!
2152
+ //! <b>Complexity</b>: Linear
2153
+ //!
2154
+ //! <b>Note</b>: Non-standard extension to support static_vector
2155
+ template<class OtherA>
2156
+ BOOST_CONTAINER_FORCEINLINE void swap(vector<T, OtherA, Options> & x
2157
+ , typename dtl::enable_if_and
2158
+ < void
2159
+ , dtl::is_version<typename real_allocator<T, OtherA>::type, 0>
2160
+ , dtl::is_different<typename real_allocator<T, OtherA>::type, allocator_type>
2161
+ >::type * = 0
2162
+ )
2163
+ { this->m_holder.deep_swap(x.m_holder); }
2164
+
2165
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
2166
+
2167
+ //! <b>Effects</b>: Erases all the elements of the vector.
2168
+ //!
2169
+ //! <b>Throws</b>: Nothing.
2170
+ //!
2171
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
2172
+ BOOST_CONTAINER_FORCEINLINE void clear() BOOST_NOEXCEPT_OR_NOTHROW
2173
+ { this->priv_destroy_all(); }
2174
+
2175
+ //! <b>Effects</b>: Returns true if x and y are equal
2176
+ //!
2177
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
2178
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE friend bool operator==(const vector& x, const vector& y)
2179
+ { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
2180
+
2181
+ //! <b>Effects</b>: Returns true if x and y are unequal
2182
+ //!
2183
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
2184
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE friend bool operator!=(const vector& x, const vector& y)
2185
+ { return !(x == y); }
2186
+
2187
+ //! <b>Effects</b>: Returns true if x is less than y
2188
+ //!
2189
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
2190
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD friend bool operator<(const vector& x, const vector& y)
2191
+ { return boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
2192
+
2193
+ //! <b>Effects</b>: Returns true if x is greater than y
2194
+ //!
2195
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
2196
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE friend bool operator>(const vector& x, const vector& y)
2197
+ { return y < x; }
2198
+
2199
+ //! <b>Effects</b>: Returns true if x is equal or less than y
2200
+ //!
2201
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
2202
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE friend bool operator<=(const vector& x, const vector& y)
2203
+ { return !(y < x); }
2204
+
2205
+ //! <b>Effects</b>: Returns true if x is equal or greater than y
2206
+ //!
2207
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
2208
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE friend bool operator>=(const vector& x, const vector& y)
2209
+ { return !(x < y); }
2210
+
2211
+ //! <b>Effects</b>: x.swap(y)
2212
+ //!
2213
+ //! <b>Complexity</b>: Constant.
2214
+ BOOST_CONTAINER_FORCEINLINE friend void swap(vector& x, vector& y)
2215
+ BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
2216
+ { x.swap(y); }
2217
+
2218
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
2219
+ //! <b>Effects</b>: If n is less than or equal to capacity(), this call has no
2220
+ //! effect. Otherwise, it is a request for allocation of additional memory
2221
+ //! (memory expansion) that will not invalidate iterators.
2222
+ //! If the request is successful, then capacity() is greater than or equal to
2223
+ //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged.
2224
+ //!
2225
+ //! <b>Throws</b>: If memory allocation allocation throws or T's copy/move constructor throws.
2226
+ //!
2227
+ //! <b>Note</b>: Non-standard extension.
2228
+ bool stable_reserve(size_type new_cap)
2229
+ {
2230
+ const size_type cp = this->capacity();
2231
+ return cp >= new_cap || (alloc_version::value == 2 && this->m_holder.try_expand_fwd(size_type(new_cap - cp)));
2232
+ }
2233
+
2234
+ //Absolutely experimental. This function might change, disappear or simply crash!
2235
+ template<class BiDirPosConstIt, class BiDirValueIt>
2236
+ BOOST_CONTAINER_FORCEINLINE void insert_ordered_at(const size_type element_count, BiDirPosConstIt last_position_it, BiDirValueIt last_value_it)
2237
+ {
2238
+ typedef vector_insert_ordered_cursor<BiDirPosConstIt, BiDirValueIt> inserter_t;
2239
+ return this->priv_insert_ordered_at(element_count, inserter_t(last_position_it, last_value_it));
2240
+ }
2241
+
2242
+ template<class InputIt>
2243
+ BOOST_CONTAINER_FORCEINLINE void merge(InputIt first, InputIt last)
2244
+ { this->merge(first, last, value_less_t()); }
2245
+
2246
+ template<class InputIt, class Compare>
2247
+ BOOST_CONTAINER_FORCEINLINE void merge(InputIt first, InputIt last, Compare comp)
2248
+ {
2249
+ size_type const s = this->size();
2250
+ size_type const c = this->capacity();
2251
+ size_type n = 0;
2252
+ size_type const free_cap = c - s;
2253
+ //If not input iterator and new elements don't fit in the remaining capacity, merge in new buffer
2254
+ if(!dtl::is_input_iterator<InputIt>::value &&
2255
+ free_cap < (n = boost::container::iterator_udistance(first, last))){
2256
+ this->priv_merge_in_new_buffer(first, n, comp, alloc_version());
2257
+ }
2258
+ else{
2259
+ this->insert(this->cend(), first, last);
2260
+ T *const raw_beg = this->priv_raw_begin();
2261
+ T *const raw_end = this->priv_raw_end();
2262
+ T *const raw_pos = raw_beg + s;
2263
+ boost::movelib::adaptive_merge(raw_beg, raw_pos, raw_end, comp, raw_end, free_cap - n);
2264
+ }
2265
+ }
2266
+
2267
+ template<class InputIt>
2268
+ BOOST_CONTAINER_FORCEINLINE void merge_unique(InputIt first, InputIt last)
2269
+ { this->merge_unique(first, last, value_less_t()); }
2270
+
2271
+ template<class InputIt, class Compare>
2272
+ BOOST_CONTAINER_FORCEINLINE void merge_unique(InputIt first, InputIt last, Compare comp)
2273
+ {
2274
+ size_type const old_size = this->size();
2275
+ this->priv_set_difference_back(first, last, comp);
2276
+ T *const raw_beg = this->priv_raw_begin();
2277
+ T *const raw_end = this->priv_raw_end();
2278
+ T *raw_pos = raw_beg + old_size;
2279
+ boost::movelib::adaptive_merge(raw_beg, raw_pos, raw_end, comp, raw_end, this->capacity() - this->size());
2280
+ }
2281
+
2282
+ private:
2283
+ template<class PositionValue>
2284
+ void priv_insert_ordered_at(const size_type element_count, PositionValue position_value)
2285
+ {
2286
+ const size_type old_size_pos = this->size();
2287
+ this->reserve(old_size_pos + element_count);
2288
+ T* const begin_ptr = this->priv_raw_begin();
2289
+ size_type insertions_left = element_count;
2290
+ size_type prev_pos = old_size_pos;
2291
+ size_type old_hole_size = element_count;
2292
+
2293
+ //Exception rollback. If any copy throws before the hole is filled, values
2294
+ //already inserted/copied at the end of the buffer will be destroyed.
2295
+ typename value_traits::ArrayDestructor past_hole_values_destroyer
2296
+ (begin_ptr + old_size_pos + element_count, this->m_holder.alloc(), size_type(0u));
2297
+ //Loop for each insertion backwards, first moving the elements after the insertion point,
2298
+ //then inserting the element.
2299
+ while(insertions_left){
2300
+ --position_value;
2301
+ size_type const pos = position_value.get_pos();
2302
+ BOOST_ASSERT(pos != size_type(-1) && pos <= old_size_pos && pos <= prev_pos);
2303
+ //If needed shift the range after the insertion point and the previous insertion point.
2304
+ //Function will take care if the shift crosses the size() boundary, using copy/move
2305
+ //or uninitialized copy/move if necessary.
2306
+ size_type new_hole_size = (pos != prev_pos)
2307
+ ? priv_insert_ordered_at_shift_range(pos, prev_pos, this->size(), insertions_left)
2308
+ : old_hole_size
2309
+ ;
2310
+ if(new_hole_size){
2311
+ //The hole was reduced by priv_insert_ordered_at_shift_range so expand exception rollback range backwards
2312
+ past_hole_values_destroyer.increment_size_backwards(prev_pos - pos);
2313
+ //Insert the new value in the hole
2314
+ allocator_traits_type::construct(this->m_holder.alloc(), begin_ptr + pos + insertions_left - 1, position_value.get_val());
2315
+ if(--new_hole_size){
2316
+ //The hole was reduced by the new insertion by one
2317
+ past_hole_values_destroyer.increment_size_backwards(size_type(1u));
2318
+ }
2319
+ else{
2320
+ //Hole was just filled, disable exception rollback and change vector size
2321
+ past_hole_values_destroyer.release();
2322
+ this->m_holder.inc_stored_size(element_count);
2323
+ }
2324
+ }
2325
+ else{
2326
+ if(old_hole_size){
2327
+ //Hole was just filled by priv_insert_ordered_at_shift_range, disable exception rollback and change vector size
2328
+ past_hole_values_destroyer.release();
2329
+ this->m_holder.inc_stored_size(element_count);
2330
+ }
2331
+ //Insert the new value in the already constructed range
2332
+ begin_ptr[pos + insertions_left - 1] = position_value.get_val();
2333
+ }
2334
+ --insertions_left;
2335
+ old_hole_size = new_hole_size;
2336
+ prev_pos = pos;
2337
+ }
2338
+ }
2339
+
2340
+ template<class InputIt, class Compare>
2341
+ void priv_set_difference_back(InputIt first1, InputIt last1, Compare comp)
2342
+ {
2343
+ T * old_first2 = this->priv_raw_begin();
2344
+ T * first2 = old_first2;
2345
+ T * last2 = this->priv_raw_end();
2346
+
2347
+ while (first1 != last1) {
2348
+ if (first2 == last2){
2349
+ this->insert(this->cend(), first1, last1);
2350
+ return;
2351
+ }
2352
+
2353
+ if (comp(*first1, *first2)) {
2354
+ this->emplace_back(*first1);
2355
+ T * const raw_begin = this->priv_raw_begin();
2356
+ if(old_first2 != raw_begin)
2357
+ {
2358
+ //Reallocation happened, update range
2359
+ first2 = raw_begin + (first2 - old_first2);
2360
+ last2 = raw_begin + (last2 - old_first2);
2361
+ old_first2 = raw_begin;
2362
+ }
2363
+ ++first1;
2364
+ }
2365
+ else {
2366
+ if (!comp(*first2, *first1)) {
2367
+ ++first1;
2368
+ }
2369
+ ++first2;
2370
+ }
2371
+ }
2372
+ }
2373
+
2374
+ template<class FwdIt, class Compare>
2375
+ BOOST_CONTAINER_FORCEINLINE void priv_merge_in_new_buffer(FwdIt, size_type, Compare, version_0)
2376
+ {
2377
+ alloc_holder_t::on_capacity_overflow();
2378
+ }
2379
+
2380
+ template<class FwdIt, class Compare, class Version>
2381
+ void priv_merge_in_new_buffer(FwdIt first, size_type n, Compare comp, Version)
2382
+ {
2383
+ size_type const new_size = this->size() + n;
2384
+ size_type new_cap = new_size;
2385
+ pointer p = pointer();
2386
+ pointer const new_storage = this->m_holder.allocation_command(allocate_new, new_size, new_cap, p);
2387
+
2388
+ BOOST_ASSERT((new_cap >= this->size() ) && (new_cap - this->size()) >= n);
2389
+ allocator_type &a = this->m_holder.alloc();
2390
+ typename value_traits::ArrayDeallocator new_buffer_deallocator(new_storage, a, new_cap);
2391
+ typename value_traits::ArrayDestructor new_values_destroyer(new_storage, a, 0u);
2392
+ T* pbeg = this->priv_raw_begin();
2393
+ size_type const old_size = this->size();
2394
+ T* const pend = pbeg + old_size;
2395
+ T* d_first = boost::movelib::to_raw_pointer(new_storage);
2396
+ size_type added = n;
2397
+ //Merge in new buffer loop
2398
+ while(1){
2399
+ if(!n) {
2400
+ ::boost::container::uninitialized_move_alloc(this->m_holder.alloc(), pbeg, pend, d_first);
2401
+ break;
2402
+ }
2403
+ else if(pbeg == pend) {
2404
+ ::boost::container::uninitialized_move_alloc_n(this->m_holder.alloc(), first, n, d_first);
2405
+ break;
2406
+ }
2407
+ //maintain stability moving external values only if they are strictly less
2408
+ else if(comp(*first, *pbeg)) {
2409
+ allocator_traits_type::construct( this->m_holder.alloc(), d_first, *first );
2410
+ new_values_destroyer.increment_size(1u);
2411
+ ++first;
2412
+ --n;
2413
+ ++d_first;
2414
+ }
2415
+ else{
2416
+ allocator_traits_type::construct( this->m_holder.alloc(), d_first, boost::move(*pbeg) );
2417
+ new_values_destroyer.increment_size(1u);
2418
+ ++pbeg;
2419
+ ++d_first;
2420
+ }
2421
+ }
2422
+
2423
+ //Nothrow operations
2424
+ pointer const old_p = this->m_holder.start();
2425
+ size_type const old_cap = this->m_holder.capacity();
2426
+ boost::container::destroy_alloc_n(a, boost::movelib::to_raw_pointer(old_p), old_size);
2427
+ if (old_cap > 0) {
2428
+ this->m_holder.deallocate(old_p, old_cap);
2429
+ }
2430
+ m_holder.set_stored_size(old_size + added);
2431
+ this->m_holder.start(new_storage);
2432
+ this->m_holder.capacity(new_cap);
2433
+ new_buffer_deallocator.release();
2434
+ new_values_destroyer.release();
2435
+ }
2436
+
2437
+ BOOST_CONTAINER_FORCEINLINE bool room_enough() const
2438
+ { return this->m_holder.m_size != this->m_holder.capacity(); }
2439
+
2440
+ BOOST_CONTAINER_FORCEINLINE pointer back_ptr() const
2441
+ { return this->m_holder.start() + difference_type(this->m_holder.m_size); }
2442
+
2443
+ BOOST_CONTAINER_FORCEINLINE size_type priv_index_of(pointer p) const
2444
+ {
2445
+ BOOST_ASSERT(this->m_holder.start() <= p);
2446
+ BOOST_ASSERT(p <= (this->m_holder.start()+difference_type(this->size())));
2447
+ return static_cast<size_type>(p - this->m_holder.start());
2448
+ }
2449
+
2450
+ template<class OtherA>
2451
+ void priv_move_assign(BOOST_RV_REF_BEG vector<T, OtherA, Options> BOOST_RV_REF_END x
2452
+ , typename dtl::enable_if_c
2453
+ < dtl::is_version<typename real_allocator<T, OtherA>::type, 0>::value >::type * = 0)
2454
+ {
2455
+ if(!dtl::is_same<typename real_allocator<T, OtherA>::type, allocator_type>::value &&
2456
+ this->capacity() < x.size()){
2457
+ alloc_holder_t::on_capacity_overflow();
2458
+ }
2459
+ T* const this_start = this->priv_raw_begin();
2460
+ T* const other_start = x.priv_raw_begin();
2461
+ const size_type this_sz = m_holder.m_size;
2462
+ const size_type other_sz = static_cast<size_type>(x.m_holder.m_size);
2463
+ boost::container::move_assign_range_alloc_n(this->m_holder.alloc(), other_start, other_sz, this_start, this_sz);
2464
+ m_holder.set_stored_size(other_sz);
2465
+ //Not emptying the source container seems to be confusing for users as drop-in
2466
+ //replacement for non-static vectors, so clear it.
2467
+ x.clear();
2468
+ }
2469
+
2470
+ template<class OtherA>
2471
+ void priv_move_assign(BOOST_RV_REF_BEG vector<T, OtherA, Options> BOOST_RV_REF_END x
2472
+ , typename dtl::disable_if_or
2473
+ < void
2474
+ , dtl::is_version<typename real_allocator<T, OtherA>::type, 0>
2475
+ , dtl::is_different<typename real_allocator<T, OtherA>::type, allocator_type>
2476
+ >::type * = 0)
2477
+ {
2478
+ //for move assignment, no aliasing (&x != this) is assumed.
2479
+ //x.size() == 0 is allowed for buggy std libraries.
2480
+ BOOST_ASSERT(this != &x || x.size() == 0);
2481
+ allocator_type &this_alloc = this->m_holder.alloc();
2482
+ allocator_type &x_alloc = x.m_holder.alloc();
2483
+ const bool propagate_alloc = allocator_traits_type::propagate_on_container_move_assignment::value;
2484
+
2485
+ //In this allocator move constructor the allocator maybe will be propagated -----------------------v
2486
+ const bool is_propagable_from_x = is_propagable_from(x_alloc, x.m_holder.start(), this_alloc, propagate_alloc);
2487
+
2488
+ //Resources can be transferred if both allocators are
2489
+ //going to be equal after this function (either propagated or already equal)
2490
+ if(is_propagable_from_x){
2491
+ this->clear();
2492
+ if(BOOST_LIKELY(!!this->m_holder.m_start))
2493
+ this->m_holder.deallocate(this->m_holder.m_start, this->m_holder.m_capacity);
2494
+ this->m_holder.steal_resources(x.m_holder);
2495
+ }
2496
+ //Else do a one by one move. Also, clear the source as users find confusing
2497
+ //elements are still alive in the source container.
2498
+ else{
2499
+ this->assign( boost::make_move_iterator(boost::movelib::iterator_to_raw_pointer(x.begin()))
2500
+ , boost::make_move_iterator(boost::movelib::iterator_to_raw_pointer(x.end() ))
2501
+ );
2502
+ x.clear();
2503
+ }
2504
+ //Move allocator if needed
2505
+ dtl::move_alloc(this_alloc, x_alloc, dtl::bool_<propagate_alloc>());
2506
+ }
2507
+
2508
+ template<class OtherA>
2509
+ void priv_copy_assign(const vector<T, OtherA, Options> &x
2510
+ , typename dtl::enable_if_c
2511
+ < dtl::is_version<typename real_allocator<T, OtherA>::type, 0>::value >::type * = 0)
2512
+ {
2513
+ if(!dtl::is_same<typename real_allocator<T, OtherA>::type, allocator_type>::value &&
2514
+ this->capacity() < x.size()){
2515
+ alloc_holder_t::on_capacity_overflow();
2516
+ }
2517
+ T* const this_start = this->priv_raw_begin();
2518
+ T* const other_start = x.priv_raw_begin();
2519
+ const size_type this_sz = m_holder.m_size;
2520
+ const size_type other_sz = static_cast<size_type>(x.m_holder.m_size);
2521
+ boost::container::copy_assign_range_alloc_n(this->m_holder.alloc(), other_start, other_sz, this_start, this_sz);
2522
+ m_holder.set_stored_size(other_sz);
2523
+ }
2524
+
2525
+ template<class OtherA>
2526
+ typename dtl::disable_if_or
2527
+ < void
2528
+ , dtl::is_version<typename real_allocator<T, OtherA>::type, 0>
2529
+ , dtl::is_different<typename real_allocator<T, OtherA>::type, allocator_type>
2530
+ >::type
2531
+ priv_copy_assign(const vector<T, OtherA, Options> &x)
2532
+ {
2533
+ allocator_type &this_alloc = this->m_holder.alloc();
2534
+ const allocator_type &x_alloc = x.m_holder.alloc();
2535
+ dtl::bool_<allocator_traits_type::
2536
+ propagate_on_container_copy_assignment::value> flag;
2537
+ if(flag && this_alloc != x_alloc){
2538
+ this->clear();
2539
+ this->shrink_to_fit();
2540
+ }
2541
+ dtl::assign_alloc(this_alloc, x_alloc, flag);
2542
+ this->assign( x.priv_raw_begin(), x.priv_raw_end() );
2543
+ }
2544
+
2545
+ template<class Vector> //Template it to avoid it in explicit instantiations
2546
+ BOOST_CONTAINER_FORCEINLINE void priv_swap(Vector &x, dtl::true_type) //version_0
2547
+ { this->m_holder.deep_swap(x.m_holder); }
2548
+
2549
+ template<class Vector> //Template it to avoid it in explicit instantiations
2550
+ void priv_swap(Vector &x, dtl::false_type) //version_N
2551
+ {
2552
+ const bool propagate_alloc = allocator_traits_type::propagate_on_container_swap::value;
2553
+ if (BOOST_UNLIKELY(&x == this)){
2554
+ return;
2555
+ }
2556
+ else if(are_swap_propagable( this->get_stored_allocator(), this->m_holder.start()
2557
+ , x.get_stored_allocator(), x.m_holder.start(), propagate_alloc)){
2558
+ //Just swap internals
2559
+ this->m_holder.swap_resources(x.m_holder);
2560
+ }
2561
+ else{
2562
+ //Else swap element by element...
2563
+ bool const t_smaller = this->size() < x.size();
2564
+ vector &sml = t_smaller ? *this : x;
2565
+ vector &big = t_smaller ? x : *this;
2566
+
2567
+ //For empty containers, maybe storage can be moved from the other (just like in the move constructor)
2568
+ if(sml.empty() && is_propagable_from(big.get_stored_allocator(), big.data(), sml.get_allocator(), propagate_alloc)){
2569
+ if(BOOST_LIKELY(0u != sml.capacity()))
2570
+ sml.m_holder.deallocate(sml.m_holder.m_start, sml.m_holder.m_capacity);
2571
+ sml.steal_resources(big);
2572
+ }
2573
+ else {
2574
+ //Else swap element by element...
2575
+ size_type const common_elements = sml.size();
2576
+ for(size_type i = 0; i != common_elements; ++i){
2577
+ boost::adl_move_swap(sml[i], big[i]);
2578
+ }
2579
+ //... and move-insert the remaining range
2580
+ sml.insert( sml.cend()
2581
+ , boost::make_move_iterator(boost::movelib::iterator_to_raw_pointer(big.nth(common_elements)))
2582
+ , boost::make_move_iterator(boost::movelib::iterator_to_raw_pointer(big.end()))
2583
+ );
2584
+ //Destroy remaining elements
2585
+ big.erase(big.nth(common_elements), big.cend());
2586
+ }
2587
+ }
2588
+ //And now swap the allocator
2589
+ dtl::swap_alloc(this->m_holder.alloc(), x.m_holder.alloc(), dtl::bool_<propagate_alloc>());
2590
+ }
2591
+
2592
+ BOOST_CONTAINER_FORCEINLINE void priv_move_to_new_buffer(size_type, version_0)
2593
+ { alloc_holder_t::on_capacity_overflow(); }
2594
+
2595
+ BOOST_CONTAINER_FORCEINLINE dtl::insert_range_proxy<allocator_type, boost::move_iterator<T*> > priv_dummy_empty_proxy()
2596
+ {
2597
+ return dtl::insert_range_proxy<allocator_type, boost::move_iterator<T*> >
2598
+ (::boost::make_move_iterator((T *)0));
2599
+ }
2600
+
2601
+ BOOST_CONTAINER_FORCEINLINE void priv_move_to_new_buffer(size_type new_cap, version_1)
2602
+ {
2603
+ //There is not enough memory, allocate a new buffer
2604
+ //Pass the hint so that allocators can take advantage of this.
2605
+ pointer const p = this->m_holder.allocate(new_cap);
2606
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
2607
+ ++this->num_alloc;
2608
+ #endif
2609
+ //We will reuse insert code, so create a dummy input iterator
2610
+ this->priv_insert_forward_range_new_allocation
2611
+ ( boost::movelib::to_raw_pointer(p), new_cap, this->priv_raw_end(), 0, this->priv_dummy_empty_proxy());
2612
+ }
2613
+
2614
+ void priv_move_to_new_buffer(size_type new_cap, version_2)
2615
+ {
2616
+ //There is not enough memory, allocate a new
2617
+ //buffer or expand the old one.
2618
+ bool same_buffer_start;
2619
+ size_type real_cap = 0;
2620
+ pointer reuse(this->m_holder.start());
2621
+ pointer const ret(this->m_holder.allocation_command(allocate_new | expand_fwd | expand_bwd, new_cap, real_cap = new_cap, reuse));
2622
+
2623
+ //Check for forward expansion
2624
+ same_buffer_start = reuse && this->m_holder.start() == ret;
2625
+ if(same_buffer_start){
2626
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
2627
+ ++this->num_expand_fwd;
2628
+ #endif
2629
+ this->m_holder.capacity(real_cap);
2630
+ }
2631
+ else{ //If there is no forward expansion, move objects, we will reuse insertion code
2632
+ T * const new_mem = boost::movelib::to_raw_pointer(ret);
2633
+ T * const ins_pos = this->priv_raw_end();
2634
+ if(reuse){ //Backwards (and possibly forward) expansion
2635
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
2636
+ ++this->num_expand_bwd;
2637
+ #endif
2638
+ this->priv_insert_forward_range_expand_backwards
2639
+ ( new_mem, real_cap, ins_pos, 0, this->priv_dummy_empty_proxy());
2640
+ }
2641
+ else{ //New buffer
2642
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
2643
+ ++this->num_alloc;
2644
+ #endif
2645
+ this->priv_insert_forward_range_new_allocation
2646
+ ( new_mem, real_cap, ins_pos, 0, this->priv_dummy_empty_proxy());
2647
+ }
2648
+ }
2649
+ }
2650
+
2651
+ void priv_destroy_last_n(const size_type n) BOOST_NOEXCEPT_OR_NOTHROW
2652
+ {
2653
+ BOOST_ASSERT(n <= this->m_holder.m_size);
2654
+ boost::container::destroy_alloc_n(this->get_stored_allocator(), this->priv_raw_end() - n, n);
2655
+ this->m_holder.dec_stored_size(n);
2656
+ }
2657
+
2658
+ template<class InpIt>
2659
+ void priv_uninitialized_construct_at_end(InpIt first, InpIt last)
2660
+ {
2661
+ T* const old_end_pos = this->priv_raw_end();
2662
+ T* const new_end_pos = boost::container::uninitialized_copy_alloc(this->m_holder.alloc(), first, last, old_end_pos);
2663
+ this->m_holder.inc_stored_size(static_cast<size_type>(new_end_pos - old_end_pos));
2664
+ }
2665
+
2666
+ void priv_destroy_all() BOOST_NOEXCEPT_OR_NOTHROW
2667
+ {
2668
+ boost::container::destroy_alloc_n
2669
+ (this->get_stored_allocator(), this->priv_raw_begin(), this->m_holder.m_size);
2670
+ this->m_holder.m_size = 0;
2671
+ }
2672
+
2673
+ template<class U>
2674
+ BOOST_CONTAINER_FORCEINLINE iterator priv_insert(const const_iterator &p, BOOST_FWD_REF(U) u)
2675
+ {
2676
+ return this->emplace(p, ::boost::forward<U>(u));
2677
+ }
2678
+
2679
+ template <class U>
2680
+ BOOST_CONTAINER_FORCEINLINE void priv_push_back(BOOST_FWD_REF(U) u)
2681
+ {
2682
+ this->emplace_back(::boost::forward<U>(u));
2683
+ }
2684
+
2685
+ //Overload to support compiler errors that instantiate too much
2686
+ BOOST_CONTAINER_FORCEINLINE void priv_push_back(::boost::move_detail::nat)
2687
+ {}
2688
+
2689
+ BOOST_CONTAINER_FORCEINLINE iterator priv_insert(const_iterator, ::boost::move_detail::nat)
2690
+ { return iterator(); }
2691
+
2692
+ BOOST_CONTAINER_FORCEINLINE dtl::insert_n_copies_proxy<allocator_type> priv_resize_proxy(const T &x)
2693
+ { return dtl::insert_n_copies_proxy<allocator_type>(x); }
2694
+
2695
+ BOOST_CONTAINER_FORCEINLINE dtl::insert_default_initialized_n_proxy<allocator_type> priv_resize_proxy(default_init_t)
2696
+ { return dtl::insert_default_initialized_n_proxy<allocator_type>(); }
2697
+
2698
+ BOOST_CONTAINER_FORCEINLINE dtl::insert_value_initialized_n_proxy<allocator_type> priv_resize_proxy(value_init_t)
2699
+ { return dtl::insert_value_initialized_n_proxy<allocator_type>(); }
2700
+
2701
+ BOOST_CONTAINER_FORCEINLINE void priv_shrink_to_fit(version_0) BOOST_NOEXCEPT_OR_NOTHROW
2702
+ {}
2703
+
2704
+ void priv_shrink_to_fit(version_1)
2705
+ {
2706
+ const size_type cp = this->m_holder.capacity();
2707
+ if(cp){
2708
+ const size_type sz = this->size();
2709
+ if(!sz){
2710
+ if(BOOST_LIKELY(!!this->m_holder.m_start))
2711
+ this->m_holder.deallocate(this->m_holder.m_start, cp);
2712
+ this->m_holder.m_start = pointer();
2713
+ this->m_holder.m_capacity = 0;
2714
+ }
2715
+ else if(sz < cp){
2716
+ this->priv_move_to_new_buffer(sz, alloc_version());
2717
+ }
2718
+ }
2719
+ }
2720
+
2721
+ void priv_shrink_to_fit(version_2) BOOST_NOEXCEPT_OR_NOTHROW
2722
+ {
2723
+ const size_type cp = this->m_holder.capacity();
2724
+ if(cp){
2725
+ const size_type sz = this->size();
2726
+ if(!sz){
2727
+ if(BOOST_LIKELY(!!this->m_holder.m_start))
2728
+ this->m_holder.deallocate(this->m_holder.m_start, cp);
2729
+ this->m_holder.m_start = pointer();
2730
+ this->m_holder.m_capacity = 0;
2731
+ }
2732
+ else{
2733
+ size_type received_size = sz;
2734
+ pointer reuse(this->m_holder.start());
2735
+ if(this->m_holder.allocation_command
2736
+ (shrink_in_place | nothrow_allocation, cp, received_size, reuse)){
2737
+ this->m_holder.capacity(received_size);
2738
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
2739
+ ++this->num_shrink;
2740
+ #endif
2741
+ }
2742
+ }
2743
+ }
2744
+ }
2745
+
2746
+ template <class InsertionProxy>
2747
+ BOOST_CONTAINER_FORCEINLINE iterator priv_insert_forward_range_no_capacity
2748
+ (T * const, const size_type, const InsertionProxy , version_0)
2749
+ {
2750
+ return alloc_holder_t::on_capacity_overflow(), iterator();
2751
+ }
2752
+
2753
+ template <class InsertionProxy>
2754
+ BOOST_CONTAINER_NOINLINE iterator priv_insert_forward_range_no_capacity
2755
+ (T *const raw_pos, const size_type n, const InsertionProxy insert_range_proxy, version_1)
2756
+ {
2757
+ //Check if we have enough memory or try to expand current memory
2758
+ const size_type n_pos = static_cast<size_type>(raw_pos - this->priv_raw_begin());
2759
+
2760
+ const size_type new_cap = this->m_holder.template next_capacity<growth_factor_type>(n);
2761
+ //Pass the hint so that allocators can take advantage of this.
2762
+ T * const new_buf = boost::movelib::to_raw_pointer(this->m_holder.allocate(new_cap));
2763
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
2764
+ ++this->num_alloc;
2765
+ #endif
2766
+ this->priv_insert_forward_range_new_allocation(new_buf, new_cap, raw_pos, n, insert_range_proxy);
2767
+ return iterator(this->m_holder.start() + difference_type(n_pos));
2768
+ }
2769
+
2770
+ template <class InsertionProxy>
2771
+ BOOST_CONTAINER_NOINLINE iterator priv_insert_forward_range_no_capacity
2772
+ (T *const raw_pos, const size_type n, const InsertionProxy insert_range_proxy, version_2)
2773
+ {
2774
+ //Check if we have enough memory or try to expand current memory
2775
+ const size_type n_pos = size_type(raw_pos - this->priv_raw_begin());
2776
+
2777
+ //There is not enough memory, allocate a new
2778
+ //buffer or expand the old one.
2779
+ size_type real_cap = this->m_holder.template next_capacity<growth_factor_type>(n);
2780
+ pointer reuse(this->m_holder.start());
2781
+ pointer const ret (this->m_holder.allocation_command
2782
+ (allocate_new | expand_fwd | expand_bwd, size_type(this->m_holder.m_size + n), real_cap, reuse));
2783
+
2784
+ //Buffer reallocated
2785
+ if(reuse){
2786
+ //Forward expansion, delay insertion
2787
+ if(this->m_holder.start() == ret){
2788
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
2789
+ ++this->num_expand_fwd;
2790
+ #endif
2791
+ this->m_holder.capacity(real_cap);
2792
+ //Expand forward
2793
+ this->priv_insert_forward_range_expand_forward
2794
+ (raw_pos, n, insert_range_proxy, dtl::bool_<dtl::is_single_value_proxy<InsertionProxy>::value>());
2795
+ }
2796
+ //Backwards (and possibly forward) expansion
2797
+ else{
2798
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
2799
+ ++this->num_expand_bwd;
2800
+ #endif
2801
+ this->priv_insert_forward_range_expand_backwards
2802
+ (boost::movelib::to_raw_pointer(ret), real_cap, raw_pos, n, insert_range_proxy);
2803
+ }
2804
+ }
2805
+ //New buffer
2806
+ else{
2807
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
2808
+ ++this->num_alloc;
2809
+ #endif
2810
+ this->priv_insert_forward_range_new_allocation
2811
+ ( boost::movelib::to_raw_pointer(ret), real_cap, raw_pos, n, insert_range_proxy);
2812
+ }
2813
+
2814
+ return iterator(this->m_holder.start() + (difference_type)(n_pos));
2815
+ }
2816
+
2817
+ template <class InsertionProxy>
2818
+ BOOST_CONTAINER_FORCEINLINE iterator priv_insert_forward_range
2819
+ (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy)
2820
+ {
2821
+ BOOST_ASSERT(this->m_holder.capacity() >= this->m_holder.m_size);
2822
+ T *const p = boost::movelib::to_raw_pointer(pos);
2823
+ //Check if we have enough memory or try to expand current memory
2824
+ if (BOOST_LIKELY(n <= (this->m_holder.capacity() - this->m_holder.m_size))){
2825
+ //Expand forward
2826
+ this->priv_insert_forward_range_expand_forward
2827
+ (p, n, insert_range_proxy, dtl::bool_<dtl::is_single_value_proxy<InsertionProxy>::value>());
2828
+ return iterator(pos);
2829
+ }
2830
+ else{
2831
+ return this->priv_insert_forward_range_no_capacity(p, n, insert_range_proxy, alloc_version());
2832
+ }
2833
+ }
2834
+
2835
+ template <class U>
2836
+ void priv_resize(const size_type new_size, const U &u, version_0)
2837
+ {
2838
+ const size_type sz = this->m_holder.m_size;
2839
+ if (new_size > this->capacity()){
2840
+ //This will trigger an error
2841
+ alloc_holder_t::on_capacity_overflow();
2842
+ }
2843
+ else if (new_size < sz){
2844
+ //Destroy last elements
2845
+ this->priv_destroy_last_n(sz - new_size);
2846
+ }
2847
+ else{
2848
+ T* const old_finish = this->priv_raw_end();
2849
+ this->priv_resize_proxy(u).uninitialized_copy_n_and_update(this->m_holder.alloc(), old_finish, new_size - sz);
2850
+ this->m_holder.set_stored_size(new_size);
2851
+ }
2852
+ }
2853
+
2854
+ template <class U, class AllocVersion>
2855
+ void priv_resize(const size_type new_size, const U &u, AllocVersion)
2856
+ {
2857
+ const size_type sz = this->m_holder.m_size;
2858
+ if (new_size < sz){
2859
+ //Destroy last elements
2860
+ this->priv_destroy_last_n(size_type(sz - new_size));
2861
+ }
2862
+ else {
2863
+ this->priv_insert_forward_range(this->back_ptr(), size_type(new_size - sz), this->priv_resize_proxy(u));
2864
+ }
2865
+ }
2866
+
2867
+ //Takes the range pointed by [first_pos, last_pos) and shifts it to the right
2868
+ //by 'shift_count'. 'limit_pos' marks the end of constructed elements.
2869
+ //
2870
+ //Precondition: first_pos <= last_pos <= limit_pos
2871
+ //
2872
+ //The shift operation might cross limit_pos so elements to moved beyond limit_pos
2873
+ //are uninitialized_moved with an allocator. Other elements are moved.
2874
+ //
2875
+ //The shift operation might left uninitialized elements after limit_pos
2876
+ //and the number of uninitialized elements is returned by the function.
2877
+ //
2878
+ //Old situation:
2879
+ // first_pos last_pos old_limit
2880
+ // | | |
2881
+ // ____________V_______V__________________V_____________
2882
+ //| prefix | range | suffix |raw_mem ~
2883
+ //|____________|_______|__________________|_____________~
2884
+ //
2885
+ //New situation in Case A (hole_size == 0):
2886
+ // range is moved through move assignments
2887
+ //
2888
+ // first_pos last_pos limit_pos
2889
+ // | | |
2890
+ // ____________V_______V__________________V_____________
2891
+ //| prefix' | | | range |suffix'|raw_mem ~
2892
+ //|________________+______|___^___|_______|_____________~
2893
+ // | |
2894
+ // |_>_>_>_>_>^
2895
+ //
2896
+ //
2897
+ //New situation in Case B (hole_size >= 0):
2898
+ // range is moved through uninitialized moves
2899
+ //
2900
+ // first_pos last_pos limit_pos
2901
+ // | | |
2902
+ // ____________V_______V__________________V________________
2903
+ //| prefix' | | | [hole] | range |
2904
+ //|_______________________________________|________|___^___|
2905
+ // | |
2906
+ // |_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_^
2907
+ //
2908
+ //New situation in Case C (hole_size == 0):
2909
+ // range is moved through move assignments and uninitialized moves
2910
+ //
2911
+ // first_pos last_pos limit_pos
2912
+ // | | |
2913
+ // ____________V_______V__________________V___
2914
+ //| prefix' | | | range |
2915
+ //|___________________________________|___^___|
2916
+ // | |
2917
+ // |_>_>_>_>_>_>_>_>_>_>_>^
2918
+ size_type priv_insert_ordered_at_shift_range
2919
+ (size_type first_pos, size_type last_pos, size_type limit_pos, size_type shift_count)
2920
+ {
2921
+ BOOST_ASSERT(first_pos <= last_pos);
2922
+ BOOST_ASSERT(last_pos <= limit_pos);
2923
+ //
2924
+ T* const begin_ptr = this->priv_raw_begin();
2925
+ T* const first_ptr = begin_ptr + first_pos;
2926
+ T* const last_ptr = begin_ptr + last_pos;
2927
+
2928
+ size_type hole_size = 0;
2929
+ //Case A:
2930
+ if((last_pos + shift_count) <= limit_pos){
2931
+ //All move assigned
2932
+ boost::container::move_backward(first_ptr, last_ptr, last_ptr + shift_count);
2933
+ }
2934
+ //Case B:
2935
+ else if((first_pos + shift_count) >= limit_pos){
2936
+ //All uninitialized_moved
2937
+ ::boost::container::uninitialized_move_alloc
2938
+ (this->m_holder.alloc(), first_ptr, last_ptr, first_ptr + shift_count);
2939
+ //Cast in case size_type is narrower than int, promotions are applied
2940
+ //and Wconversion is in place
2941
+ hole_size = static_cast<size_type>(first_pos + shift_count - limit_pos);
2942
+ }
2943
+ //Case C:
2944
+ else{
2945
+ //Some uninitialized_moved
2946
+ T* const limit_ptr = begin_ptr + limit_pos;
2947
+ T* const boundary_ptr = limit_ptr - shift_count;
2948
+ ::boost::container::uninitialized_move_alloc(this->m_holder.alloc(), boundary_ptr, last_ptr, limit_ptr);
2949
+ //The rest is move assigned
2950
+ boost::container::move_backward(first_ptr, boundary_ptr, limit_ptr);
2951
+ }
2952
+ return hole_size;
2953
+ }
2954
+
2955
+ private:
2956
+ BOOST_CONTAINER_FORCEINLINE T *priv_raw_begin() const
2957
+ { return boost::movelib::to_raw_pointer(m_holder.start()); }
2958
+
2959
+ BOOST_CONTAINER_FORCEINLINE T* priv_raw_end() const
2960
+ { return this->priv_raw_begin() + this->m_holder.m_size; }
2961
+
2962
+ template <class InsertionProxy> //inline single-element version as it is significantly smaller
2963
+ BOOST_CONTAINER_FORCEINLINE void priv_insert_forward_range_expand_forward
2964
+ (T* const raw_pos, const size_type, InsertionProxy insert_range_proxy, dtl::true_type)
2965
+ {
2966
+ BOOST_ASSERT(this->room_enough());
2967
+ //There is enough memory
2968
+ T* const old_finish = this->priv_raw_end();
2969
+ allocator_type & a = this->m_holder.alloc();
2970
+
2971
+ if (old_finish == raw_pos){
2972
+ insert_range_proxy.uninitialized_copy_n_and_update(a, old_finish, 1);
2973
+ ++this->m_holder.m_size;
2974
+ }
2975
+ else{
2976
+ //New elements can be just copied.
2977
+ //Move to uninitialized memory last objects
2978
+ T * const before_old_finish = old_finish-1;
2979
+
2980
+ allocator_traits_type::construct(a, old_finish, ::boost::move(*before_old_finish));
2981
+ ++this->m_holder.m_size;
2982
+ //Copy previous to last objects to the initialized end
2983
+ boost::container::move_backward(raw_pos, before_old_finish, old_finish);
2984
+ //Insert new objects in the raw_pos
2985
+ insert_range_proxy.copy_n_and_update(a, raw_pos, 1);
2986
+ }
2987
+ }
2988
+
2989
+ template <class InsertionProxy>
2990
+ BOOST_CONTAINER_FORCEINLINE void priv_insert_forward_range_expand_forward
2991
+ (T* const raw_pos, const size_type n, InsertionProxy insert_range_proxy, dtl::false_type)
2992
+ {
2993
+ //There is enough memory
2994
+ boost::container::expand_forward_and_insert_alloc
2995
+ ( this->m_holder.alloc(), raw_pos, this->priv_raw_end(), n, insert_range_proxy);
2996
+ this->m_holder.inc_stored_size(n);
2997
+ }
2998
+
2999
+ template <class InsertionProxy>
3000
+ void priv_insert_forward_range_new_allocation
3001
+ (T* const new_start, size_type new_cap, T* const pos, const size_type n, InsertionProxy insert_range_proxy)
3002
+ {
3003
+ //n can be zero, if we want to reallocate!
3004
+ allocator_type &a = this->m_holder.alloc();
3005
+ T * const raw_old_buffer = this->priv_raw_begin();
3006
+
3007
+ typename value_traits::ArrayDeallocator new_buffer_deallocator(new_start, a, new_cap);
3008
+ boost::container::uninitialized_move_and_insert_alloc
3009
+ (a, raw_old_buffer, pos, this->priv_raw_end(), new_start, n, insert_range_proxy);
3010
+ new_buffer_deallocator.release();
3011
+
3012
+ //Destroy and deallocate old elements
3013
+ if(raw_old_buffer){
3014
+ BOOST_IF_CONSTEXPR(!has_trivial_destructor_after_move<value_type>::value)
3015
+ boost::container::destroy_alloc_n(a, raw_old_buffer, this->m_holder.m_size);
3016
+ this->m_holder.deallocate(this->m_holder.start(), this->m_holder.capacity());
3017
+ }
3018
+
3019
+ this->m_holder.start(new_start);
3020
+ this->m_holder.inc_stored_size(n);
3021
+ this->m_holder.capacity(new_cap);
3022
+ }
3023
+
3024
+ template <class InsertionProxy>
3025
+ void priv_insert_forward_range_expand_backwards
3026
+ (T* const new_start, const size_type new_capacity,
3027
+ T* const pos, const size_type n, InsertionProxy insert_range_proxy)
3028
+ {
3029
+ T* const old_start = this->priv_raw_begin();
3030
+ const size_type old_size = this->m_holder.m_size;
3031
+ allocator_type& a = this->m_holder.alloc();
3032
+
3033
+ //Update the vector buffer information to a safe state
3034
+ this->m_holder.start(new_start);
3035
+ this->m_holder.capacity(new_capacity);
3036
+ this->m_holder.m_size = 0;
3037
+
3038
+ expand_backward_forward_and_insert_alloc(old_start, old_size, new_start, pos, n, insert_range_proxy, a);
3039
+
3040
+ //Update the vector buffer information to a safe state
3041
+ this->m_holder.m_size = stored_size_type(old_size + n);
3042
+ }
3043
+
3044
+ void priv_throw_if_out_of_range(size_type n) const
3045
+ {
3046
+ //If n is out of range, throw an out_of_range exception
3047
+ if (n >= this->size()){
3048
+ throw_out_of_range("vector::at out of range");
3049
+ }
3050
+ }
3051
+
3052
+ BOOST_CONTAINER_FORCEINLINE bool priv_in_range(const_iterator pos) const
3053
+ {
3054
+ return (this->begin() <= pos) && (pos < this->end());
3055
+ }
3056
+
3057
+ BOOST_CONTAINER_FORCEINLINE bool priv_in_range_or_end(const_iterator pos) const
3058
+ {
3059
+ return (this->begin() <= pos) && (pos <= this->end());
3060
+ }
3061
+
3062
+ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS
3063
+ public:
3064
+ unsigned int num_expand_fwd;
3065
+ unsigned int num_expand_bwd;
3066
+ unsigned int num_shrink;
3067
+ unsigned int num_alloc;
3068
+ void reset_alloc_stats()
3069
+ { num_expand_fwd = num_expand_bwd = num_alloc = 0, num_shrink = 0; }
3070
+ #endif
3071
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
3072
+ };
3073
+
3074
+ #ifndef BOOST_CONTAINER_NO_CXX17_CTAD
3075
+
3076
+ template <typename InputIterator>
3077
+ vector(InputIterator, InputIterator) ->
3078
+ vector<typename iter_value<InputIterator>::type>;
3079
+
3080
+ template <typename InputIterator, typename Allocator>
3081
+ vector(InputIterator, InputIterator, Allocator const&) ->
3082
+ vector<typename iter_value<InputIterator>::type, Allocator>;
3083
+
3084
+ #endif
3085
+
3086
+
3087
+ }} //namespace boost::container
3088
+
3089
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
3090
+
3091
+ namespace boost {
3092
+
3093
+ //!has_trivial_destructor_after_move<> == true_type
3094
+ //!specialization for optimizations
3095
+ template <class T, class Allocator, class Options>
3096
+ struct has_trivial_destructor_after_move<boost::container::vector<T, Allocator, Options> >
3097
+ {
3098
+ typedef typename boost::container::vector<T, Allocator, Options>::allocator_type allocator_type;
3099
+ typedef typename ::boost::container::allocator_traits<allocator_type>::pointer pointer;
3100
+ static const bool value = ::boost::has_trivial_destructor_after_move<allocator_type>::value &&
3101
+ ::boost::has_trivial_destructor_after_move<pointer>::value;
3102
+ };
3103
+
3104
+ }
3105
+
3106
+ //See comments on vec_iterator::element_type to know why is this needed
3107
+ #ifdef BOOST_GNU_STDLIB
3108
+
3109
+ BOOST_MOVE_STD_NS_BEG
3110
+
3111
+ template <class Pointer, bool IsConst>
3112
+ struct pointer_traits< boost::container::vec_iterator<Pointer, IsConst> >
3113
+ : public boost::intrusive::pointer_traits< boost::container::vec_iterator<Pointer, IsConst> >
3114
+ {};
3115
+
3116
+ BOOST_MOVE_STD_NS_END
3117
+
3118
+ #endif //BOOST_GNU_STDLIB
3119
+
3120
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
3121
+
3122
+ #include <boost/container/detail/config_end.hpp>
3123
+
3124
+ #endif // #ifndef BOOST_CONTAINER_CONTAINER_VECTOR_HPP