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,2965 @@
1
+ //////////////////////////////////////////////////////////////////////////////
2
+ //
3
+ // (C) Copyright Benedek Thaler 2015-2016
4
+ // (C) Copyright Ion Gaztanaga 2019-2020. Distributed under the Boost
5
+ // Software License, Version 1.0. (See accompanying file
6
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7
+ //
8
+ // See http://www.boost.org/libs/container for documentation.
9
+ //
10
+ //////////////////////////////////////////////////////////////////////////////
11
+
12
+ #ifndef BOOST_CONTAINER_DEVECTOR_HPP
13
+ #define BOOST_CONTAINER_DEVECTOR_HPP
14
+
15
+ #include <boost/container/detail/config_begin.hpp>
16
+ #include <boost/container/detail/workaround.hpp>
17
+
18
+ //#include <algorithm>
19
+ #include <cstring> // memcpy
20
+
21
+ #include <boost/assert.hpp>
22
+ #include <boost/type_traits/aligned_storage.hpp>
23
+
24
+ #include <boost/container/detail/copy_move_algo.hpp>
25
+ #include <boost/container/new_allocator.hpp> //new_allocator
26
+ #include <boost/container/allocator_traits.hpp> //allocator_traits
27
+ #include <boost/container/detail/algorithm.hpp> //equal()
28
+ #include <boost/container/throw_exception.hpp>
29
+ #include <boost/container/options.hpp>
30
+
31
+ #include <boost/container/detail/guards_dended.hpp>
32
+ #include <boost/container/detail/iterator.hpp>
33
+ #include <boost/container/detail/iterators.hpp>
34
+ #include <boost/container/detail/destroyers.hpp>
35
+ #include <boost/container/detail/min_max.hpp>
36
+ #include <boost/container/detail/next_capacity.hpp>
37
+ #include <boost/container/detail/alloc_helpers.hpp>
38
+ #include <boost/container/detail/advanced_insert_int.hpp>
39
+
40
+ // move
41
+ #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
42
+ #include <boost/move/detail/fwd_macros.hpp>
43
+ #endif
44
+ #include <boost/move/detail/move_helpers.hpp>
45
+ #include <boost/move/adl_move_swap.hpp>
46
+ #include <boost/move/iterator.hpp>
47
+ #include <boost/move/traits.hpp>
48
+ #include <boost/move/utility_core.hpp>
49
+ #include <boost/move/detail/to_raw_pointer.hpp>
50
+ #include <boost/move/algo/detail/merge.hpp>
51
+ #include <boost/move/detail/force_ptr.hpp>
52
+
53
+ #include <boost/type_traits/is_nothrow_move_constructible.hpp>
54
+
55
+ //std
56
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
57
+ #include <initializer_list> //for std::initializer_list
58
+ #endif
59
+
60
+ namespace boost {
61
+ namespace container {
62
+
63
+ #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
64
+
65
+ struct growth_factor_60;
66
+
67
+ template<class Options, class AllocatorSizeType>
68
+ struct get_devector_opt
69
+ {
70
+ typedef devector_opt< typename default_if_void<typename Options::growth_factor_type, growth_factor_60>::type
71
+ , typename default_if_void<typename Options::stored_size_type, AllocatorSizeType>::type
72
+ , default_if_zero<Options::free_fraction, relocate_on_90::value>::value
73
+ > type;
74
+ };
75
+
76
+ template<class AllocatorSizeType>
77
+ struct get_devector_opt<void, AllocatorSizeType>
78
+ {
79
+ typedef devector_opt< growth_factor_60, AllocatorSizeType, relocate_on_90::value> type;
80
+ };
81
+
82
+ #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
83
+
84
+ struct reserve_only_tag_t {};
85
+ struct reserve_uninitialized_t {};
86
+ struct review_implementation_t {};
87
+
88
+ //struct unsafe_uninitialized_tag_t {};
89
+
90
+ /**
91
+ * A vector-like sequence container providing front and back operations
92
+ * (e.g: `push_front`/`pop_front`/`push_back`/`pop_back`) with amortized constant complexity.
93
+ *
94
+ * Models the [SequenceContainer], [ReversibleContainer], and [AllocatorAwareContainer] concepts.
95
+ *
96
+ * **Requires**:
97
+ * - `T` shall be [MoveInsertable] into the devector.
98
+ * - `T` shall be [Erasable] from any `devector<T, allocator_type, GP>`.
99
+ * - `GrowthFactor`, and `Allocator` must model the concepts with the same names or be void.
100
+ *
101
+ * **Definition**: `T` is `NothrowConstructible` if it's either nothrow move constructible or
102
+ * nothrow copy constructible.
103
+ *
104
+ * **Definition**: `T` is `NothrowAssignable` if it's either nothrow move assignable or
105
+ * nothrow copy assignable.
106
+ *
107
+ * **Exceptions**: The exception specifications assume `T` is nothrow [Destructible].
108
+ *
109
+ * Most methods providing the strong exception guarantee assume `T` either has a move
110
+ * constructor marked noexcept or is [CopyInsertable] into the devector. If it isn't true,
111
+ * and the move constructor throws, the guarantee is waived and the effects are unspecified.
112
+ *
113
+ * In addition to the exceptions specified in the **Throws** clause, the following operations
114
+ * of `T` can throw when any of the specified concept is required:
115
+ * - [DefaultInsertable][]: Default constructor
116
+ * - [MoveInsertable][]: Move constructor
117
+ * - [CopyInsertable][]: Copy constructor
118
+ * - [DefaultConstructible][]: Default constructor
119
+ * - [EmplaceConstructible][]: Constructor selected by the given arguments
120
+ * - [MoveAssignable][]: Move assignment operator
121
+ * - [CopyAssignable][]: Copy assignment operator
122
+ *
123
+ * Furthermore, not `noexcept` methods throws whatever the allocator throws
124
+ * if memory allocation fails. Such methods also throw `length_error` if the capacity
125
+ * exceeds `max_size()`.
126
+ *
127
+ * **Remark**: If a method invalidates some iterators, it also invalidates references
128
+ * and pointers to the elements pointed by the invalidated iterators.
129
+ *
130
+ *! \tparam Options A type produced from \c boost::container::devector_options.
131
+ *
132
+ * [SequenceContainer]: http://en.cppreference.com/w/cpp/concept/SequenceContainer
133
+ * [ReversibleContainer]: http://en.cppreference.com/w/cpp/concept/ReversibleContainer
134
+ * [AllocatorAwareContainer]: http://en.cppreference.com/w/cpp/concept/AllocatorAwareContainer
135
+ * [DefaultInsertable]: http://en.cppreference.com/w/cpp/concept/DefaultInsertable
136
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
137
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
138
+ * [Erasable]: http://en.cppreference.com/w/cpp/concept/Erasable
139
+ * [DefaultConstructible]: http://en.cppreference.com/w/cpp/concept/DefaultConstructible
140
+ * [Destructible]: http://en.cppreference.com/w/cpp/concept/Destructible
141
+ * [EmplaceConstructible]: http://en.cppreference.com/w/cpp/concept/EmplaceConstructible
142
+ * [MoveAssignable]: http://en.cppreference.com/w/cpp/concept/MoveAssignable
143
+ * [CopyAssignable]: http://en.cppreference.com/w/cpp/concept/CopyAssignable
144
+ */
145
+ template < typename T, class A BOOST_CONTAINER_DOCONLY(= void), class Options BOOST_CONTAINER_DOCONLY(= void)>
146
+ class devector
147
+ {
148
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
149
+ typedef boost::container::allocator_traits
150
+ <typename real_allocator<T, A>::type> allocator_traits_type;
151
+ typedef typename allocator_traits_type::size_type alloc_size_type;
152
+ typedef typename get_devector_opt<Options, alloc_size_type>::type options_type;
153
+ typedef typename options_type::growth_factor_type growth_factor_type;
154
+ typedef typename options_type::stored_size_type stored_size_type;
155
+ static const std::size_t devector_min_free_fraction =
156
+ options_type::free_fraction;
157
+
158
+ #endif // ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
159
+
160
+ public:
161
+ // Standard Interface Types:
162
+ typedef T value_type;
163
+ typedef BOOST_CONTAINER_IMPDEF
164
+ (typename real_allocator<T BOOST_MOVE_I A>::type) allocator_type;
165
+ typedef allocator_type stored_allocator_type;
166
+ typedef typename allocator_traits<allocator_type>::pointer pointer;
167
+ typedef typename allocator_traits<allocator_type>::const_pointer const_pointer;
168
+ typedef typename allocator_traits<allocator_type>::reference reference;
169
+ typedef typename allocator_traits<allocator_type>::const_reference const_reference;
170
+ typedef typename allocator_traits<allocator_type>::size_type size_type;
171
+ typedef typename allocator_traits<allocator_type>::difference_type difference_type;
172
+ typedef pointer iterator;
173
+ typedef const_pointer const_iterator;
174
+ typedef BOOST_CONTAINER_IMPDEF
175
+ (boost::container::reverse_iterator<iterator>) reverse_iterator;
176
+ typedef BOOST_CONTAINER_IMPDEF
177
+ (boost::container::reverse_iterator<const_iterator>) const_reverse_iterator;
178
+
179
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
180
+ private:
181
+ BOOST_COPYABLE_AND_MOVABLE(devector)
182
+
183
+ // Guard to deallocate buffer on exception
184
+ typedef typename detail::allocation_guard<allocator_type> allocation_guard;
185
+
186
+ // Random access pseudo iterator always yielding to the same result
187
+ typedef constant_iterator<T> cvalue_iterator;
188
+
189
+ static size_type to_internal_capacity(size_type desired_capacity)
190
+ {
191
+ const size_type rounder = devector_min_free_fraction - 2u;
192
+ const size_type divisor = devector_min_free_fraction - 1u;
193
+ size_type const nc = ((desired_capacity + rounder) / divisor) * devector_min_free_fraction;
194
+ BOOST_ASSERT(desired_capacity <= (nc - nc / devector_min_free_fraction));
195
+ return nc;
196
+ }
197
+
198
+ #endif // ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
199
+
200
+ // Standard Interface
201
+ public:
202
+ // construct/copy/destroy
203
+
204
+ /**
205
+ * **Effects**: Constructs an empty devector.
206
+ *
207
+ * **Postcondition**: `empty() && front_free_capacity() == 0
208
+ * && back_free_capacity() == 0`.
209
+ *
210
+ * **Complexity**: Constant.
211
+ */
212
+ devector() BOOST_NOEXCEPT
213
+ : m_()
214
+ {}
215
+
216
+ /**
217
+ * **Effects**: Constructs an empty devector, using the specified allocator.
218
+ *
219
+ * **Postcondition**: `empty() && front_free_capacity() == 0
220
+ * && back_free_capacity() == 0`.
221
+ *
222
+ * **Complexity**: Constant.
223
+ */
224
+ explicit devector(const allocator_type& allocator) BOOST_NOEXCEPT
225
+ : m_(allocator)
226
+ {}
227
+
228
+ /**
229
+ * **Effects**: Constructs an empty devector, using the specified allocator
230
+ * and reserves `n` slots as if `reserve(n)` was called.
231
+ *
232
+ * **Postcondition**: `empty() && capacity() >= n`.
233
+ *
234
+ * **Exceptions**: Strong exception guarantee.
235
+ *
236
+ * **Complexity**: Constant.
237
+ */
238
+ devector(size_type n, reserve_only_tag_t, const allocator_type& allocator = allocator_type())
239
+ : m_(reserve_only_tag_t(), allocator, to_internal_capacity(n))
240
+ {}
241
+
242
+ /**
243
+ * **Effects**: Constructs an empty devector, using the specified allocator
244
+ * and reserves at least `front_free_cap + back_free_cap` slots as if `reserve_front(front_cap)` and
245
+ * `reserve_back(back_cap)` was called.
246
+ *
247
+ * **Postcondition**: `empty() && front_free_capacity() >= front_free_cap
248
+ * && back_free_capacity() >= back_free_cap`.
249
+ *
250
+ * **Exceptions**: Strong exception guarantee.
251
+ *
252
+ * **Complexity**: Constant.
253
+ */
254
+ devector(size_type front_free_cap, size_type back_free_cap, reserve_only_tag_t, const allocator_type& allocator = allocator_type())
255
+ : m_(reserve_only_tag_t(), allocator, front_free_cap, back_free_cap)
256
+ {}
257
+
258
+ /**
259
+ * [DefaultInsertable]: http://en.cppreference.com/w/cpp/concept/DefaultInsertable
260
+ *
261
+ * **Effects**: Constructs a devector with `n` value_initialized elements using the specified allocator.
262
+ *
263
+ * **Requires**: `T` shall be [DefaultInsertable] into `*this`.
264
+ *
265
+ * **Postcondition**: `size() == n`.
266
+ *
267
+ * **Exceptions**: Strong exception guarantee.
268
+ *
269
+ * **Complexity**: Linear in `n`.
270
+ */
271
+ explicit devector(size_type n, const allocator_type& allocator = allocator_type())
272
+ : m_(reserve_uninitialized_t(), allocator, n)
273
+ {
274
+ allocation_guard buffer_guard(m_.buffer, m_.capacity, get_allocator_ref());
275
+ boost::container::uninitialized_value_init_alloc_n(get_allocator_ref(), n, this->priv_raw_begin());
276
+ buffer_guard.release();
277
+ BOOST_ASSERT(invariants_ok());
278
+ }
279
+
280
+ /**
281
+ * **Effects**: Constructs a devector with `n` default-initialized elements using the specified allocator.
282
+ *
283
+ * **Requires**: `T` shall be [DefaultInsertable] into `*this`.
284
+ *
285
+ * **Postcondition**: `size() == n`.
286
+ *
287
+ * **Exceptions**: Strong exception guarantee.
288
+ *
289
+ * **Complexity**: Linear in `n`.
290
+ */
291
+ explicit devector(size_type n, default_init_t, const allocator_type& allocator = allocator_type())
292
+ : m_(reserve_uninitialized_t(), allocator, n)
293
+ {
294
+ allocation_guard buffer_guard(m_.buffer, m_.capacity, get_allocator_ref());
295
+ boost::container::uninitialized_default_init_alloc_n(get_allocator_ref(), n, this->priv_raw_begin());
296
+ buffer_guard.release();
297
+ BOOST_ASSERT(invariants_ok());
298
+ }
299
+
300
+ /**
301
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
302
+ *
303
+ * **Effects**: Constructs a devector with `n` copies of `value`, using the specified allocator.
304
+ *
305
+ * **Requires**: `T` shall be [CopyInsertable] into `*this`.
306
+ *
307
+ * **Postcondition**: `size() == n`.
308
+ *
309
+ * **Exceptions**: Strong exception guarantee.
310
+ *
311
+ * **Complexity**: Linear in `n`.
312
+ */
313
+ devector(size_type n, const T& value, const allocator_type& allocator = allocator_type())
314
+ : m_(reserve_uninitialized_t(), allocator, n)
315
+ {
316
+ construct_from_range(cvalue_iterator(value, n), cvalue_iterator());
317
+ BOOST_ASSERT(invariants_ok());
318
+ }
319
+
320
+ /**
321
+ * **Effects**: Constructs a devector equal to the range `[first,last)`, using the specified allocator.
322
+ *
323
+ * **Requires**: `T` shall be [EmplaceConstructible] into `*this` from `*first`. If the specified
324
+ * iterator does not meet the forward iterator requirements, `T` shall also be [MoveInsertable]
325
+ * into `*this`.
326
+ *
327
+ * **Postcondition**: `size() == boost::container::iterator_distance(first, last)
328
+ *
329
+ * **Exceptions**: Strong exception guarantee.
330
+ *
331
+ * **Complexity**: Makes only `N` calls to the copy constructor of `T` (where `N` is the distance between `first`
332
+ * and `last`), at most one allocation and no reallocations if iterators first and last are of forward,
333
+ * bidirectional, or random access categories. It makes `O(N)` calls to the copy constructor of `T`
334
+ * and `O(log(N)) reallocations if they are just input iterators.
335
+ *
336
+ * **Remarks**: Each iterator in the range `[first,last)` shall be dereferenced exactly once,
337
+ * unless an exception is thrown.
338
+ *
339
+ * [EmplaceConstructible]: http://en.cppreference.com/w/cpp/concept/EmplaceConstructible
340
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
341
+ */
342
+ template <class InputIterator>
343
+ devector(InputIterator first, InputIterator last, const allocator_type& allocator = allocator_type()
344
+ //Input iterators
345
+ BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_or
346
+ < void
347
+ BOOST_MOVE_I dtl::is_convertible<InputIterator BOOST_MOVE_I size_type>
348
+ BOOST_MOVE_I dtl::is_not_input_iterator<InputIterator>
349
+ >::type * = 0)
350
+ )
351
+ : m_(allocator)
352
+ {
353
+ BOOST_TRY{
354
+ while (first != last) {
355
+ this->emplace_back(*first++);
356
+ }
357
+ BOOST_ASSERT(invariants_ok());
358
+ }
359
+ BOOST_CATCH(...){
360
+ this->destroy_elements(m_.buffer + m_.front_idx, m_.buffer + m_.back_idx);
361
+ this->deallocate_buffer();
362
+ }
363
+ BOOST_CATCH_END
364
+ }
365
+
366
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
367
+
368
+ template <class ForwardIterator>
369
+ devector(ForwardIterator first, ForwardIterator last, const allocator_type& allocator = allocator_type()
370
+ //Other iterators
371
+ BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_or
372
+ < void
373
+ BOOST_MOVE_I dtl::is_convertible<ForwardIterator BOOST_MOVE_I size_type>
374
+ BOOST_MOVE_I dtl::is_input_iterator<ForwardIterator>
375
+ >::type * = 0)
376
+ )
377
+ : m_(reserve_uninitialized_t(), allocator, boost::container::iterator_udistance(first, last))
378
+ {
379
+ this->construct_from_range(first, last);
380
+ BOOST_ASSERT(invariants_ok());
381
+ }
382
+
383
+ #endif // ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
384
+
385
+ /**
386
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
387
+ *
388
+ * **Effects**: Copy constructs a devector.
389
+ *
390
+ * **Requires**: `T` shall be [CopyInsertable] into `*this`.
391
+ *
392
+ * **Postcondition**: `this->size() == x.size()`.
393
+ *
394
+ * **Exceptions**: Strong exception guarantee.
395
+ *
396
+ * **Complexity**: Linear in the size of `x`.
397
+ */
398
+ devector(const devector& x)
399
+ : m_(reserve_uninitialized_t(), allocator_traits_type::select_on_container_copy_construction(x.get_allocator_ref()), x.size())
400
+ {
401
+ this->construct_from_range(x.begin(), x.end());
402
+ BOOST_ASSERT(invariants_ok());
403
+ }
404
+
405
+ /**
406
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
407
+ *
408
+ * **Effects**: Copy constructs a devector, using the specified allocator.
409
+ *
410
+ * **Requires**: `T` shall be [CopyInsertable] into `*this`.
411
+ *
412
+ * **Postcondition**: `*this == x`.
413
+ *
414
+ * **Exceptions**: Strong exception guarantee.
415
+ *
416
+ * **Complexity**: Linear in the size of `x`.
417
+ */
418
+ devector(const devector& x, const allocator_type& allocator)
419
+ : m_(reserve_uninitialized_t(), allocator, x.size())
420
+ {
421
+ this->construct_from_range(x.begin(), x.end());
422
+ BOOST_ASSERT(invariants_ok());
423
+ }
424
+
425
+ /**
426
+ * **Effects**: Moves `rhs`'s resources to `*this`.
427
+ *
428
+ * **Throws**: Nothing.
429
+ *
430
+ * **Postcondition**: *this has the same value `rhs` had before the operation.
431
+ * `rhs` is left in an unspecified but valid state.
432
+ *
433
+ * **Exceptions**: Strong exception guarantee if not `noexcept`.
434
+ *
435
+ * **Complexity**: Constant.
436
+ */
437
+ devector(BOOST_RV_REF(devector) rhs) BOOST_NOEXCEPT_OR_NOTHROW
438
+ : m_(::boost::move(rhs.m_))
439
+ {
440
+ BOOST_ASSERT( invariants_ok());
441
+ BOOST_ASSERT(rhs.invariants_ok());
442
+ }
443
+
444
+ /**
445
+ * **Effects**: Moves `rhs`'s resources to `*this`, using the specified allocator.
446
+ *
447
+ * **Throws**: If allocation or T's move constructor throws.
448
+ *
449
+ * **Postcondition**: *this has the same value `rhs` had before the operation.
450
+ * `rhs` is left in an unspecified but valid state.
451
+ *
452
+ * **Exceptions**: Strong exception guarantee if not `noexcept`.
453
+ *
454
+ * **Complexity**: Linear if allocator != rhs.get_allocator(), otherwise constant.
455
+ */
456
+ devector(BOOST_RV_REF(devector) rhs, const allocator_type& allocator)
457
+ : m_(review_implementation_t(), allocator, rhs.m_.buffer, rhs.m_.front_idx, rhs.m_.back_idx, rhs.m_.capacity)
458
+ {
459
+ // TODO should move elems-by-elems if the two allocators differ
460
+ // buffer is already acquired, reset rhs
461
+ rhs.m_.capacity = 0u;
462
+ rhs.m_.buffer = pointer();
463
+ rhs.m_.front_idx = 0;
464
+ rhs.m_.back_idx = 0;
465
+ BOOST_ASSERT( invariants_ok());
466
+ BOOST_ASSERT(rhs.invariants_ok());
467
+ }
468
+
469
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
470
+ /**
471
+ * **Equivalent to**: `devector(il.begin(), il.end(), allocator)`.
472
+ */
473
+ devector(const std::initializer_list<T>& il, const allocator_type& allocator = allocator_type())
474
+ : m_(reserve_uninitialized_t(), allocator, il.size())
475
+ {
476
+ this->construct_from_range(il.begin(), il.end());
477
+ BOOST_ASSERT(invariants_ok());
478
+ }
479
+ #endif
480
+
481
+ /**
482
+ * **Effects**: Destroys the devector. All stored values are destroyed and
483
+ * used memory, if any, deallocated.
484
+ *
485
+ * **Complexity**: Linear in the size of `*this`.
486
+ */
487
+ ~devector() BOOST_NOEXCEPT
488
+ {
489
+ destroy_elements(m_.buffer + m_.front_idx, m_.buffer + m_.back_idx);
490
+ deallocate_buffer();
491
+ }
492
+
493
+ /**
494
+ * **Effects**: Copies elements of `x` to `*this`. Previously
495
+ * held elements get copy assigned to or destroyed.
496
+ *
497
+ * **Requires**: `T` shall be [CopyInsertable] into `*this`.
498
+ *
499
+ * **Postcondition**: `this->size() == x.size()`, the elements of
500
+ * `*this` are copies of elements in `x` in the same order.
501
+ *
502
+ * **Returns**: `*this`.
503
+ *
504
+ * **Exceptions**: Strong exception guarantee if `T` is `NothrowConstructible`
505
+ * and the allocator is allowed to be propagated
506
+ * ([propagate_on_container_copy_assignment] is true),
507
+ * Basic exception guarantee otherwise.
508
+ *
509
+ * **Complexity**: Linear in the size of `x` and `*this`.
510
+ *
511
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
512
+ * [propagate_on_container_copy_assignment]: http://en.cppreference.com/w/cpp/memory/allocator_traits
513
+ */
514
+
515
+ BOOST_CONTAINER_FORCEINLINE devector& operator=(BOOST_COPY_ASSIGN_REF(devector) rhs)
516
+ {
517
+ const devector &x = rhs;
518
+ if (this == &x) { return *this; } // skip self
519
+
520
+ BOOST_IF_CONSTEXPR(allocator_traits_type::propagate_on_container_copy_assignment::value)
521
+ {
522
+ allocator_type &this_alloc = this->get_allocator_ref();
523
+ const allocator_type &other_alloc = x.get_allocator_ref();
524
+ if (this_alloc != other_alloc)
525
+ {
526
+ // new allocator cannot free existing storage
527
+ this->clear();
528
+ this->deallocate_buffer();
529
+ m_.capacity = 0u;
530
+ m_.buffer = pointer();
531
+ }
532
+
533
+ this_alloc = other_alloc;
534
+ }
535
+
536
+ size_type n = x.size();
537
+ if (m_.capacity >= n)
538
+ {
539
+ this->overwrite_buffer(x.begin(), x.end());
540
+ }
541
+ else
542
+ {
543
+ this->allocate_and_copy_range(x.begin(), x.end());
544
+ }
545
+
546
+ BOOST_ASSERT(invariants_ok());
547
+
548
+ return *this;
549
+ }
550
+
551
+ /**
552
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
553
+ *
554
+ * **Effects**: Moves elements of `x` to `*this`. Previously
555
+ * held elements get move/copy assigned to or destroyed.
556
+ *
557
+ * **Requires**: `T` shall be [MoveInsertable] into `*this`.
558
+ *
559
+ * **Postcondition**: `x` is left in an unspecified but valid state.
560
+ *
561
+ * **Returns**: `*this`.
562
+ *
563
+ * **Exceptions**: Basic exception guarantee if not `noexcept`.
564
+ *
565
+ * **Complexity**: Constant if allocator_traits_type::
566
+ * propagate_on_container_move_assignment is true or
567
+ * this->get>allocator() == x.get_allocator(). Linear otherwise.
568
+ */
569
+ devector& operator=(BOOST_RV_REF(devector) x)
570
+ BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value
571
+ || allocator_traits_type::is_always_equal::value)
572
+ {
573
+ BOOST_CONSTEXPR_OR_CONST bool copy_alloc = allocator_traits_type::propagate_on_container_move_assignment::value;
574
+
575
+ BOOST_IF_CONSTEXPR (copy_alloc || get_allocator_ref() == x.get_allocator_ref())
576
+ {
577
+ this->clear();
578
+ this->deallocate_buffer();
579
+
580
+ if (copy_alloc)
581
+ {
582
+ this->get_allocator_ref() = boost::move(x.get_allocator_ref());
583
+ }
584
+
585
+ m_.capacity = x.m_.capacity;
586
+ m_.buffer = x.m_.buffer;
587
+ m_.front_idx = x.m_.front_idx;
588
+ m_.back_idx = x.m_.back_idx;
589
+
590
+ // leave x in valid state
591
+ x.m_.capacity = 0u;
592
+ x.m_.buffer = pointer();
593
+ x.m_.back_idx = x.m_.front_idx = 0;
594
+ }
595
+ else
596
+ {
597
+ // if the allocator shouldn't be copied and they do not compare equal
598
+ // we can't steal memory.
599
+
600
+ move_iterator<iterator> xbegin = boost::make_move_iterator(x.begin());
601
+ move_iterator<iterator> xend = boost::make_move_iterator(x.end());
602
+
603
+ if (copy_alloc)
604
+ {
605
+ get_allocator_ref() = boost::move(x.get_allocator_ref());
606
+ }
607
+
608
+ if (m_.capacity >= x.size())
609
+ {
610
+ overwrite_buffer(xbegin, xend);
611
+ }
612
+ else
613
+ {
614
+ allocate_and_copy_range(xbegin, xend);
615
+ }
616
+ }
617
+
618
+ BOOST_ASSERT(invariants_ok());
619
+
620
+ return *this;
621
+ }
622
+
623
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
624
+ /**
625
+ * **Effects**: Copies elements of `il` to `*this`. Previously
626
+ * held elements get copy assigned to or destroyed.
627
+ *
628
+ * **Requires**: `T` shall be [CopyInsertable] into `*this` and [CopyAssignable].
629
+ *
630
+ * **Postcondition**: `this->size() == il.size()`, the elements of
631
+ * `*this` are copies of elements in `il` in the same order.
632
+ *
633
+ * **Exceptions**: Strong exception guarantee if `T` is nothrow copy assignable
634
+ * from `T` and `NothrowConstructible`, Basic exception guarantee otherwise.
635
+ *
636
+ * **Returns**: `*this`.
637
+ *
638
+ * **Complexity**: Linear in the size of `il` and `*this`.
639
+ *
640
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
641
+ * [CopyAssignable]: http://en.cppreference.com/w/cpp/concept/CopyAssignable
642
+ */
643
+ BOOST_CONTAINER_FORCEINLINE devector& operator=(std::initializer_list<T> il)
644
+ {
645
+ this->assign(il.begin(), il.end());
646
+ return *this;
647
+ }
648
+ #endif
649
+
650
+ /**
651
+ * **Effects**: Replaces elements of `*this` with a copy of `[first,last)`.
652
+ * Previously held elements get copy assigned to or destroyed.
653
+ *
654
+ * **Requires**: `T` shall be [EmplaceConstructible] from `*first`. If the specified iterator
655
+ * does not meet the forward iterator requirements, `T` shall be also [MoveInsertable] into `*this`.
656
+ *
657
+ * **Precondition**: `first` and `last` are not iterators into `*this`.
658
+ *
659
+ * **Postcondition**: `size() == N`, where `N` is the distance between `first` and `last`.
660
+ *
661
+ * **Exceptions**: Strong exception guarantee if `T` is nothrow copy assignable
662
+ * from `*first` and `NothrowConstructible`, Basic exception guarantee otherwise.
663
+ *
664
+ * **Complexity**: Linear in the distance between `first` and `last`.
665
+ * Makes a single reallocation at most if the iterators `first` and `last`
666
+ * are of forward, bidirectional, or random access categories. It makes
667
+ * `O(log(N))` reallocations if they are just input iterators.
668
+ *
669
+ * **Remarks**: Each iterator in the range `[first,last)` shall be dereferenced exactly once,
670
+ * unless an exception is thrown.
671
+ *
672
+ * [EmplaceConstructible]: http://en.cppreference.com/w/cpp/concept/EmplaceConstructible
673
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
674
+ */
675
+ template <class InputIterator>
676
+ void assign(InputIterator first, InputIterator last
677
+ //Input iterators
678
+ BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_or
679
+ < void
680
+ BOOST_MOVE_I dtl::is_convertible<InputIterator BOOST_MOVE_I size_type>
681
+ BOOST_MOVE_I dtl::is_not_input_iterator<InputIterator>
682
+ >::type * = 0)
683
+ )
684
+ {
685
+ first = overwrite_buffer_impl(first, last, dtl::false_());
686
+ while (first != last)
687
+ {
688
+ this->emplace_back(*first++);
689
+ }
690
+ }
691
+
692
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
693
+
694
+ template <class ForwardIterator>
695
+ void assign(ForwardIterator first, ForwardIterator last
696
+ //Other iterators
697
+ BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_or
698
+ < void
699
+ BOOST_MOVE_I dtl::is_convertible<ForwardIterator BOOST_MOVE_I size_type>
700
+ BOOST_MOVE_I dtl::is_input_iterator<ForwardIterator>
701
+ >::type * = 0)
702
+ )
703
+ {
704
+ const size_type n = boost::container::iterator_udistance(first, last);
705
+
706
+ if (m_.capacity >= n)
707
+ {
708
+ overwrite_buffer(first, last);
709
+ }
710
+ else
711
+ {
712
+ allocate_and_copy_range(first, last);
713
+ }
714
+
715
+ BOOST_ASSERT(invariants_ok());
716
+ }
717
+
718
+ #endif // ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
719
+
720
+ /**
721
+ * **Effects**: Replaces elements of `*this` with `n` copies of `u`.
722
+ * Previously held elements get copy assigned to or destroyed.
723
+ *
724
+ * **Requires**: `T` shall be [CopyInsertable] into `*this` and
725
+ * [CopyAssignable].
726
+ *
727
+ * **Precondition**: `u` is not a reference into `*this`.
728
+ *
729
+ * **Postcondition**: `size() == n` and the elements of
730
+ * `*this` are copies of `u`.
731
+ *
732
+ * **Exceptions**: Strong exception guarantee if `T` is nothrow copy assignable
733
+ * from `u` and `NothrowConstructible`, Basic exception guarantee otherwise.
734
+ *
735
+ * **Complexity**: Linear in `n` and the size of `*this`.
736
+ *
737
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
738
+ * [CopyAssignable]: http://en.cppreference.com/w/cpp/concept/CopyAssignable
739
+ */
740
+ BOOST_CONTAINER_FORCEINLINE void assign(size_type n, const T& u)
741
+ {
742
+ cvalue_iterator first(u, n);
743
+ cvalue_iterator last;
744
+ this->assign(first, last);
745
+ }
746
+
747
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
748
+ /** **Equivalent to**: `assign(il.begin(), il.end())`. */
749
+ BOOST_CONTAINER_FORCEINLINE void assign(std::initializer_list<T> il)
750
+ {
751
+ this->assign(il.begin(), il.end());
752
+ }
753
+ #endif
754
+
755
+ /**
756
+ * **Returns**: A copy of the allocator associated with the container.
757
+ *
758
+ * **Complexity**: Constant.
759
+ */
760
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
761
+ allocator_type get_allocator() const BOOST_NOEXCEPT
762
+ {
763
+ return static_cast<const allocator_type&>(m_);
764
+ }
765
+
766
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
767
+ const allocator_type &get_stored_allocator() const BOOST_NOEXCEPT
768
+ {
769
+ return static_cast<const allocator_type&>(m_);
770
+ }
771
+
772
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
773
+ allocator_type &get_stored_allocator() BOOST_NOEXCEPT
774
+ {
775
+ return static_cast<allocator_type&>(m_);
776
+ }
777
+
778
+ // iterators
779
+
780
+ /**
781
+ * **Returns**: A iterator pointing to the first element in the devector,
782
+ * or the past the end iterator if the devector is empty.
783
+ *
784
+ * **Complexity**: Constant.
785
+ */
786
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
787
+ iterator begin() BOOST_NOEXCEPT
788
+ {
789
+ return m_.buffer + m_.front_idx;
790
+ }
791
+
792
+ /**
793
+ * **Returns**: A constant iterator pointing to the first element in the devector,
794
+ * or the past the end iterator if the devector is empty.
795
+ *
796
+ * **Complexity**: Constant.
797
+ */
798
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
799
+ const_iterator begin() const BOOST_NOEXCEPT
800
+ {
801
+ return m_.buffer + m_.front_idx;
802
+ }
803
+
804
+ /**
805
+ * **Returns**: An iterator pointing past the last element of the container.
806
+ *
807
+ * **Complexity**: Constant.
808
+ */
809
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
810
+ iterator end() BOOST_NOEXCEPT
811
+ {
812
+ return m_.buffer + m_.back_idx;
813
+ }
814
+
815
+ /**
816
+ * **Returns**: A constant iterator pointing past the last element of the container.
817
+ *
818
+ * **Complexity**: Constant.
819
+ */
820
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
821
+ const_iterator end() const BOOST_NOEXCEPT
822
+ {
823
+ return m_.buffer + m_.back_idx;
824
+ }
825
+
826
+ /**
827
+ * **Returns**: A reverse iterator pointing to the first element in the reversed devector,
828
+ * or the reverse past the end iterator if the devector is empty.
829
+ *
830
+ * **Complexity**: Constant.
831
+ */
832
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
833
+ reverse_iterator rbegin() BOOST_NOEXCEPT
834
+ {
835
+ return reverse_iterator(m_.buffer + m_.back_idx);
836
+ }
837
+
838
+ /**
839
+ * **Returns**: A constant reverse iterator
840
+ * pointing to the first element in the reversed devector,
841
+ * or the reverse past the end iterator if the devector is empty.
842
+ *
843
+ * **Complexity**: Constant.
844
+ */
845
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
846
+ const_reverse_iterator rbegin() const BOOST_NOEXCEPT
847
+ {
848
+ return const_reverse_iterator(m_.buffer + m_.back_idx);
849
+ }
850
+
851
+ /**
852
+ * **Returns**: A reverse iterator pointing past the last element in the
853
+ * reversed container, or to the beginning of the reversed container if it's empty.
854
+ *
855
+ * **Complexity**: Constant.
856
+ */
857
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
858
+ reverse_iterator rend() BOOST_NOEXCEPT
859
+ {
860
+ return reverse_iterator(m_.buffer + m_.front_idx);
861
+ }
862
+
863
+ /**
864
+ * **Returns**: A constant reverse iterator pointing past the last element in the
865
+ * reversed container, or to the beginning of the reversed container if it's empty.
866
+ *
867
+ * **Complexity**: Constant.
868
+ */
869
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
870
+ const_reverse_iterator rend() const BOOST_NOEXCEPT
871
+ {
872
+ return const_reverse_iterator(m_.buffer + m_.front_idx);
873
+ }
874
+
875
+ /**
876
+ * **Returns**: A constant iterator pointing to the first element in the devector,
877
+ * or the past the end iterator if the devector is empty.
878
+ *
879
+ * **Complexity**: Constant.
880
+ */
881
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
882
+ const_iterator cbegin() const BOOST_NOEXCEPT
883
+ {
884
+ return m_.buffer + m_.front_idx;
885
+ }
886
+
887
+ /**
888
+ * **Returns**: A constant iterator pointing past the last element of the container.
889
+ *
890
+ * **Complexity**: Constant.
891
+ */
892
+ const_iterator cend() const BOOST_NOEXCEPT
893
+ {
894
+ return m_.buffer + m_.back_idx;
895
+ }
896
+
897
+ /**
898
+ * **Returns**: A constant reverse iterator
899
+ * pointing to the first element in the reversed devector,
900
+ * or the reverse past the end iterator if the devector is empty.
901
+ *
902
+ * **Complexity**: Constant.
903
+ */
904
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
905
+ const_reverse_iterator crbegin() const BOOST_NOEXCEPT
906
+ {
907
+ return const_reverse_iterator(m_.buffer + m_.back_idx);
908
+ }
909
+
910
+ /**
911
+ * **Returns**: A constant reverse iterator pointing past the last element in the
912
+ * reversed container, or to the beginning of the reversed container if it's empty.
913
+ *
914
+ * **Complexity**: Constant.
915
+ */
916
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
917
+ const_reverse_iterator crend() const BOOST_NOEXCEPT
918
+ {
919
+ return const_reverse_iterator(m_.buffer + m_.front_idx);
920
+ }
921
+
922
+ // capacity
923
+
924
+ /**
925
+ * **Returns**: True, if `size() == 0`, false otherwise.
926
+ *
927
+ * **Complexity**: Constant.
928
+ */
929
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
930
+ bool empty() const BOOST_NOEXCEPT
931
+ {
932
+ return m_.front_idx == m_.back_idx;
933
+ }
934
+
935
+ /**
936
+ * **Returns**: The number of elements the devector contains.
937
+ *
938
+ * **Complexity**: Constant.
939
+ */
940
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
941
+ size_type size() const BOOST_NOEXCEPT
942
+ {
943
+ return size_type(m_.back_idx - m_.front_idx);
944
+ }
945
+
946
+ /**
947
+ * **Returns**: The maximum number of elements the devector could possibly hold.
948
+ *
949
+ * **Complexity**: Constant.
950
+ */
951
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
952
+ size_type max_size() const BOOST_NOEXCEPT
953
+ {
954
+ size_type alloc_max = allocator_traits_type::max_size(get_allocator_ref());
955
+ size_type size_type_max = (size_type)-1;
956
+ return (alloc_max <= size_type_max) ? size_type(alloc_max) : size_type_max;
957
+ }
958
+
959
+ /**
960
+ * **Returns**: The *minimum* number of elements that can be inserted into devector using
961
+ * position-based insertions without requiring a reallocation. Note that, unlike in
962
+ * typical sequence containers like `vector`, `capacity()`, `capacity()` can be smaller than `size()`.
963
+ * This can happen if a user inserts elements in a particular way (usually inserting at
964
+ * front up to front_free_capacity() and at back up to back_free_capacity()).
965
+ *
966
+ * **Complexity**: Constant.
967
+ */
968
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
969
+ size_type capacity() const BOOST_NOEXCEPT
970
+ {
971
+ size_type const cap_reserve = m_.capacity/devector_min_free_fraction;
972
+ return m_.capacity > cap_reserve ? (m_.capacity - cap_reserve) : 0u;
973
+ }
974
+
975
+ /**
976
+ * **Returns**: The total number of elements that can be pushed to the front of the
977
+ * devector without requiring reallocation.
978
+ *
979
+ * **Complexity**: Constant.
980
+ */
981
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
982
+ size_type front_free_capacity() const BOOST_NOEXCEPT
983
+ {
984
+ return m_.front_idx;
985
+ }
986
+
987
+ /**
988
+ * **Returns**: The total number of elements that can be pushed to the back of the
989
+ * devector without requiring reallocation.
990
+ *
991
+ * **Complexity**: Constant.
992
+ */
993
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
994
+ size_type back_free_capacity() const BOOST_NOEXCEPT
995
+ {
996
+ return size_type(m_.capacity - m_.back_idx);
997
+ }
998
+
999
+ /**
1000
+ * **Effects**: If `sz` is greater than the size of `*this`,
1001
+ * additional value-initialized elements are inserted. Invalidates iterators
1002
+ * if reallocation is needed. If `sz` is smaller than than the size of `*this`,
1003
+ * elements are erased from the extremes.
1004
+ *
1005
+ * **Requires**: T shall be [MoveInsertable] into *this and [DefaultConstructible].
1006
+ *
1007
+ * **Postcondition**: `sz == size()`.
1008
+ *
1009
+ * **Exceptions**: Strong exception guarantee.
1010
+ *
1011
+ * **Complexity**: Linear in the size of `*this` and `sz`.
1012
+ *
1013
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1014
+ * [DefaultConstructible]: http://en.cppreference.com/w/cpp/concept/DefaultConstructible
1015
+ */
1016
+ BOOST_CONTAINER_FORCEINLINE void resize(size_type sz)
1017
+ {
1018
+ this->resize_back(sz);
1019
+ }
1020
+
1021
+ /**
1022
+ * **Effects**: Same as resize(sz) but creates default-initialized
1023
+ * value-initialized.
1024
+ */
1025
+ BOOST_CONTAINER_FORCEINLINE void resize(size_type sz, default_init_t)
1026
+ {
1027
+ this->resize_back(sz, default_init);
1028
+ }
1029
+
1030
+ /**
1031
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
1032
+ *
1033
+ * **Effects**: If `sz` is greater than the size of `*this`,
1034
+ * copies of `c` are inserted at extremes.
1035
+ * If `sz` is smaller than than the size of `*this`,
1036
+ * elements are popped from the extremes.
1037
+ *
1038
+ * **Postcondition**: `sz == size()`.
1039
+ *
1040
+ * **Requires**: `T` shall be [CopyInsertable] into `*this`.
1041
+ *
1042
+ * **Exceptions**: Strong exception guarantee.
1043
+ *
1044
+ * **Complexity**: Linear in the size of `*this` and `sz`.
1045
+ */
1046
+ BOOST_CONTAINER_FORCEINLINE void resize(size_type sz, const T& c)
1047
+ {
1048
+ this->resize_back(sz, c);
1049
+ }
1050
+
1051
+ /**
1052
+ * **Effects**: If `sz` is greater than the size of `*this`,
1053
+ * additional value-initialized elements are inserted
1054
+ * to the front. Invalidates iterators if reallocation is needed.
1055
+ * If `sz` is smaller than than the size of `*this`,
1056
+ * elements are popped from the front.
1057
+ *
1058
+ * **Requires**: T shall be [MoveInsertable] into *this and [DefaultConstructible].
1059
+ *
1060
+ * **Postcondition**: `sz == size()`.
1061
+ *
1062
+ * **Exceptions**: Strong exception guarantee.
1063
+ *
1064
+ * **Complexity**: Linear in the size of `*this` and `sz`.
1065
+ *
1066
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1067
+ * [DefaultConstructible]: http://en.cppreference.com/w/cpp/concept/DefaultConstructible
1068
+ */
1069
+ BOOST_CONTAINER_FORCEINLINE void resize_front(size_type sz)
1070
+ {
1071
+ resize_front_impl(sz);
1072
+ BOOST_ASSERT(invariants_ok());
1073
+ }
1074
+
1075
+ /**
1076
+ * **Effects**: If `sz` is greater than the size of `*this`,
1077
+ * additional value-initialized elements are inserted
1078
+ * to the front. Invalidates iterators if reallocation is needed.
1079
+ * If `sz` is smaller than than the size of `*this`,
1080
+ * elements are popped from the front.
1081
+ *
1082
+ * **Requires**: T shall be [MoveInsertable] into *this and default_initializable.
1083
+ *
1084
+ * **Postcondition**: `sz == size()`.
1085
+ *
1086
+ * **Exceptions**: Strong exception guarantee.
1087
+ *
1088
+ * **Complexity**: Linear in the size of `*this` and `sz`.
1089
+ *
1090
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1091
+ */
1092
+ BOOST_CONTAINER_FORCEINLINE void resize_front(size_type sz, default_init_t)
1093
+ {
1094
+ resize_front_impl(sz, default_init);
1095
+ BOOST_ASSERT(invariants_ok());
1096
+ }
1097
+
1098
+ /**
1099
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
1100
+ *
1101
+ * **Effects**: If `sz` is greater than the size of `*this`,
1102
+ * copies of `c` are inserted to the front.
1103
+ * Invalidates iterators if reallocation is needed.
1104
+ * If `sz` is smaller than than the size of `*this`,
1105
+ * elements are popped from the front.
1106
+ *
1107
+ * **Postcondition**: `sz == size()`.
1108
+ *
1109
+ * **Requires**: `T` shall be [CopyInsertable] into `*this`.
1110
+ *
1111
+ * **Exceptions**: Strong exception guarantee.
1112
+ *
1113
+ * **Complexity**: Linear in the size of `*this` and `sz`.
1114
+ */
1115
+ BOOST_CONTAINER_FORCEINLINE void resize_front(size_type sz, const T& c)
1116
+ {
1117
+ resize_front_impl(sz, c);
1118
+ BOOST_ASSERT(invariants_ok());
1119
+ }
1120
+
1121
+ /**
1122
+ * **Effects**: If `sz` is greater than the size of `*this`,
1123
+ * additional value-initialized elements are inserted
1124
+ * to the back. Invalidates iterators if reallocation is needed.
1125
+ * If `sz` is smaller than than the size of `*this`,
1126
+ * elements are popped from the back.
1127
+ *
1128
+ * **Requires**: T shall be [MoveInsertable] into *this and [DefaultConstructible].
1129
+ *
1130
+ * **Postcondition**: `sz == size()`.
1131
+ *
1132
+ * **Exceptions**: Strong exception guarantee.
1133
+ *
1134
+ * **Complexity**: Linear in the size of `*this` and `sz`.
1135
+ *
1136
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1137
+ * [DefaultConstructible]: http://en.cppreference.com/w/cpp/concept/DefaultConstructible
1138
+ */
1139
+ BOOST_CONTAINER_FORCEINLINE void resize_back(size_type sz)
1140
+ {
1141
+ resize_back_impl(sz);
1142
+ BOOST_ASSERT(invariants_ok());
1143
+ }
1144
+
1145
+ /**
1146
+ * **Effects**: If `sz` is greater than the size of `*this`,
1147
+ * additional value-initialized elements are inserted
1148
+ * to the back. Invalidates iterators if reallocation is needed.
1149
+ * If `sz` is smaller than than the size of `*this`,
1150
+ * elements are popped from the back.
1151
+ *
1152
+ * **Requires**: T shall be [MoveInsertable] into *this and default initializable.
1153
+ *
1154
+ * **Postcondition**: `sz == size()`.
1155
+ *
1156
+ * **Exceptions**: Strong exception guarantee.
1157
+ *
1158
+ * **Complexity**: Linear in the size of `*this` and `sz`.
1159
+ *
1160
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1161
+ */
1162
+ BOOST_CONTAINER_FORCEINLINE void resize_back(size_type sz, default_init_t)
1163
+ {
1164
+ resize_back_impl(sz, default_init);
1165
+ BOOST_ASSERT(invariants_ok());
1166
+ }
1167
+
1168
+ /**
1169
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
1170
+ *
1171
+ * **Effects**: If `sz` is greater than the size of `*this`,
1172
+ * copies of `c` are inserted to the back.
1173
+ * If `sz` is smaller than than the size of `*this`,
1174
+ * elements are popped from the back.
1175
+ *
1176
+ * **Postcondition**: `sz == size()`.
1177
+ *
1178
+ * **Requires**: `T` shall be [CopyInsertable] into `*this`.
1179
+ *
1180
+ * **Exceptions**: Strong exception guarantee.
1181
+ *
1182
+ * **Complexity**: Linear in the size of `*this` and `sz`.
1183
+ */
1184
+ BOOST_CONTAINER_FORCEINLINE void resize_back(size_type sz, const T& c)
1185
+ {
1186
+ resize_back_impl(sz, c);
1187
+ BOOST_ASSERT(invariants_ok());
1188
+ }
1189
+
1190
+ /**
1191
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1192
+ *
1193
+ * **Effects**: Ensures that at least `n` elements can be inserted
1194
+ * without requiring reallocation, where `n` is `new_capacity - size()`,
1195
+ * if `n` is positive. Otherwise, there are no effects.
1196
+ * Invalidates iterators if reallocation is needed.
1197
+ *
1198
+ * **Requires**: `T` shall be [MoveInsertable] into `*this`.
1199
+ *
1200
+ * **Complexity**: Linear in the size of *this.
1201
+ *
1202
+ * **Exceptions**: Strong exception guarantee.
1203
+ *
1204
+ * **Throws**: length_error if `new_capacity > max_size()`.
1205
+ */
1206
+ BOOST_CONTAINER_FORCEINLINE void reserve(size_type new_capacity)
1207
+ {
1208
+ if (this->capacity() < new_capacity) {
1209
+ const size_type rounder = devector_min_free_fraction - 2u;
1210
+ const size_type divisor = devector_min_free_fraction - 1u;
1211
+ size_type const nc = ((new_capacity + rounder)/divisor)*devector_min_free_fraction;
1212
+ BOOST_ASSERT(new_capacity <= (nc - nc / devector_min_free_fraction));
1213
+ size_type const sz = this->size();
1214
+ reallocate_at(nc, (nc-sz)/2u);
1215
+ }
1216
+ BOOST_ASSERT(invariants_ok());
1217
+ }
1218
+
1219
+ /**
1220
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1221
+ *
1222
+ * **Effects**: Ensures that `n` elements can be pushed to the front
1223
+ * without requiring reallocation, where `n` is `new_capacity - size()`,
1224
+ * if `n` is positive. Otherwise, there are no effects.
1225
+ * Invalidates iterators if reallocation is needed.
1226
+ *
1227
+ * **Requires**: `T` shall be [MoveInsertable] into `*this`.
1228
+ *
1229
+ * **Complexity**: Linear in the size of *this.
1230
+ *
1231
+ * **Exceptions**: Strong exception guarantee.
1232
+ *
1233
+ * **Throws**: `length_error` if `new_capacity > max_size()`.
1234
+ */
1235
+ BOOST_CONTAINER_FORCEINLINE void reserve_front(size_type new_capacity)
1236
+ {
1237
+ if (front_capacity() >= new_capacity) { return; }
1238
+
1239
+ reallocate_at(new_capacity + back_free_capacity(), new_capacity - size());
1240
+
1241
+ BOOST_ASSERT(invariants_ok());
1242
+ }
1243
+
1244
+ /**
1245
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1246
+ *
1247
+ * **Effects**: Ensures that `n` elements can be pushed to the back
1248
+ * without requiring reallocation, where `n` is `new_capacity - size()`,
1249
+ * if `n` is positive. Otherwise, there are no effects.
1250
+ * Invalidates iterators if reallocation is needed.
1251
+ *
1252
+ * **Requires**: `T` shall be [MoveInsertable] into `*this`.
1253
+ *
1254
+ * **Complexity**: Linear in the size of *this.
1255
+ *
1256
+ * **Exceptions**: Strong exception guarantee.
1257
+ *
1258
+ * **Throws**: length_error if `new_capacity > max_size()`.
1259
+ */
1260
+ BOOST_CONTAINER_FORCEINLINE void reserve_back(size_type new_capacity)
1261
+ {
1262
+ if (back_capacity() >= new_capacity) { return; }
1263
+
1264
+ reallocate_at(new_capacity + front_free_capacity(), m_.front_idx);
1265
+
1266
+ BOOST_ASSERT(invariants_ok());
1267
+ }
1268
+
1269
+
1270
+ /**
1271
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1272
+ *
1273
+ * **Effects**: Reduces `capacity()` to `size()`. Invalidates iterators.
1274
+ *
1275
+ * **Requires**: `T` shall be [MoveInsertable] into `*this`.
1276
+ *
1277
+ * **Exceptions**: Strong exception guarantee.
1278
+ *
1279
+ * **Complexity**: Linear in the size of *this.
1280
+ */
1281
+ BOOST_CONTAINER_FORCEINLINE void shrink_to_fit()
1282
+ {
1283
+ if(this->front_capacity() || this->back_capacity())
1284
+ this->reallocate_at(size(), 0);
1285
+ }
1286
+
1287
+ // element access:
1288
+
1289
+ /**
1290
+ * **Returns**: A reference to the `n`th element in the devector.
1291
+ *
1292
+ * **Precondition**: `n < size()`.
1293
+ *
1294
+ * **Complexity**: Constant.
1295
+ */
1296
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1297
+ reference operator[](size_type n) BOOST_NOEXCEPT
1298
+ {
1299
+ BOOST_ASSERT(n < size());
1300
+ return m_.buffer[m_.front_idx + n];
1301
+ }
1302
+
1303
+ /**
1304
+ * **Returns**: A constant reference to the `n`th element in the devector.
1305
+ *
1306
+ * **Precondition**: `n < size()`.
1307
+ *
1308
+ * **Complexity**: Constant.
1309
+ */
1310
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1311
+ const_reference operator[](size_type n) const BOOST_NOEXCEPT
1312
+ {
1313
+ BOOST_ASSERT(n < size());
1314
+ return m_.buffer[m_.front_idx + n];
1315
+ }
1316
+
1317
+ /**
1318
+ * **Returns**: A reference to the `n`th element in the devector.
1319
+ *
1320
+ * **Throws**: `out_of_range`, if `n >= size()`.
1321
+ *
1322
+ * **Complexity**: Constant.
1323
+ */
1324
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1325
+ reference at(size_type n)
1326
+ {
1327
+ if (size() <= n)
1328
+ throw_out_of_range("devector::at out of range");
1329
+ return (*this)[n];
1330
+ }
1331
+
1332
+ /**
1333
+ * **Returns**: A constant reference to the `n`th element in the devector.
1334
+ *
1335
+ * **Throws**: `out_of_range`, if `n >= size()`.
1336
+ *
1337
+ * **Complexity**: Constant.
1338
+ */
1339
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1340
+ const_reference at(size_type n) const
1341
+ {
1342
+ if (size() <= n)
1343
+ throw_out_of_range("devector::at out of range");
1344
+ return (*this)[n];
1345
+ }
1346
+
1347
+ /**
1348
+ * **Returns**: A reference to the first element in the devector.
1349
+ *
1350
+ * **Precondition**: `!empty()`.
1351
+ *
1352
+ * **Complexity**: Constant.
1353
+ */
1354
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1355
+ reference front() BOOST_NOEXCEPT
1356
+ {
1357
+ BOOST_ASSERT(!empty());
1358
+
1359
+ return m_.buffer[m_.front_idx];
1360
+ }
1361
+
1362
+ /**
1363
+ * **Returns**: A constant reference to the first element in the devector.
1364
+ *
1365
+ * **Precondition**: `!empty()`.
1366
+ *
1367
+ * **Complexity**: Constant.
1368
+ */
1369
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1370
+ const_reference front() const BOOST_NOEXCEPT
1371
+ {
1372
+ BOOST_ASSERT(!empty());
1373
+
1374
+ return m_.buffer[m_.front_idx];
1375
+ }
1376
+
1377
+ /**
1378
+ * **Returns**: A reference to the last element in the devector.
1379
+ *
1380
+ * **Precondition**: `!empty()`.
1381
+ *
1382
+ * **Complexity**: Constant.
1383
+ */
1384
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1385
+ reference back() BOOST_NOEXCEPT
1386
+ {
1387
+ BOOST_ASSERT(!empty());
1388
+
1389
+ return m_.buffer[m_.back_idx - 1u];
1390
+ }
1391
+
1392
+ /**
1393
+ * **Returns**: A constant reference to the last element in the devector.
1394
+ *
1395
+ * **Precondition**: `!empty()`.
1396
+ *
1397
+ * **Complexity**: Constant.
1398
+ */
1399
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1400
+ const_reference back() const BOOST_NOEXCEPT
1401
+ {
1402
+ BOOST_ASSERT(!empty());
1403
+
1404
+ return m_.buffer[m_.back_idx - 1u];
1405
+ }
1406
+
1407
+ /**
1408
+ * **Returns**: A pointer to the underlying array serving as element storage.
1409
+ * The range `[data(); data() + size())` is always valid. For a non-empty devector,
1410
+ * `data() == &front()`.
1411
+ *
1412
+ * **Complexity**: Constant.
1413
+ */
1414
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1415
+ T* data() BOOST_NOEXCEPT
1416
+ {
1417
+ return boost::movelib::to_raw_pointer(m_.buffer) + m_.front_idx;
1418
+ }
1419
+
1420
+ /**
1421
+ * **Returns**: A constant pointer to the underlying array serving as element storage.
1422
+ * The range `[data(); data() + size())` is always valid. For a non-empty devector,
1423
+ * `data() == &front()`.
1424
+ *
1425
+ * **Complexity**: Constant.
1426
+ */
1427
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1428
+ const T* data() const BOOST_NOEXCEPT
1429
+ {
1430
+ return boost::movelib::to_raw_pointer(m_.buffer) + m_.front_idx;
1431
+ }
1432
+
1433
+ // modifiers:
1434
+
1435
+ /**
1436
+ * **Effects**: Pushes a new element to the front of the devector.
1437
+ * The element is constructed in-place, using the perfect forwarded `args`
1438
+ * as constructor arguments. Invalidates iterators if reallocation is needed.
1439
+ * (`front_free_capacity() == 0`)
1440
+ *
1441
+ * **Requires**: `T` shall be [EmplaceConstructible] from `args` and [MoveInsertable] into `*this`.
1442
+ *
1443
+ * **Exceptions**: Strong exception guarantee.
1444
+ *
1445
+ * **Complexity**: Amortized constant in the size of `*this`.
1446
+ * (Constant, if `front_free_capacity() > 0`)
1447
+ *
1448
+ * [EmplaceConstructible]: http://en.cppreference.com/w/cpp/concept/EmplaceConstructible
1449
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1450
+ */
1451
+ #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1452
+ template <class... Args>
1453
+ reference emplace_front(Args&&... args)
1454
+ {
1455
+ if (BOOST_LIKELY(front_free_capacity() != 0)) // fast path
1456
+ {
1457
+ pointer const p = m_.buffer + (m_.front_idx - 1u);
1458
+ this->alloc_construct(p, boost::forward<Args>(args)...);
1459
+ --m_.front_idx;
1460
+ BOOST_ASSERT(invariants_ok());
1461
+ return *p;
1462
+ }
1463
+ else
1464
+ {
1465
+ typedef dtl::insert_emplace_proxy<allocator_type, Args...> proxy_t;
1466
+ return *this->insert_range_slow_path(this->begin(), 1, proxy_t(::boost::forward<Args>(args)...));
1467
+ }
1468
+ }
1469
+
1470
+ #else //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1471
+
1472
+ #define BOOST_CONTAINER_DEVECTOR_EMPLACE_FRONT(N) \
1473
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1474
+ BOOST_CONTAINER_FORCEINLINE reference emplace_front(BOOST_MOVE_UREF##N)\
1475
+ {\
1476
+ if (front_free_capacity())\
1477
+ {\
1478
+ pointer const p = m_.buffer + (m_.front_idx - 1u);\
1479
+ this->alloc_construct(p BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
1480
+ --m_.front_idx;\
1481
+ return *p;\
1482
+ }\
1483
+ else\
1484
+ {\
1485
+ typedef dtl::insert_emplace_proxy_arg##N<allocator_type BOOST_MOVE_I##N BOOST_MOVE_TARG##N> proxy_t;\
1486
+ return *this->insert_range_slow_path(this->begin(), 1, proxy_t(BOOST_MOVE_FWD##N));\
1487
+ }\
1488
+ }\
1489
+ //
1490
+ BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_DEVECTOR_EMPLACE_FRONT)
1491
+ #undef BOOST_CONTAINER_DEVECTOR_EMPLACE_FRONT
1492
+
1493
+ #endif
1494
+
1495
+ #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1496
+ /**
1497
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
1498
+ *
1499
+ * **Effects**: Pushes the copy of `x` to the front of the devector.
1500
+ * Invalidates iterators if reallocation is needed.
1501
+ * (`front_free_capacity() == 0`)
1502
+ *
1503
+ * **Requires**: `T` shall be [CopyInsertable] into `*this`.
1504
+ *
1505
+ * **Exceptions**: Strong exception guarantee.
1506
+ *
1507
+ * **Complexity**: Amortized constant in the size of `*this`.
1508
+ * (Constant, if `front_free_capacity() > 0`)
1509
+ */
1510
+ void push_front(const T& x);
1511
+
1512
+ /**
1513
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1514
+ *
1515
+ * **Effects**: Move constructs a new element at the front of the devector using `x`.
1516
+ * Invalidates iterators if reallocation is needed.
1517
+ * (`front_free_capacity() == 0`)
1518
+ *
1519
+ * **Requires**: `T` shall be [MoveInsertable] into `*this`.
1520
+ *
1521
+ * **Exceptions**: Strong exception guarantee, not regarding the state of `x`.
1522
+ *
1523
+ * **Complexity**: Amortized constant in the size of `*this`.
1524
+ * (Constant, if `front_free_capacity() > 0`)
1525
+ */
1526
+ void push_front(T&& x);
1527
+
1528
+ #else
1529
+ BOOST_MOVE_CONVERSION_AWARE_CATCH(push_front, T, void, priv_push_front)
1530
+ #endif
1531
+
1532
+ /**
1533
+ * **Effects**: Removes the first element of `*this`.
1534
+ *
1535
+ * **Precondition**: `!empty()`.
1536
+ *
1537
+ * **Postcondition**: `front_free_capacity()` is incremented by 1.
1538
+ *
1539
+ * **Complexity**: Constant.
1540
+ */
1541
+ void pop_front() BOOST_NOEXCEPT
1542
+ {
1543
+ BOOST_ASSERT(!empty());
1544
+ allocator_traits_type::destroy(get_allocator_ref(), boost::movelib::to_raw_pointer(m_.buffer + m_.front_idx));
1545
+ ++m_.front_idx;
1546
+ BOOST_ASSERT(invariants_ok());
1547
+ }
1548
+
1549
+ /**
1550
+ * **Effects**: Pushes a new element to the back of the devector.
1551
+ * The element is constructed in-place, using the perfect forwarded `args`
1552
+ * as constructor arguments. Invalidates iterators if reallocation is needed.
1553
+ * (`back_free_capacity() == 0`)
1554
+ *
1555
+ * **Requires**: `T` shall be [EmplaceConstructible] from `args` and [MoveInsertable] into `*this`,
1556
+ * and [MoveAssignable].
1557
+ *
1558
+ * **Exceptions**: Strong exception guarantee.
1559
+ *
1560
+ * **Complexity**: Amortized constant in the size of `*this`.
1561
+ * (Constant, if `back_free_capacity() > 0`)
1562
+ *
1563
+ * [EmplaceConstructible]: http://en.cppreference.com/w/cpp/concept/EmplaceConstructible
1564
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1565
+ * [MoveAssignable]: http://en.cppreference.com/w/cpp/concept/MoveAssignable
1566
+ */
1567
+ #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1568
+ template <class... Args>
1569
+ BOOST_CONTAINER_FORCEINLINE reference emplace_back(Args&&... args)
1570
+ {
1571
+ if (BOOST_LIKELY(this->back_free_capacity() != 0)){
1572
+ pointer const p = m_.buffer + m_.back_idx;
1573
+ this->alloc_construct(p, boost::forward<Args>(args)...);
1574
+ ++m_.back_idx;
1575
+ BOOST_ASSERT(invariants_ok());
1576
+ return *p;
1577
+ }
1578
+ else {
1579
+ typedef dtl::insert_emplace_proxy<allocator_type, Args...> proxy_t;
1580
+ return *this->insert_range_slow_path(this->end(), 1, proxy_t(::boost::forward<Args>(args)...));
1581
+ }
1582
+ }
1583
+
1584
+ #else //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1585
+
1586
+ #define BOOST_CONTAINER_DEVECTOR_EMPLACE_BACK(N) \
1587
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1588
+ BOOST_CONTAINER_FORCEINLINE reference emplace_back(BOOST_MOVE_UREF##N)\
1589
+ {\
1590
+ if (this->back_free_capacity()){\
1591
+ pointer const p = m_.buffer + m_.back_idx;\
1592
+ this->alloc_construct(p BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
1593
+ ++m_.back_idx;\
1594
+ return *p;\
1595
+ }\
1596
+ else {\
1597
+ typedef dtl::insert_emplace_proxy_arg##N<allocator_type BOOST_MOVE_I##N BOOST_MOVE_TARG##N> proxy_t;\
1598
+ return *this->insert_range_slow_path(this->end(), 1, proxy_t(BOOST_MOVE_FWD##N));\
1599
+ }\
1600
+ }\
1601
+ //
1602
+ BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_DEVECTOR_EMPLACE_BACK)
1603
+ #undef BOOST_CONTAINER_DEVECTOR_EMPLACE_BACK
1604
+
1605
+ #endif //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1606
+
1607
+
1608
+ #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1609
+ /**
1610
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
1611
+ *
1612
+ * **Effects**: Pushes the copy of `x` to the back of the devector.
1613
+ * Invalidates iterators if reallocation is needed.
1614
+ * (`back_free_capacity() == 0`)
1615
+ *
1616
+ * **Requires**: `T` shall be [CopyInsertable] into `*this`.
1617
+ *
1618
+ * **Exceptions**: Strong exception guarantee.
1619
+ *
1620
+ * **Complexity**: Amortized constant in the size of `*this`.
1621
+ * (Constant, if `back_free_capacity() > 0`)
1622
+ */
1623
+ void push_back(const T& x);
1624
+
1625
+ /**
1626
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1627
+ *
1628
+ * **Effects**: Move constructs a new element at the back of the devector using `x`.
1629
+ * Invalidates iterators if reallocation is needed.
1630
+ * (`back_free_capacity() == 0`)
1631
+ *
1632
+ * **Requires**: `T` shall be [MoveInsertable] into `*this`.
1633
+ *
1634
+ * **Exceptions**: Strong exception guarantee, not regarding the state of `x`.
1635
+ *
1636
+ * **Complexity**: Amortized constant in the size of `*this`.
1637
+ * (Constant, if `back_free_capacity() > 0`)
1638
+ */
1639
+ void push_back(T&& x);
1640
+
1641
+ #else
1642
+ BOOST_MOVE_CONVERSION_AWARE_CATCH(push_back, T, void, priv_push_back)
1643
+ #endif
1644
+
1645
+ /**
1646
+ * **Effects**: Removes the last element of `*this`.
1647
+ *
1648
+ * **Precondition**: `!empty()`.
1649
+ *
1650
+ * **Postcondition**: `back_free_capacity()` is incremented by 1.
1651
+ *
1652
+ * **Complexity**: Constant.
1653
+ */
1654
+ void pop_back() BOOST_NOEXCEPT
1655
+ {
1656
+ BOOST_ASSERT(! empty());
1657
+ --m_.back_idx;
1658
+ allocator_traits_type::destroy(get_allocator_ref(), boost::movelib::to_raw_pointer(m_.buffer + m_.back_idx));
1659
+ BOOST_ASSERT(invariants_ok());
1660
+ }
1661
+
1662
+ /**
1663
+ * **Effects**: Constructs a new element before the element pointed by `position`.
1664
+ * The element is constructed in-place, using the perfect forwarded `args`
1665
+ * as constructor arguments. Invalidates iterators if reallocation is needed.
1666
+ *
1667
+ * **Requires**: `T` shall be [EmplaceConstructible], and [MoveInsertable] into `*this`,
1668
+ * and [MoveAssignable].
1669
+ *
1670
+ * **Returns**: Iterator pointing to the newly constructed element.
1671
+ *
1672
+ * **Exceptions**: Strong exception guarantee if `T` is `NothrowConstructible`
1673
+ * and `NothrowAssignable`, Basic exception guarantee otherwise.
1674
+ *
1675
+ * **Complexity**: Linear in the size of `*this`.
1676
+ *
1677
+ * [EmplaceConstructible]: http://en.cppreference.com/w/cpp/concept/EmplaceConstructible
1678
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1679
+ * [MoveAssignable]: http://en.cppreference.com/w/cpp/concept/MoveAssignable
1680
+ */
1681
+ #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1682
+ template <class... Args>
1683
+ iterator emplace(const_iterator position, Args&&... args)
1684
+ {
1685
+ BOOST_ASSERT(position >= begin());
1686
+ BOOST_ASSERT(position <= end());
1687
+ typedef dtl::insert_emplace_proxy<allocator_type, Args...> proxy_t;
1688
+ bool prefer_move_back;
1689
+ if (position == end()){
1690
+ if(back_free_capacity()) // fast path
1691
+ {
1692
+ pointer const p = m_.buffer + m_.back_idx;
1693
+ this->alloc_construct(p, boost::forward<Args>(args)...);
1694
+ ++m_.back_idx;
1695
+ return iterator(p);
1696
+ }
1697
+ prefer_move_back = true;
1698
+ }
1699
+ else if (position == begin()){
1700
+ if(front_free_capacity()) // secondary fast path
1701
+ {
1702
+ pointer const p = m_.buffer + (m_.front_idx - 1);
1703
+ this->alloc_construct(p, boost::forward<Args>(args)...);
1704
+ --m_.front_idx;
1705
+ return iterator(p);
1706
+ }
1707
+ prefer_move_back = false;
1708
+ }
1709
+ else{
1710
+ iterator nonconst_pos = unconst_iterator(position);
1711
+ prefer_move_back = should_move_back(position);
1712
+
1713
+ if(prefer_move_back){
1714
+ if(back_free_capacity()){
1715
+ boost::container::expand_forward_and_insert_nonempty_middle_alloc
1716
+ ( get_allocator_ref()
1717
+ , boost::movelib::to_raw_pointer(nonconst_pos)
1718
+ , this->priv_raw_end()
1719
+ , 1, proxy_t(::boost::forward<Args>(args)...));
1720
+ ++m_.back_idx;
1721
+ return nonconst_pos;
1722
+ }
1723
+ }
1724
+ else{
1725
+ if (front_free_capacity()){
1726
+ boost::container::expand_backward_and_insert_nonempty_middle_alloc
1727
+ (get_allocator_ref()
1728
+ , this->priv_raw_begin()
1729
+ , boost::movelib::to_raw_pointer(nonconst_pos)
1730
+ , 1, proxy_t(::boost::forward<Args>(args)...));
1731
+ --m_.front_idx;
1732
+ return --nonconst_pos;
1733
+ }
1734
+ }
1735
+ }
1736
+ return this->insert_range_slow_path(position, 1, proxy_t(::boost::forward<Args>(args)...));
1737
+ }
1738
+
1739
+ #else //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1740
+
1741
+ #define BOOST_CONTAINER_DEVECTOR_EMPLACE(N) \
1742
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1743
+ iterator emplace(const_iterator position BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1744
+ {\
1745
+ BOOST_ASSERT(position >= begin());\
1746
+ BOOST_ASSERT(position <= end());\
1747
+ typedef dtl::insert_emplace_proxy_arg##N<allocator_type BOOST_MOVE_I##N BOOST_MOVE_TARG##N> proxy_t;\
1748
+ bool prefer_move_back;\
1749
+ if (position == end()){\
1750
+ if(back_free_capacity())\
1751
+ {\
1752
+ pointer const p = m_.buffer + m_.back_idx;\
1753
+ this->alloc_construct(p BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
1754
+ ++m_.back_idx;\
1755
+ return iterator(p);\
1756
+ }\
1757
+ prefer_move_back = true;\
1758
+ }\
1759
+ else if (position == begin()){\
1760
+ if(front_free_capacity())\
1761
+ {\
1762
+ pointer const p = m_.buffer + (m_.front_idx - 1);\
1763
+ this->alloc_construct(p BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
1764
+ --m_.front_idx;\
1765
+ return iterator(p);\
1766
+ }\
1767
+ prefer_move_back = false;\
1768
+ }\
1769
+ else{\
1770
+ iterator nonconst_pos = unconst_iterator(position);\
1771
+ prefer_move_back = should_move_back(position);\
1772
+ \
1773
+ if(prefer_move_back){\
1774
+ if(back_free_capacity()){\
1775
+ boost::container::expand_forward_and_insert_nonempty_middle_alloc\
1776
+ ( get_allocator_ref()\
1777
+ , boost::movelib::to_raw_pointer(nonconst_pos)\
1778
+ , this->priv_raw_end()\
1779
+ , 1, proxy_t(BOOST_MOVE_FWD##N));\
1780
+ ++m_.back_idx;\
1781
+ return nonconst_pos;\
1782
+ }\
1783
+ }\
1784
+ else{\
1785
+ if (front_free_capacity()){\
1786
+ boost::container::expand_backward_and_insert_nonempty_middle_alloc\
1787
+ (get_allocator_ref()\
1788
+ , this->priv_raw_begin()\
1789
+ , boost::movelib::to_raw_pointer(nonconst_pos)\
1790
+ , 1, proxy_t(BOOST_MOVE_FWD##N));\
1791
+ --m_.front_idx;\
1792
+ return --nonconst_pos;\
1793
+ }\
1794
+ }\
1795
+ }\
1796
+ return this->insert_range_slow_path(position, 1, proxy_t(BOOST_MOVE_FWD##N));\
1797
+ }\
1798
+ //
1799
+ BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_DEVECTOR_EMPLACE)
1800
+ #undef BOOST_CONTAINER_DEVECTOR_EMPLACE
1801
+
1802
+ #endif //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1803
+
1804
+
1805
+ #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1806
+ /**
1807
+ * **Effects**: Copy constructs a new element before the element pointed by `position`,
1808
+ * using `x` as constructor argument. Invalidates iterators if reallocation is needed.
1809
+ *
1810
+ * **Requires**: `T` shall be [CopyInsertable] into `*this` and and [CopyAssignable].
1811
+ *
1812
+ * **Returns**: Iterator pointing to the newly constructed element.
1813
+ *
1814
+ * **Exceptions**: Strong exception guarantee if `T` is `NothrowConstructible`
1815
+ * and `NothrowAssignable`, Basic exception guarantee otherwise.
1816
+ *
1817
+ * **Complexity**: Linear in the size of `*this`.
1818
+ *
1819
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
1820
+ * [CopyAssignable]: http://en.cppreference.com/w/cpp/concept/CopyAssignable
1821
+ */
1822
+ iterator insert(const_iterator position, const T &x);
1823
+
1824
+ /**
1825
+ * **Effects**: Move constructs a new element before the element pointed by `position`,
1826
+ * using `x` as constructor argument. Invalidates iterators if reallocation is needed.
1827
+ *
1828
+ * **Requires**: `T` shall be [MoveInsertable] into `*this` and and [CopyAssignable].
1829
+ *
1830
+ * **Returns**: Iterator pointing to the newly constructed element.
1831
+ *
1832
+ * **Exceptions**: Strong exception guarantee if `T` is `NothrowConstructible`
1833
+ * and `NothrowAssignable` (not regarding the state of `x`),
1834
+ * Basic exception guarantee otherwise.
1835
+ *
1836
+ * **Complexity**: Linear in the size of `*this`.
1837
+ *
1838
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1839
+ * [CopyAssignable]: http://en.cppreference.com/w/cpp/concept/CopyAssignable
1840
+ */
1841
+ iterator insert(const_iterator position, T &&x);
1842
+ #else
1843
+ BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator)
1844
+ #endif
1845
+
1846
+ /**
1847
+ * **Effects**: Copy constructs `n` elements before the element pointed by `position`,
1848
+ * using `x` as constructor argument. Invalidates iterators if reallocation is needed.
1849
+ *
1850
+ * **Requires**: `T` shall be [CopyInsertable] into `*this` and and [CopyAssignable].
1851
+ *
1852
+ * **Returns**: Iterator pointing to the first inserted element, or `position`, if `n` is zero.
1853
+ *
1854
+ * **Exceptions**: Strong exception guarantee if `T` is `NothrowConstructible`
1855
+ * and `NothrowAssignable`, Basic exception guarantee otherwise.
1856
+ *
1857
+ * **Complexity**: Linear in the size of `*this` and `n`.
1858
+ *
1859
+ * [CopyInsertable]: http://en.cppreference.com/w/cpp/concept/CopyInsertable
1860
+ * [CopyAssignable]: http://en.cppreference.com/w/cpp/concept/CopyAssignable
1861
+ */
1862
+ BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator position, size_type n, const T& x)
1863
+ {
1864
+ cvalue_iterator first(x, n);
1865
+ cvalue_iterator last = first + n;
1866
+ return this->insert_range(position, first, last);
1867
+ }
1868
+
1869
+ /**
1870
+ * **Effects**: Copy constructs elements before the element pointed by position
1871
+ * using each element in the range pointed by `first` and `last` as constructor arguments.
1872
+ * Invalidates iterators if reallocation is needed.
1873
+ *
1874
+ * **Requires**: `T` shall be [EmplaceConstructible] into `*this` from `*first`. If the specified iterator
1875
+ * does not meet the forward iterator requirements, `T` shall also be [MoveInsertable] into `*this`
1876
+ * and [MoveAssignable].
1877
+ *
1878
+ * **Precondition**: `first` and `last` are not iterators into `*this`.
1879
+ *
1880
+ * **Returns**: Iterator pointing to the first inserted element, or `position`, if `first == last`.
1881
+ *
1882
+ * **Complexity**: Linear in the size of `*this` and `N` (where `N` is the distance between `first` and `last`).
1883
+ * Makes only `N` calls to the constructor of `T` and no reallocations if iterators `first` and `last`
1884
+ * are of forward, bidirectional, or random access categories. It makes 2N calls to the copy constructor of `T`
1885
+ * and `O(log(N)) reallocations if they are just input iterators.
1886
+ *
1887
+ * **Exceptions**: Strong exception guarantee if `T` is `NothrowConstructible`
1888
+ * and `NothrowAssignable`, Basic exception guarantee otherwise.
1889
+ *
1890
+ * **Remarks**: Each iterator in the range `[first,last)` shall be dereferenced exactly once,
1891
+ * unless an exception is thrown.
1892
+ *
1893
+ * [EmplaceConstructible]: http://en.cppreference.com/w/cpp/concept/EmplaceConstructible
1894
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
1895
+ * [MoveAssignable]: http://en.cppreference.com/w/cpp/concept/MoveAssignable
1896
+ */
1897
+ template <class InputIterator>
1898
+ iterator insert(const_iterator position, InputIterator first, InputIterator last
1899
+ //Input iterators
1900
+ BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_or
1901
+ < void
1902
+ BOOST_MOVE_I dtl::is_convertible<InputIterator BOOST_MOVE_I size_type>
1903
+ BOOST_MOVE_I dtl::is_not_input_iterator<InputIterator>
1904
+ >::type * = 0)
1905
+ )
1906
+ {
1907
+ if (position == end())
1908
+ {
1909
+ size_type insert_index = size();
1910
+
1911
+ for (; first != last; ++first)
1912
+ {
1913
+ this->emplace_back(*first);
1914
+ }
1915
+
1916
+ return begin() + insert_index;
1917
+ }
1918
+ else
1919
+ {
1920
+ const size_type insert_index = static_cast<size_type>(position - this->cbegin());
1921
+ const size_type old_size = static_cast<size_type>(this->size());
1922
+
1923
+ for (; first != last; ++first) {
1924
+ this->emplace_back(*first);
1925
+ }
1926
+ iterator rit (this->begin() + insert_index);
1927
+ boost::movelib::rotate_gcd(rit, this->begin() + old_size, this->begin() + this->size());
1928
+ return rit;
1929
+ }
1930
+ }
1931
+
1932
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1933
+
1934
+ template <class ForwardIterator>
1935
+ BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator position, ForwardIterator first, ForwardIterator last
1936
+ //Other iterators
1937
+ BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename dtl::disable_if_or
1938
+ < void
1939
+ BOOST_MOVE_I dtl::is_convertible<ForwardIterator BOOST_MOVE_I size_type>
1940
+ BOOST_MOVE_I dtl::is_input_iterator<ForwardIterator>
1941
+ >::type * = 0)
1942
+ )
1943
+ {
1944
+ return insert_range(position, first, last);
1945
+ }
1946
+
1947
+ #endif // ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1948
+
1949
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1950
+ /** **Equivalent to**: `insert(position, il.begin(), il.end())` */
1951
+ BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator position, std::initializer_list<T> il)
1952
+ {
1953
+ return this->insert(position, il.begin(), il.end());
1954
+ }
1955
+ #endif
1956
+
1957
+ /**
1958
+ * [MoveAssignable]: http://en.cppreference.com/w/cpp/concept/MoveAssignable
1959
+ *
1960
+ * **Effects**: Destroys the element pointed by `position` and removes it from the devector.
1961
+ * Invalidates iterators.
1962
+ *
1963
+ * **Requires**: `T` shall be [MoveAssignable].
1964
+ *
1965
+ * **Precondition**: `position` must be in the range of `[begin(), end())`.
1966
+ *
1967
+ * **Returns**: Iterator pointing to the element immediately following the erased element
1968
+ * prior to its erasure. If no such element exists, `end()` is returned.
1969
+ *
1970
+ * **Exceptions**: Strong exception guarantee if `T` is `NothrowAssignable`,
1971
+ * Basic exception guarantee otherwise.
1972
+ *
1973
+ * **Complexity**: Linear in half the size of `*this`.
1974
+ */
1975
+ iterator erase(const_iterator position)
1976
+ {
1977
+ return erase(position, position + 1);
1978
+ }
1979
+
1980
+ /**
1981
+ * [MoveAssignable]: http://en.cppreference.com/w/cpp/concept/MoveAssignable
1982
+ *
1983
+ * **Effects**: Destroys the range `[first,last)` and removes it from the devector.
1984
+ * Invalidates iterators.
1985
+ *
1986
+ * **Requires**: `T` shall be [MoveAssignable].
1987
+ *
1988
+ * **Precondition**: `[first,last)` must be in the range of `[begin(), end())`.
1989
+ *
1990
+ * **Returns**: Iterator pointing to the element pointed to by `last` prior to any elements
1991
+ * being erased. If no such element exists, `end()` is returned.
1992
+ *
1993
+ * **Exceptions**: Strong exception guarantee if `T` is `NothrowAssignable`,
1994
+ * Basic exception guarantee otherwise.
1995
+ *
1996
+ * **Complexity**: Linear in half the size of `*this`
1997
+ * plus the distance between `first` and `last`.
1998
+ */
1999
+ iterator erase(const_iterator first, const_iterator last)
2000
+ {
2001
+ iterator nc_first = unconst_iterator(first);
2002
+ iterator nc_last = unconst_iterator(last);
2003
+ return erase(nc_first, nc_last);
2004
+ }
2005
+
2006
+ /**
2007
+ * [MoveAssignable]: http://en.cppreference.com/w/cpp/concept/MoveAssignable
2008
+ *
2009
+ * **Effects**: Destroys the range `[first,last)` and removes it from the devector.
2010
+ * Invalidates iterators.
2011
+ *
2012
+ * **Requires**: `T` shall be [MoveAssignable].
2013
+ *
2014
+ * **Precondition**: `[first,last)` must be in the range of `[begin(), end())`.
2015
+ *
2016
+ * **Returns**: Iterator pointing to the element pointed to by `last` prior to any elements
2017
+ * being erased. If no such element exists, `end()` is returned.
2018
+ *
2019
+ * **Exceptions**: Strong exception guarantee if `T` is `NothrowAssignable`,
2020
+ * Basic exception guarantee otherwise.
2021
+ *
2022
+ * **Complexity**: Linear in half the size of `*this`.
2023
+ */
2024
+ iterator erase(iterator first, iterator last)
2025
+ {
2026
+ size_type front_distance = pos_to_index(last);
2027
+ size_type back_distance = size_type(end() - first);
2028
+ size_type n = boost::container::iterator_udistance(first, last);
2029
+
2030
+ if (front_distance < back_distance)
2031
+ {
2032
+ // move n to the right
2033
+ boost::container::move_backward(begin(), first, last);
2034
+
2035
+ for (iterator i = begin(); i != begin() + n; ++i)
2036
+ {
2037
+ allocator_traits_type::destroy(get_allocator_ref(), boost::movelib::to_raw_pointer(i));
2038
+ }
2039
+ //n is always less than max stored_size_type
2040
+ m_.set_front_idx(m_.front_idx + n);
2041
+
2042
+ BOOST_ASSERT(invariants_ok());
2043
+ return last;
2044
+ }
2045
+ else {
2046
+ // move n to the left
2047
+ boost::container::move(last, end(), first);
2048
+
2049
+ for (iterator i = end() - n; i != end(); ++i)
2050
+ {
2051
+ allocator_traits_type::destroy(get_allocator_ref(), boost::movelib::to_raw_pointer(i));
2052
+ }
2053
+ //n is always less than max stored_size_type
2054
+ m_.set_back_idx(m_.back_idx - n);
2055
+
2056
+ BOOST_ASSERT(invariants_ok());
2057
+ return first;
2058
+ }
2059
+ }
2060
+
2061
+ /**
2062
+ * [MoveInsertable]: http://en.cppreference.com/w/cpp/concept/MoveInsertable
2063
+ *
2064
+ * **Effects**: exchanges the contents of `*this` and `b`.
2065
+ *
2066
+ * **Requires**: instances of `T` must be swappable by unqualified call of `swap`
2067
+ * and `T` must be [MoveInsertable] into `*this`.
2068
+ *
2069
+ * **Precondition**: The allocators should allow propagation or should compare equal.
2070
+ *
2071
+ * **Exceptions**: Basic exceptions guarantee if not `noexcept`.
2072
+ *
2073
+ * **Complexity**: Constant.
2074
+ */
2075
+ void swap(devector& b)
2076
+ BOOST_NOEXCEPT_IF( allocator_traits_type::propagate_on_container_swap::value
2077
+ || allocator_traits_type::is_always_equal::value)
2078
+ {
2079
+ BOOST_CONSTEXPR_OR_CONST bool propagate_alloc = allocator_traits_type::propagate_on_container_swap::value;
2080
+ BOOST_ASSERT(propagate_alloc || get_allocator_ref() == b.get_allocator_ref()); // else it's undefined behavior
2081
+
2082
+ swap_big_big(*this, b);
2083
+
2084
+ // swap indices
2085
+ boost::adl_move_swap(m_.front_idx, b.m_.front_idx);
2086
+ boost::adl_move_swap(m_.back_idx, b.m_.back_idx);
2087
+
2088
+ //And now swap the allocator
2089
+ dtl::swap_alloc(this->get_allocator_ref(), b.get_allocator_ref(), dtl::bool_<propagate_alloc>());
2090
+
2091
+ BOOST_ASSERT( invariants_ok());
2092
+ BOOST_ASSERT(b.invariants_ok());
2093
+ }
2094
+
2095
+ /**
2096
+ * **Effects**: Destroys all elements in the devector.
2097
+ * Invalidates all references, pointers and iterators to the
2098
+ * elements of the devector.
2099
+ *
2100
+ * **Postcondition**: `empty() && front_free_capacity() == 0
2101
+ * && back_free_capacity() == old capacity`.
2102
+ *
2103
+ * **Complexity**: Linear in the size of `*this`.
2104
+ *
2105
+ * **Remarks**: Does not free memory.
2106
+ */
2107
+ void clear() BOOST_NOEXCEPT
2108
+ {
2109
+ destroy_elements(begin(), end());
2110
+ m_.front_idx = m_.back_idx = 0;
2111
+ }
2112
+
2113
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2114
+ friend bool operator==(const devector& x, const devector& y)
2115
+ { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
2116
+
2117
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2118
+ friend bool operator!=(const devector& x, const devector& y)
2119
+ { return !(x == y); }
2120
+
2121
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2122
+ friend bool operator< (const devector& x, const devector& y)
2123
+ { return boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
2124
+
2125
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2126
+ friend bool operator>(const devector& x, const devector& y)
2127
+ { return y < x; }
2128
+
2129
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2130
+ friend bool operator<=(const devector& x, const devector& y)
2131
+ { return !(y < x); }
2132
+
2133
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2134
+ friend bool operator>=(const devector& x, const devector& y)
2135
+ { return !(x < y); }
2136
+
2137
+ BOOST_CONTAINER_FORCEINLINE friend void swap(devector& x, devector& y)
2138
+ BOOST_NOEXCEPT_IF( allocator_traits_type::propagate_on_container_swap::value
2139
+ || allocator_traits_type::is_always_equal::value)
2140
+ { x.swap(y); }
2141
+
2142
+ private:
2143
+
2144
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2145
+ size_type pos_to_index(const_iterator i) const
2146
+ {
2147
+ return static_cast<size_type>(i - cbegin());
2148
+ }
2149
+
2150
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2151
+ bool should_move_back(const_iterator i) const
2152
+ {
2153
+ return static_cast<size_type>(this->pos_to_index(i)) >= this->size()/2u;
2154
+ }
2155
+
2156
+ BOOST_CONTAINER_FORCEINLINE static iterator unconst_iterator(const_iterator i)
2157
+ {
2158
+ return boost::intrusive::pointer_traits<pointer>::const_cast_from(i);
2159
+ }
2160
+
2161
+ BOOST_CONTAINER_FORCEINLINE size_type front_capacity() const
2162
+ {
2163
+ return m_.back_idx;
2164
+ }
2165
+
2166
+ BOOST_CONTAINER_FORCEINLINE size_type back_capacity() const
2167
+ {
2168
+ return size_type(m_.capacity - m_.front_idx);
2169
+ }
2170
+
2171
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
2172
+
2173
+ BOOST_CONTAINER_FORCEINLINE T* priv_raw_begin() BOOST_NOEXCEPT
2174
+ { return boost::movelib::to_raw_pointer(m_.buffer) + m_.front_idx; }
2175
+
2176
+ BOOST_CONTAINER_FORCEINLINE T* priv_raw_end() BOOST_NOEXCEPT
2177
+ { return boost::movelib::to_raw_pointer(m_.buffer) + m_.back_idx; }
2178
+
2179
+
2180
+ template <class U>
2181
+ BOOST_CONTAINER_FORCEINLINE void priv_push_front(BOOST_FWD_REF(U) u)
2182
+ {
2183
+ this->emplace_front(boost::forward<U>(u));
2184
+ }
2185
+
2186
+ template <class U>
2187
+ BOOST_CONTAINER_FORCEINLINE void priv_push_back(BOOST_FWD_REF(U) u)
2188
+ {
2189
+ this->emplace_back(boost::forward<U>(u));
2190
+ }
2191
+
2192
+ template <class U>
2193
+ BOOST_CONTAINER_FORCEINLINE iterator priv_insert(const_iterator pos, BOOST_FWD_REF(U) u)
2194
+ {
2195
+ return this->emplace(pos, boost::forward<U>(u));
2196
+ }
2197
+
2198
+ // allocator_type wrappers
2199
+
2200
+ BOOST_CONTAINER_FORCEINLINE allocator_type& get_allocator_ref() BOOST_NOEXCEPT
2201
+ {
2202
+ return static_cast<allocator_type&>(m_);
2203
+ }
2204
+
2205
+ BOOST_CONTAINER_FORCEINLINE const allocator_type& get_allocator_ref() const BOOST_NOEXCEPT
2206
+ {
2207
+ return static_cast<const allocator_type&>(m_);
2208
+ }
2209
+
2210
+ pointer allocate(size_type capacity)
2211
+ {
2212
+ pointer const p = impl::do_allocate(get_allocator_ref(), capacity);
2213
+ #ifdef BOOST_CONTAINER_DEVECTOR_ALLOC_STATS
2214
+ ++m_.capacity_alloc_count;
2215
+ #endif // BOOST_CONTAINER_DEVECTOR_ALLOC_STATS
2216
+ return p;
2217
+ }
2218
+
2219
+ void destroy_elements(pointer begin, pointer end)
2220
+ {
2221
+ for (; begin != end; ++begin)
2222
+ {
2223
+ allocator_traits_type::destroy(get_allocator_ref(), boost::movelib::to_raw_pointer(begin));
2224
+ }
2225
+ }
2226
+
2227
+ void deallocate_buffer()
2228
+ {
2229
+ if (m_.buffer)
2230
+ {
2231
+ allocator_traits_type::deallocate(get_allocator_ref(), m_.buffer, m_.capacity);
2232
+ }
2233
+ }
2234
+
2235
+ #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
2236
+ template <typename... Args>
2237
+ BOOST_CONTAINER_FORCEINLINE void alloc_construct(pointer dst, Args&&... args)
2238
+ {
2239
+ allocator_traits_type::construct(
2240
+ get_allocator_ref(),
2241
+ boost::movelib::to_raw_pointer(dst),
2242
+ boost::forward<Args>(args)...
2243
+ );
2244
+ }
2245
+
2246
+ template <typename... Args>
2247
+ void construct_n(pointer buffer, size_type n, Args&&... args)
2248
+ {
2249
+ detail::construction_guard<allocator_type> ctr_guard(buffer, get_allocator_ref());
2250
+ guarded_construct_n(buffer, n, ctr_guard, boost::forward<Args>(args)...);
2251
+ ctr_guard.release();
2252
+ }
2253
+
2254
+ template <typename... Args>
2255
+ void guarded_construct_n(pointer buffer, size_type n, detail::construction_guard<allocator_type>& ctr_guard, Args&&... args)
2256
+ {
2257
+ for (size_type i = 0; i < n; ++i) {
2258
+ this->alloc_construct(buffer + i, boost::forward<Args>(args)...);
2259
+ ctr_guard.extend();
2260
+ }
2261
+ }
2262
+
2263
+ #else //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
2264
+
2265
+ #define BOOST_CONTAINER_DEVECTOR_ALLOC_CONSTRUCT(N) \
2266
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
2267
+ BOOST_CONTAINER_FORCEINLINE void alloc_construct(pointer dst BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
2268
+ {\
2269
+ allocator_traits_type::construct(\
2270
+ get_allocator_ref(), boost::movelib::to_raw_pointer(dst) BOOST_MOVE_I##N BOOST_MOVE_FWD##N );\
2271
+ }\
2272
+ \
2273
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
2274
+ void construct_n(pointer buffer, size_type n BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
2275
+ {\
2276
+ detail::construction_guard<allocator_type> ctr_guard(buffer, get_allocator_ref());\
2277
+ guarded_construct_n(buffer, n, ctr_guard BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
2278
+ ctr_guard.release();\
2279
+ }\
2280
+ \
2281
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
2282
+ void guarded_construct_n(pointer buffer, size_type n, detail::construction_guard<allocator_type>& ctr_guard BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
2283
+ {\
2284
+ for (size_type i = 0; i < n; ++i) {\
2285
+ this->alloc_construct(buffer + i BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
2286
+ ctr_guard.extend();\
2287
+ }\
2288
+ }
2289
+ //
2290
+ BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_DEVECTOR_ALLOC_CONSTRUCT)
2291
+ #undef BOOST_CONTAINER_DEVECTOR_ALLOC_CONSTRUCT
2292
+
2293
+ #endif //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
2294
+
2295
+ size_type calculate_new_capacity(size_type requested_capacity)
2296
+ {
2297
+ size_type max = allocator_traits_type::max_size(this->get_allocator_ref());
2298
+ (clamp_by_stored_size_type)(max, stored_size_type());
2299
+ const size_type remaining_additional_cap = max - size_type(m_.capacity);
2300
+ const size_type min_additional_cap = requested_capacity - size_type(m_.capacity);
2301
+ if ( remaining_additional_cap < min_additional_cap )
2302
+ boost::container::throw_length_error("devector: get_next_capacity, max size exceeded");
2303
+
2304
+ return growth_factor_type()( size_type(m_.capacity), min_additional_cap, max);
2305
+ }
2306
+
2307
+ void buffer_move_or_copy(pointer dst)
2308
+ {
2309
+ detail::construction_guard<allocator_type> guard(dst, get_allocator_ref());
2310
+
2311
+ buffer_move_or_copy(dst, guard);
2312
+
2313
+ guard.release();
2314
+ }
2315
+
2316
+ void buffer_move_or_copy(pointer dst, detail::construction_guard<allocator_type>& guard)
2317
+ {
2318
+ opt_move_or_copy(begin(), end(), dst, guard);
2319
+
2320
+ destroy_elements(data(), data() + size());
2321
+ deallocate_buffer();
2322
+ }
2323
+
2324
+ template <typename Guard>
2325
+ void opt_move_or_copy(pointer begin, pointer end, pointer dst, Guard& guard)
2326
+ {
2327
+ // if trivial copy and default allocator, memcpy
2328
+ boost::container::uninitialized_move_alloc(get_allocator_ref(), begin, end, dst);
2329
+ guard.extend();
2330
+ }
2331
+
2332
+ #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
2333
+
2334
+ template <typename... Args>
2335
+ void resize_impl(size_type sz, Args&&... args)
2336
+ {
2337
+ const size_type old_sz = this->size();
2338
+ if (sz > old_sz)
2339
+ {
2340
+ const size_type n = sz - old_sz;
2341
+
2342
+ if (sz <= m_.capacity)
2343
+ {
2344
+ //Construct at back
2345
+ const size_type bfc = this->back_free_capacity();
2346
+ const size_type b = n < bfc ? n : bfc;
2347
+ construct_n(m_.buffer + m_.back_idx, b, boost::forward<Args>(args)...);
2348
+ m_.set_back_idx(m_.back_idx + b);
2349
+
2350
+ //Construct remaining at front
2351
+ const size_type f = n - b;
2352
+ construct_n(m_.buffer + m_.front_idx - f, f, boost::forward<Args>(args)...);
2353
+ m_.set_front_idx(m_.front_idx - f);
2354
+ }
2355
+ else
2356
+ {
2357
+ resize_back_slow_path(sz, n, boost::forward<Args>(args)...);
2358
+ }
2359
+ }
2360
+ else
2361
+ {
2362
+ const size_type n = old_sz - sz;
2363
+ const size_type new_bidx = m_.back_idx - n;
2364
+ destroy_elements(m_.buffer + new_bidx, m_.buffer + m_.back_idx);
2365
+ m_.set_back_idx(new_bidx);
2366
+ }
2367
+ }
2368
+
2369
+ template <typename... Args>
2370
+ void resize_front_impl(size_type sz , Args&&... args)
2371
+ {
2372
+ const size_type old_sz = this->size();
2373
+ if (sz > old_sz)
2374
+ {
2375
+ const size_type n = sz - old_sz;
2376
+
2377
+ if (sz <= this->front_capacity())
2378
+ {
2379
+ construct_n(m_.buffer + m_.front_idx - n, n, boost::forward<Args>(args)...);
2380
+ m_.set_front_idx(m_.front_idx - n);
2381
+ }
2382
+ else
2383
+ {
2384
+ resize_front_slow_path(sz, n, boost::forward<Args>(args)...);
2385
+ }
2386
+ }
2387
+ else {
2388
+ const size_type n = old_sz - sz;
2389
+ const size_type new_fidx = m_.front_idx + n;
2390
+ destroy_elements(m_.buffer + m_.front_idx, m_.buffer + new_fidx);
2391
+ m_.set_front_idx(new_fidx);
2392
+ }
2393
+ }
2394
+
2395
+ template <typename... Args>
2396
+ void resize_front_slow_path(size_type sz, size_type n, Args&&... args)
2397
+ {
2398
+ const size_type new_capacity = calculate_new_capacity(sz + back_free_capacity());
2399
+ pointer new_buffer = allocate(new_capacity);
2400
+ allocation_guard new_buffer_guard(new_buffer, new_capacity, get_allocator_ref());
2401
+
2402
+ const size_type old_sz = this->size();
2403
+ const size_type new_old_elem_index = new_capacity - old_sz;
2404
+ const size_type new_elem_index = new_old_elem_index - n;
2405
+
2406
+ detail::construction_guard<allocator_type> guard(new_buffer + new_elem_index, get_allocator_ref());
2407
+ guarded_construct_n(new_buffer + new_elem_index, n, guard, boost::forward<Args>(args)...);
2408
+
2409
+ buffer_move_or_copy(new_buffer + new_old_elem_index, guard);
2410
+
2411
+ guard.release();
2412
+ new_buffer_guard.release();
2413
+
2414
+ m_.buffer = new_buffer;
2415
+ m_.set_capacity(new_capacity);
2416
+ m_.set_front_idx(new_elem_index);
2417
+ m_.set_back_idx(new_elem_index + old_sz + n);
2418
+ }
2419
+
2420
+ template <typename... Args>
2421
+ void resize_back_impl(size_type sz, Args&&... args)
2422
+ {
2423
+ const size_type old_sz = this->size();
2424
+ if (sz > old_sz)
2425
+ {
2426
+ const size_type n = sz - old_sz;
2427
+
2428
+ if (sz <= this->back_capacity())
2429
+ {
2430
+ construct_n(m_.buffer + m_.back_idx, n, boost::forward<Args>(args)...);
2431
+ m_.set_back_idx(m_.back_idx + n);
2432
+ }
2433
+ else
2434
+ {
2435
+ resize_back_slow_path(sz, n, boost::forward<Args>(args)...);
2436
+ }
2437
+ }
2438
+ else
2439
+ {
2440
+ const size_type n = old_sz - sz;
2441
+ const size_type new_bidx = m_.back_idx - n;
2442
+ destroy_elements(m_.buffer + new_bidx, m_.buffer + m_.back_idx);
2443
+ m_.set_back_idx(new_bidx);
2444
+ }
2445
+ }
2446
+
2447
+ template <typename... Args>
2448
+ void resize_back_slow_path(size_type sz, size_type n, Args&&... args)
2449
+ {
2450
+ const size_type new_capacity = calculate_new_capacity(sz + front_free_capacity());
2451
+ pointer new_buffer = allocate(new_capacity);
2452
+ allocation_guard new_buffer_guard(new_buffer, new_capacity, get_allocator_ref());
2453
+
2454
+ detail::construction_guard<allocator_type> guard(new_buffer + m_.back_idx, get_allocator_ref());
2455
+ guarded_construct_n(new_buffer + m_.back_idx, n, guard, boost::forward<Args>(args)...);
2456
+
2457
+ buffer_move_or_copy(new_buffer + m_.front_idx);
2458
+
2459
+ guard.release();
2460
+ new_buffer_guard.release();
2461
+
2462
+ m_.buffer = new_buffer;
2463
+ m_.set_capacity(new_capacity);
2464
+ m_.set_back_idx(m_.back_idx + n);
2465
+ }
2466
+
2467
+ #else //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
2468
+
2469
+ #define BOOST_CONTAINER_DEVECTOR_SLOW_PATH(N) \
2470
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
2471
+ void resize_front_impl(size_type sz BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
2472
+ {\
2473
+ if (sz > size())\
2474
+ {\
2475
+ const size_type n = sz - size();\
2476
+ if (sz <= front_capacity()){\
2477
+ construct_n(m_.buffer + m_.front_idx - n, n BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
2478
+ m_.set_front_idx(m_.front_idx - n);\
2479
+ }\
2480
+ else\
2481
+ {\
2482
+ resize_front_slow_path(sz, n BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
2483
+ }\
2484
+ }\
2485
+ else {\
2486
+ while (this->size() > sz)\
2487
+ {\
2488
+ this->pop_front();\
2489
+ }\
2490
+ }\
2491
+ }\
2492
+ \
2493
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
2494
+ void resize_front_slow_path(size_type sz, size_type n BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
2495
+ {\
2496
+ const size_type new_capacity = calculate_new_capacity(sz + back_free_capacity());\
2497
+ pointer new_buffer = allocate(new_capacity);\
2498
+ allocation_guard new_buffer_guard(new_buffer, new_capacity, get_allocator_ref());\
2499
+ \
2500
+ const size_type new_old_elem_index = new_capacity - size();\
2501
+ const size_type new_elem_index = new_old_elem_index - n;\
2502
+ \
2503
+ detail::construction_guard<allocator_type> guard(new_buffer + new_elem_index, get_allocator_ref());\
2504
+ guarded_construct_n(new_buffer + new_elem_index, n, guard BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
2505
+ \
2506
+ buffer_move_or_copy(new_buffer + new_old_elem_index, guard);\
2507
+ \
2508
+ guard.release();\
2509
+ new_buffer_guard.release();\
2510
+ m_.buffer = new_buffer;\
2511
+ m_.set_capacity(new_capacity);\
2512
+ m_.set_back_idx(new_old_elem_index + m_.back_idx - m_.front_idx);\
2513
+ m_.set_front_idx(new_elem_index);\
2514
+ }\
2515
+ \
2516
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
2517
+ void resize_back_impl(size_type sz BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
2518
+ {\
2519
+ if (sz > size())\
2520
+ {\
2521
+ const size_type n = sz - size();\
2522
+ \
2523
+ if (sz <= back_capacity())\
2524
+ {\
2525
+ construct_n(m_.buffer + m_.back_idx, n BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
2526
+ m_.set_back_idx(m_.back_idx + n);\
2527
+ }\
2528
+ else\
2529
+ {\
2530
+ resize_back_slow_path(sz, n BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
2531
+ }\
2532
+ }\
2533
+ else\
2534
+ {\
2535
+ while (size() > sz)\
2536
+ {\
2537
+ pop_back();\
2538
+ }\
2539
+ }\
2540
+ }\
2541
+ \
2542
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
2543
+ void resize_back_slow_path(size_type sz, size_type n BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
2544
+ {\
2545
+ const size_type new_capacity = calculate_new_capacity(sz + front_free_capacity());\
2546
+ pointer new_buffer = allocate(new_capacity);\
2547
+ allocation_guard new_buffer_guard(new_buffer, new_capacity, get_allocator_ref());\
2548
+ \
2549
+ detail::construction_guard<allocator_type> guard(new_buffer + m_.back_idx, get_allocator_ref());\
2550
+ guarded_construct_n(new_buffer + m_.back_idx, n, guard BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
2551
+ \
2552
+ buffer_move_or_copy(new_buffer + m_.front_idx);\
2553
+ \
2554
+ guard.release();\
2555
+ new_buffer_guard.release();\
2556
+ \
2557
+ m_.buffer = new_buffer;\
2558
+ m_.set_capacity(new_capacity);\
2559
+ m_.set_back_idx(m_.back_idx + n);\
2560
+ }\
2561
+ \
2562
+ //
2563
+ BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_DEVECTOR_SLOW_PATH)
2564
+ #undef BOOST_CONTAINER_DEVECTOR_SLOW_PATH
2565
+
2566
+ #endif //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
2567
+
2568
+ void reallocate_at(size_type new_capacity, size_type buffer_offset)
2569
+ {
2570
+ pointer new_buffer = allocate(new_capacity);
2571
+ {
2572
+ allocation_guard new_buffer_guard(new_buffer, new_capacity, get_allocator_ref());
2573
+ boost::container::uninitialized_move_alloc(get_allocator_ref(), this->begin(), this->end(), new_buffer + buffer_offset);
2574
+ new_buffer_guard.release();
2575
+ }
2576
+ destroy_elements(m_.buffer + m_.front_idx, m_.buffer + m_.back_idx);
2577
+ deallocate_buffer();
2578
+
2579
+ m_.buffer = new_buffer;
2580
+ //Safe cast, allocate() will handle stored_size_type overflow
2581
+ m_.set_capacity(new_capacity);
2582
+ m_.set_back_idx(size_type(m_.back_idx - m_.front_idx) + buffer_offset);
2583
+ m_.set_front_idx(buffer_offset);
2584
+
2585
+ BOOST_ASSERT(invariants_ok());
2586
+ }
2587
+
2588
+ template <typename ForwardIterator>
2589
+ iterator insert_range(const_iterator position, ForwardIterator first, ForwardIterator last)
2590
+ {
2591
+ BOOST_ASSERT(position >= begin());
2592
+ BOOST_ASSERT(position <= end());
2593
+ typedef dtl::insert_range_proxy<allocator_type, ForwardIterator> proxy_t;
2594
+
2595
+ size_type const n = boost::container::iterator_udistance(first, last);
2596
+ bool prefer_move_back;
2597
+ if (BOOST_UNLIKELY(!n)) {
2598
+ return begin() + size_type(position - cbegin());
2599
+ }
2600
+ else if (position == end()) {
2601
+ if(back_free_capacity() >= n) // fast path
2602
+ {
2603
+ iterator r(this->end());
2604
+ boost::container::uninitialized_copy_alloc(get_allocator_ref(), first, last, this->priv_raw_end());
2605
+ m_.set_back_idx(m_.back_idx + n);
2606
+ return r;
2607
+ }
2608
+ prefer_move_back = true;
2609
+ }
2610
+ else if (position == begin()) {
2611
+ if(front_free_capacity() >= n) {// secondary fast path
2612
+ boost::container::uninitialized_copy_alloc(get_allocator_ref(), first, last, this->priv_raw_begin() - n);
2613
+ m_.set_front_idx(m_.front_idx - n);
2614
+ return begin();
2615
+ }
2616
+ prefer_move_back = false;
2617
+ }
2618
+ else{
2619
+ iterator nonconst_pos = unconst_iterator(position);
2620
+ prefer_move_back = should_move_back(position);
2621
+
2622
+ if(prefer_move_back){
2623
+ if(back_free_capacity() >= n){
2624
+ boost::container::expand_forward_and_insert_nonempty_middle_alloc
2625
+ ( get_allocator_ref()
2626
+ , boost::movelib::to_raw_pointer(nonconst_pos)
2627
+ , this->priv_raw_end()
2628
+ , n, proxy_t(first));
2629
+ m_.set_back_idx(m_.back_idx + n);
2630
+ return nonconst_pos;
2631
+ }
2632
+ }
2633
+ else{
2634
+ if (front_free_capacity() >= n){
2635
+ boost::container::expand_backward_and_insert_nonempty_middle_alloc
2636
+ ( get_allocator_ref()
2637
+ , this->priv_raw_begin()
2638
+ , boost::movelib::to_raw_pointer(nonconst_pos)
2639
+ , n, proxy_t(first));
2640
+ m_.set_front_idx(m_.front_idx - n);
2641
+ return (nonconst_pos -= n);
2642
+ }
2643
+ }
2644
+ }
2645
+ return this->insert_range_slow_path(position, n, proxy_t(first));
2646
+ }
2647
+
2648
+ template <class InsertionProxy>
2649
+ BOOST_CONTAINER_NOINLINE iterator insert_range_slow_path
2650
+ (const_iterator p, const size_type n, const InsertionProxy proxy)
2651
+ {
2652
+ size_type const back_free_cap = back_free_capacity();
2653
+ size_type const front_free_cap = front_free_capacity();
2654
+ size_type const free_cap = front_free_cap + back_free_cap;
2655
+ size_type const index = size_type(p - cbegin());
2656
+
2657
+ size_type const cap = m_.capacity;
2658
+ //Test if enough free memory would be left
2659
+ if (free_cap >= n && (free_cap - n) >= cap/devector_min_free_fraction) {
2660
+ //Make sure relocation is happening because there was no enough space
2661
+ size_type const old_size = this->size();
2662
+ BOOST_ASSERT(should_move_back(p) ? (back_free_cap < n) : (front_free_cap < n));
2663
+
2664
+ T* const raw_pos = const_cast<T*>(boost::movelib::to_raw_pointer(p));
2665
+ size_type const new_size = old_size + n;
2666
+ size_type const new_front_idx = (cap - new_size) / 2u;
2667
+
2668
+ T* const raw_beg = this->priv_raw_begin();
2669
+ T* const new_raw_beg = raw_beg - std::ptrdiff_t(m_.front_idx - new_front_idx);
2670
+ m_.back_idx = 0u;
2671
+ m_.front_idx = 0u;
2672
+ boost::container::expand_backward_forward_and_insert_alloc
2673
+ (raw_beg, old_size, new_raw_beg, raw_pos, n, proxy, get_allocator_ref());
2674
+ m_.set_front_idx(new_front_idx);
2675
+ m_.set_back_idx(new_front_idx + new_size);
2676
+ }
2677
+ else {
2678
+ // reallocate
2679
+ const size_type new_capacity = calculate_new_capacity(m_.capacity + n);
2680
+ pointer new_buffer = allocate(new_capacity);
2681
+
2682
+ // guard allocation
2683
+ allocation_guard new_buffer_guard(new_buffer, new_capacity, get_allocator_ref());
2684
+
2685
+ size_type const old_size = this->size();
2686
+ const size_type new_front_index = (new_capacity - old_size - n) / 2u;
2687
+
2688
+ T* const raw_pos = const_cast<T*>(boost::movelib::to_raw_pointer(p));
2689
+ T* const raw_new_start = const_cast<T*>(boost::movelib::to_raw_pointer(new_buffer)) + new_front_index;
2690
+
2691
+ boost::container::uninitialized_move_and_insert_alloc
2692
+ (get_allocator_ref(), this->priv_raw_begin(), raw_pos, this->priv_raw_end(), raw_new_start, n, proxy);
2693
+ new_buffer_guard.release();
2694
+
2695
+ // cleanup
2696
+ destroy_elements(begin(), end());
2697
+ deallocate_buffer();
2698
+
2699
+ // rebind members
2700
+ m_.set_capacity(new_capacity);
2701
+ m_.buffer = new_buffer;
2702
+ m_.set_back_idx(new_front_index + old_size + n);
2703
+ m_.set_front_idx(new_front_index);
2704
+ }
2705
+ return begin() + index;
2706
+ }
2707
+
2708
+
2709
+ template <typename Iterator>
2710
+ void construct_from_range(Iterator begin, Iterator end)
2711
+ {
2712
+ allocation_guard buffer_guard(m_.buffer, m_.capacity, get_allocator_ref());
2713
+ boost::container::uninitialized_copy_alloc(get_allocator_ref(), begin, end, m_.buffer);
2714
+ buffer_guard.release();
2715
+ }
2716
+
2717
+ template <typename ForwardIterator>
2718
+ void allocate_and_copy_range(ForwardIterator first, ForwardIterator last)
2719
+ {
2720
+ size_type n = boost::container::iterator_udistance(first, last);
2721
+
2722
+ pointer new_buffer = n ? allocate(n) : pointer();
2723
+ allocation_guard new_buffer_guard(new_buffer, n, get_allocator_ref());
2724
+ boost::container::uninitialized_copy_alloc(get_allocator_ref(), first, last, new_buffer);
2725
+ destroy_elements(begin(), end());
2726
+ deallocate_buffer();
2727
+
2728
+ m_.set_capacity(n);
2729
+ m_.buffer = new_buffer;
2730
+ m_.front_idx = 0;
2731
+ m_.set_back_idx(n);
2732
+
2733
+ new_buffer_guard.release();
2734
+ }
2735
+
2736
+ static void swap_big_big(devector& a, devector& b) BOOST_NOEXCEPT
2737
+ {
2738
+ boost::adl_move_swap(a.m_.capacity, b.m_.capacity);
2739
+ boost::adl_move_swap(a.m_.buffer, b.m_.buffer);
2740
+ }
2741
+
2742
+ template <typename ForwardIterator>
2743
+ void overwrite_buffer_impl(ForwardIterator first, ForwardIterator last, dtl::true_)
2744
+ {
2745
+ const size_type n = boost::container::iterator_udistance(first, last);
2746
+
2747
+ BOOST_ASSERT(m_.capacity >= n);
2748
+ boost::container::uninitialized_copy_alloc_n
2749
+ ( get_allocator_ref(), first
2750
+ , n, boost::movelib::to_raw_pointer(m_.buffer));
2751
+ m_.front_idx = 0;
2752
+ m_.set_back_idx(n);
2753
+ }
2754
+
2755
+ template <typename InputIterator>
2756
+ InputIterator overwrite_buffer_impl(InputIterator first, InputIterator last, dtl::false_)
2757
+ {
2758
+ pointer pos = m_.buffer;
2759
+ detail::construction_guard<allocator_type> front_guard(pos, get_allocator_ref());
2760
+
2761
+ while (first != last && pos != begin()) {
2762
+ this->alloc_construct(pos++, *first++);
2763
+ front_guard.extend();
2764
+ }
2765
+
2766
+ while (first != last && pos != end()) {
2767
+ *pos++ = *first++;
2768
+ }
2769
+
2770
+ detail::construction_guard<allocator_type> back_guard(pos, get_allocator_ref());
2771
+
2772
+ iterator capacity_end = m_.buffer + m_.capacity;
2773
+ while (first != last && pos != capacity_end) {
2774
+ this->alloc_construct(pos++, *first++);
2775
+ back_guard.extend();
2776
+ }
2777
+
2778
+ pointer destroy_after = dtl::min_value(dtl::max_value(begin(), pos), end());
2779
+ destroy_elements(destroy_after, end());
2780
+
2781
+ front_guard.release();
2782
+ back_guard.release();
2783
+
2784
+ m_.front_idx = 0;
2785
+ m_.set_back_idx(pos_to_index(pos));
2786
+ return first;
2787
+ }
2788
+
2789
+ template <typename ForwardIterator>
2790
+ BOOST_CONTAINER_FORCEINLINE void overwrite_buffer(ForwardIterator first, ForwardIterator last)
2791
+ {
2792
+ this->overwrite_buffer_impl(first, last,
2793
+ dtl::bool_<dtl::is_trivially_destructible<T>::value>());
2794
+ }
2795
+
2796
+ bool invariants_ok()
2797
+ {
2798
+ return (! m_.capacity || m_.buffer )
2799
+ && m_.front_idx <= m_.back_idx
2800
+ && m_.back_idx <= m_.capacity;
2801
+ }
2802
+
2803
+ struct impl : allocator_type
2804
+ {
2805
+ BOOST_MOVABLE_BUT_NOT_COPYABLE(impl)
2806
+
2807
+ public:
2808
+ allocator_type &get_al()
2809
+ { return *this; }
2810
+
2811
+ static pointer do_allocate(allocator_type &a, size_type cap)
2812
+ {
2813
+ if (cap) {
2814
+ //First detect overflow on smaller stored_size_types
2815
+ if (cap > stored_size_type(-1)){
2816
+ boost::container::throw_length_error("get_next_capacity, allocator's max size reached");
2817
+ }
2818
+ return allocator_traits_type::allocate(a, cap);
2819
+ }
2820
+ else {
2821
+ return pointer();
2822
+ }
2823
+ }
2824
+
2825
+ impl()
2826
+ : allocator_type(), buffer(), front_idx(), back_idx(), capacity()
2827
+ #ifdef BOOST_CONTAINER_DEVECTOR_ALLOC_STATS
2828
+ , capacity_alloc_count(0)
2829
+ #endif
2830
+ {}
2831
+
2832
+ explicit impl(const allocator_type &a)
2833
+ : allocator_type(a), buffer(), front_idx(), back_idx(), capacity()
2834
+ #ifdef BOOST_CONTAINER_DEVECTOR_ALLOC_STATS
2835
+ , capacity_alloc_count(0)
2836
+ #endif
2837
+ {}
2838
+
2839
+ impl(reserve_uninitialized_t, const allocator_type& a, size_type c)
2840
+ : allocator_type(a), buffer(do_allocate(get_al(), c) )
2841
+ //static cast sizes, as the allocation function will take care of overflows
2842
+ , front_idx(static_cast<stored_size_type>(0u))
2843
+ , back_idx(static_cast<stored_size_type>(c))
2844
+ , capacity(static_cast<stored_size_type>(c))
2845
+ #ifdef BOOST_CONTAINER_DEVECTOR_ALLOC_STATS
2846
+ , capacity_alloc_count(size_type(buffer != pointer()))
2847
+ #endif
2848
+ {}
2849
+
2850
+ impl(reserve_only_tag_t, const allocator_type &a, size_type const ffc, size_type const bfc)
2851
+ : allocator_type(a), buffer(do_allocate(get_al(), ffc+bfc) )
2852
+ //static cast sizes, as the allocation function will take care of overflows
2853
+ , front_idx(static_cast<stored_size_type>(ffc))
2854
+ , back_idx(static_cast<stored_size_type>(ffc))
2855
+ , capacity(static_cast<stored_size_type>(ffc + bfc))
2856
+ #ifdef BOOST_CONTAINER_DEVECTOR_ALLOC_STATS
2857
+ , capacity_alloc_count(size_type(buffer != pointer()))
2858
+ #endif
2859
+ {}
2860
+
2861
+ impl(reserve_only_tag_t, const allocator_type &a, size_type const c)
2862
+ : allocator_type(a), buffer(do_allocate(get_al(), c) )
2863
+ //static cast sizes, as the allocation function will take care of overflows
2864
+ , front_idx(static_cast<stored_size_type>(c/2u))
2865
+ , back_idx(static_cast<stored_size_type>(c/2u))
2866
+ , capacity(static_cast<stored_size_type>(c))
2867
+ #ifdef BOOST_CONTAINER_DEVECTOR_ALLOC_STATS
2868
+ , capacity_alloc_count(size_type(buffer != pointer()))
2869
+ #endif
2870
+ {}
2871
+
2872
+ impl(review_implementation_t, const allocator_type &a, pointer p, size_type fi, size_type bi, size_type c)
2873
+ : allocator_type(a), buffer(p)
2874
+ //static cast sizes, as the allocation function will take care of overflows
2875
+ , front_idx(static_cast<stored_size_type>(fi))
2876
+ , back_idx(static_cast<stored_size_type>(bi))
2877
+ , capacity(static_cast<stored_size_type>(c))
2878
+ #ifdef BOOST_CONTAINER_DEVECTOR_ALLOC_STATS
2879
+ , capacity_alloc_count(0)
2880
+ #endif
2881
+ {}
2882
+
2883
+ impl(BOOST_RV_REF(impl) m)
2884
+ : allocator_type(BOOST_MOVE_BASE(allocator_type, m))
2885
+ , buffer(static_cast<impl&>(m).buffer)
2886
+ , front_idx(static_cast<impl&>(m).front_idx)
2887
+ , back_idx(static_cast<impl&>(m).back_idx)
2888
+ , capacity(static_cast<impl&>(m).capacity)
2889
+ #ifdef BOOST_CONTAINER_DEVECTOR_ALLOC_STATS
2890
+ , capacity_alloc_count(0)
2891
+ #endif
2892
+ {
2893
+ impl &i = static_cast<impl&>(m);
2894
+ // buffer is already acquired, reset rhs
2895
+ i.capacity = 0u;
2896
+ i.buffer = pointer();
2897
+ i.front_idx = 0;
2898
+ i.back_idx = 0;
2899
+ }
2900
+
2901
+ BOOST_CONTAINER_FORCEINLINE void set_back_idx(size_type bi)
2902
+ {
2903
+ back_idx = static_cast<stored_size_type>(bi);
2904
+ }
2905
+
2906
+ BOOST_CONTAINER_FORCEINLINE void set_front_idx(size_type fi)
2907
+ {
2908
+ front_idx = static_cast<stored_size_type>(fi);
2909
+ }
2910
+
2911
+ BOOST_CONTAINER_FORCEINLINE void set_capacity(size_type c)
2912
+ {
2913
+ capacity = static_cast<stored_size_type>(c);
2914
+ }
2915
+
2916
+ pointer buffer;
2917
+ stored_size_type front_idx;
2918
+ stored_size_type back_idx;
2919
+ stored_size_type capacity;
2920
+ #ifdef BOOST_CONTAINER_DEVECTOR_ALLOC_STATS
2921
+ size_type capacity_alloc_count;
2922
+ #endif
2923
+ } m_;
2924
+
2925
+ #ifdef BOOST_CONTAINER_DEVECTOR_ALLOC_STATS
2926
+ public:
2927
+ void reset_alloc_stats()
2928
+ {
2929
+ m_.capacity_alloc_count = 0;
2930
+ }
2931
+
2932
+ size_type get_alloc_count() const
2933
+ {
2934
+ return m_.capacity_alloc_count;
2935
+ }
2936
+
2937
+ #endif // ifdef BOOST_CONTAINER_DEVECTOR_ALLOC_STATS
2938
+
2939
+ #endif // ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
2940
+ };
2941
+
2942
+ }} // namespace boost::container
2943
+
2944
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
2945
+
2946
+ namespace boost {
2947
+
2948
+ //!has_trivial_destructor_after_move<> == true_type
2949
+ //!specialization for optimizations
2950
+ template <class T, class Allocator, class Options>
2951
+ struct has_trivial_destructor_after_move<boost::container::devector<T, Allocator, Options> >
2952
+ {
2953
+ typedef typename boost::container::devector<T, Allocator, Options>::allocator_type allocator_type;
2954
+ typedef typename ::boost::container::allocator_traits<allocator_type>::pointer pointer;
2955
+ static const bool value = ::boost::has_trivial_destructor_after_move<allocator_type>::value &&
2956
+ ::boost::has_trivial_destructor_after_move<pointer>::value;
2957
+ };
2958
+
2959
+ }
2960
+
2961
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
2962
+
2963
+ #include <boost/container/detail/config_end.hpp>
2964
+
2965
+ #endif // BOOST_CONTAINER_DEVECTOR_HPP