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,3069 @@
1
+ //////////////////////////////////////////////////////////////////////////////
2
+ //
3
+ // (C) Copyright Ion Gaztanaga 2005-2013. Distributed under the Boost
4
+ // Software License, Version 1.0. (See accompanying file
5
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
+ //
7
+ // See http://www.boost.org/libs/container for documentation.
8
+ //
9
+ //////////////////////////////////////////////////////////////////////////////
10
+ #ifndef BOOST_CONTAINER_FLAT_MAP_HPP
11
+ #define BOOST_CONTAINER_FLAT_MAP_HPP
12
+
13
+ #ifndef BOOST_CONFIG_HPP
14
+ # include <boost/config.hpp>
15
+ #endif
16
+
17
+ #if defined(BOOST_HAS_PRAGMA_ONCE)
18
+ # pragma once
19
+ #endif
20
+
21
+ #include <boost/container/detail/config_begin.hpp>
22
+ #include <boost/container/detail/workaround.hpp>
23
+ // container
24
+ #include <boost/container/allocator_traits.hpp>
25
+ #include <boost/container/container_fwd.hpp>
26
+ #include <boost/container/new_allocator.hpp> //new_allocator
27
+ #include <boost/container/throw_exception.hpp>
28
+ // container/detail
29
+ #include <boost/container/detail/flat_tree.hpp>
30
+ #include <boost/container/detail/type_traits.hpp>
31
+ #include <boost/container/detail/mpl.hpp>
32
+ #include <boost/container/detail/algorithm.hpp> //equal()
33
+ #include <boost/container/detail/container_or_allocator_rebind.hpp>
34
+ // move
35
+ #include <boost/move/utility_core.hpp>
36
+ #include <boost/move/traits.hpp>
37
+ // move/detail
38
+ #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
39
+ #include <boost/move/detail/fwd_macros.hpp>
40
+ #endif
41
+ #include <boost/move/detail/move_helpers.hpp>
42
+ #include <boost/move/detail/force_ptr.hpp>
43
+ // intrusive
44
+ #include <boost/intrusive/detail/minimal_pair_header.hpp> //pair
45
+ #include <boost/intrusive/detail/minimal_less_equal_header.hpp>//less, equal
46
+ //others
47
+ #include <boost/core/no_exceptions_support.hpp>
48
+
49
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
50
+ #include <initializer_list>
51
+ #endif
52
+
53
+ namespace boost {
54
+ namespace container {
55
+
56
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
57
+
58
+ template <class Key, class T, class Compare, class AllocatorOrContainer>
59
+ class flat_multimap;
60
+
61
+ namespace dtl{
62
+
63
+ template<class D, class S>
64
+ BOOST_CONTAINER_FORCEINLINE static D &force(S &s)
65
+ { return *move_detail::force_ptr<D*>(&s); }
66
+
67
+ template<class D, class S>
68
+ BOOST_CONTAINER_FORCEINLINE static const D &force(const S &s)
69
+ { return *move_detail::force_ptr<const D*>(&s); }
70
+
71
+ template<class D, class S>
72
+ BOOST_CONTAINER_FORCEINLINE static D force_copy(const S &s)
73
+ {
74
+ const D *const vp = move_detail::force_ptr<const D *>(&s);
75
+ D ret_val(*vp);
76
+ return ret_val;
77
+ }
78
+
79
+ } //namespace dtl{
80
+
81
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
82
+
83
+ //! A flat_map is a kind of associative container that supports unique keys (contains at
84
+ //! most one of each key value) and provides for fast retrieval of values of another
85
+ //! type T based on the keys.
86
+ //!
87
+ //! A flat_map satisfies all of the requirements of a container, a reversible
88
+ //! container and an associative container. A flat_map also provides
89
+ //! most operations described for unique keys. For a
90
+ //! flat_map<Key,T> the key_type is Key and the value_type is std::pair<Key,T>
91
+ //! (unlike std::map<Key, T> which value_type is std::pair<<b>const</b> Key, T>).
92
+ //!
93
+ //! flat_map is similar to std::map but it's implemented by as an ordered sequence container.
94
+ //! The underlying sequence container is by default <i>vector</i> but it can also work
95
+ //! user-provided vector-like SequenceContainers (like <i>static_vector</i> or <i>small_vector</i>).
96
+ //!
97
+ //! Using vector-like sequence containers means that inserting a new element into a flat_map might invalidate
98
+ //! previous iterators and references (unless that sequence container is <i>stable_vector</i> or a similar
99
+ //! container that offers stable pointers and references). Similarly, erasing an element might invalidate
100
+ //! iterators and references pointing to elements that come after (their keys are bigger) the erased element.
101
+ //!
102
+ //! This container provides random-access iterators.
103
+ //!
104
+ //! \tparam Key is the key_type of the map
105
+ //! \tparam Value is the <code>mapped_type</code>
106
+ //! \tparam Compare is the ordering function for Keys (e.g. <i>std::less<Key></i>).
107
+ //! \tparam AllocatorOrContainer is either:
108
+ //! - The allocator to allocate <code>value_type</code>s (e.g. <i>allocator< std::pair<Key, T> > </i>).
109
+ //! (in this case <i>sequence_type</i> will be vector<value_type, AllocatorOrContainer>)
110
+ //! - The SequenceContainer to be used as the underlying <i>sequence_type</i>. It must be a vector-like
111
+ //! sequence container with random-access iterators.
112
+ #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
113
+ template <class Key, class T, class Compare = std::less<Key>, class AllocatorOrContainer = new_allocator< std::pair< Key, T> > >
114
+ #else
115
+ template <class Key, class T, class Compare, class AllocatorOrContainer>
116
+ #endif
117
+ class flat_map
118
+ {
119
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
120
+ private:
121
+ BOOST_COPYABLE_AND_MOVABLE(flat_map)
122
+ //This is the tree that we should store if pair was movable
123
+ typedef dtl::flat_tree<
124
+ std::pair<Key, T>,
125
+ dtl::select1st<Key>,
126
+ Compare,
127
+ AllocatorOrContainer> tree_t;
128
+
129
+ //This is the real tree stored here. It's based on a movable pair
130
+ typedef dtl::flat_tree<
131
+ dtl::pair<Key, T>,
132
+ dtl::select1st<Key>,
133
+ Compare,
134
+ typename dtl::container_or_allocator_rebind<AllocatorOrContainer, dtl::pair<Key, T> >::type
135
+ > impl_tree_t;
136
+ impl_tree_t m_flat_tree; // flat tree representing flat_map
137
+
138
+ typedef typename impl_tree_t::value_type impl_value_type;
139
+ typedef typename impl_tree_t::const_iterator impl_const_iterator;
140
+ typedef typename impl_tree_t::iterator impl_iterator;
141
+ typedef typename impl_tree_t::allocator_type impl_allocator_type;
142
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
143
+ typedef std::initializer_list<impl_value_type> impl_initializer_list;
144
+ #endif
145
+
146
+ typedef dtl::flat_tree_value_compare
147
+ < Compare
148
+ , dtl::select1st<Key>
149
+ , std::pair<Key, T> > value_compare_t;
150
+ typedef typename tree_t::iterator iterator_t;
151
+ typedef typename tree_t::const_iterator const_iterator_t;
152
+ typedef typename tree_t::reverse_iterator reverse_iterator_t;
153
+ typedef typename tree_t::const_reverse_iterator const_reverse_iterator_t;
154
+
155
+ public:
156
+ typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type;
157
+ typedef typename impl_tree_t::sequence_type impl_sequence_type;
158
+
159
+ BOOST_CONTAINER_FORCEINLINE impl_tree_t &tree()
160
+ { return m_flat_tree; }
161
+
162
+ BOOST_CONTAINER_FORCEINLINE const impl_tree_t &tree() const
163
+ { return m_flat_tree; }
164
+
165
+ private:
166
+ typedef typename tree_t::get_stored_allocator_const_return_t get_stored_allocator_const_return_t;
167
+ typedef typename tree_t::get_stored_allocator_noconst_return_t get_stored_allocator_noconst_return_t;
168
+ typedef typename impl_tree_t::get_stored_allocator_const_return_t impl_get_stored_allocator_const_return_t;
169
+ typedef typename impl_tree_t::get_stored_allocator_noconst_return_t impl_get_stored_allocator_noconst_return_t;
170
+
171
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
172
+
173
+ public:
174
+
175
+ //////////////////////////////////////////////
176
+ //
177
+ // types
178
+ //
179
+ //////////////////////////////////////////////
180
+ typedef Key key_type;
181
+ typedef T mapped_type;
182
+ typedef Compare key_compare;
183
+ typedef std::pair<Key, T> value_type;
184
+ typedef typename BOOST_CONTAINER_IMPDEF(tree_t::sequence_type) sequence_type;
185
+ typedef typename sequence_type::allocator_type allocator_type;
186
+ typedef ::boost::container::allocator_traits<allocator_type> allocator_traits_type;
187
+ typedef typename sequence_type::pointer pointer;
188
+ typedef typename sequence_type::const_pointer const_pointer;
189
+ typedef typename sequence_type::reference reference;
190
+ typedef typename sequence_type::const_reference const_reference;
191
+ typedef typename sequence_type::size_type size_type;
192
+ typedef typename sequence_type::difference_type difference_type;
193
+ typedef typename BOOST_CONTAINER_IMPDEF(tree_t::stored_allocator_type) stored_allocator_type;
194
+ typedef typename BOOST_CONTAINER_IMPDEF(tree_t::value_compare) value_compare;
195
+
196
+ typedef typename sequence_type::iterator iterator;
197
+ typedef typename sequence_type::const_iterator const_iterator;
198
+ typedef typename sequence_type::reverse_iterator reverse_iterator;
199
+ typedef typename sequence_type::const_reverse_iterator const_reverse_iterator;
200
+ typedef BOOST_CONTAINER_IMPDEF(impl_value_type) movable_value_type;
201
+
202
+ //AllocatorOrContainer::value_type must be std::pair<Key, T>
203
+ BOOST_STATIC_ASSERT((dtl::is_same<std::pair<Key, T>, value_type>::value));
204
+
205
+ //////////////////////////////////////////////
206
+ //
207
+ // construct/copy/destroy
208
+ //
209
+ //////////////////////////////////////////////
210
+
211
+ //! <b>Effects</b>: Default constructs an empty flat_map.
212
+ //!
213
+ //! <b>Complexity</b>: Constant.
214
+ BOOST_CONTAINER_FORCEINLINE flat_map() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<AllocatorOrContainer>::value &&
215
+ dtl::is_nothrow_default_constructible<Compare>::value)
216
+ : m_flat_tree()
217
+ {}
218
+
219
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified allocator.
220
+ //!
221
+ //! <b>Complexity</b>: Constant.
222
+ BOOST_CONTAINER_FORCEINLINE explicit flat_map(const allocator_type& a)
223
+ : m_flat_tree(dtl::force<const impl_allocator_type>(a))
224
+ {}
225
+
226
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified
227
+ //! comparison object.
228
+ //!
229
+ //! <b>Complexity</b>: Constant.
230
+ BOOST_CONTAINER_FORCEINLINE explicit flat_map(const Compare& comp)
231
+ : m_flat_tree(comp)
232
+ {}
233
+
234
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified
235
+ //! comparison object and allocator.
236
+ //!
237
+ //! <b>Complexity</b>: Constant.
238
+ BOOST_CONTAINER_FORCEINLINE flat_map(const Compare& comp, const allocator_type& a)
239
+ : m_flat_tree(comp, dtl::force<const impl_allocator_type>(a))
240
+ {}
241
+
242
+ //! <b>Effects</b>: Constructs an empty flat_map and
243
+ //! and inserts elements from the range [first ,last ).
244
+ //!
245
+ //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
246
+ //! the predicate and otherwise N logN, where N is last - first.
247
+ template <class InputIterator>
248
+ BOOST_CONTAINER_FORCEINLINE flat_map(InputIterator first, InputIterator last)
249
+ : m_flat_tree(true, first, last)
250
+ {}
251
+
252
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified
253
+ //! allocator, and inserts elements from the range [first ,last ).
254
+ //!
255
+ //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
256
+ //! the predicate and otherwise N logN, where N is last - first.
257
+ template <class InputIterator>
258
+ BOOST_CONTAINER_FORCEINLINE flat_map(InputIterator first, InputIterator last, const allocator_type& a)
259
+ : m_flat_tree(true, first, last, dtl::force<const impl_allocator_type>(a))
260
+ {}
261
+
262
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
263
+ //! and inserts elements from the range [first ,last ).
264
+ //!
265
+ //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
266
+ //! the predicate and otherwise N logN, where N is last - first.
267
+ template <class InputIterator>
268
+ BOOST_CONTAINER_FORCEINLINE flat_map(InputIterator first, InputIterator last, const Compare& comp)
269
+ : m_flat_tree(true, first, last, comp)
270
+ {}
271
+
272
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
273
+ //! allocator, and inserts elements from the range [first ,last ).
274
+ //!
275
+ //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
276
+ //! the predicate and otherwise N logN, where N is last - first.
277
+ template <class InputIterator>
278
+ BOOST_CONTAINER_FORCEINLINE flat_map(InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
279
+ : m_flat_tree(true, first, last, comp, dtl::force<const impl_allocator_type>(a))
280
+ {}
281
+
282
+ //! <b>Effects</b>: Constructs an empty flat_map
283
+ //! and inserts elements from the ordered range [first ,last). This function
284
+ //! is more efficient than the normal range creation for ordered ranges.
285
+ //!
286
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
287
+ //!
288
+ //! <b>Complexity</b>: Linear in N.
289
+ //!
290
+ //! <b>Note</b>: Non-standard extension.
291
+ template <class InputIterator>
292
+ BOOST_CONTAINER_FORCEINLINE
293
+ flat_map(ordered_unique_range_t, InputIterator first, InputIterator last)
294
+ : m_flat_tree(ordered_range, first, last)
295
+ {}
296
+
297
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
298
+ //! inserts elements from the ordered range [first ,last). This function
299
+ //! is more efficient than the normal range creation for ordered ranges.
300
+ //!
301
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
302
+ //!
303
+ //! <b>Complexity</b>: Linear in N.
304
+ //!
305
+ //! <b>Note</b>: Non-standard extension.
306
+ template <class InputIterator>
307
+ BOOST_CONTAINER_FORCEINLINE
308
+ flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp)
309
+ : m_flat_tree(ordered_range, first, last, comp)
310
+ {}
311
+
312
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
313
+ //! allocator, and inserts elements from the ordered range [first ,last). This function
314
+ //! is more efficient than the normal range creation for ordered ranges.
315
+ //!
316
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
317
+ //!
318
+ //! <b>Complexity</b>: Linear in N.
319
+ //!
320
+ //! <b>Note</b>: Non-standard extension.
321
+ template <class InputIterator>
322
+ BOOST_CONTAINER_FORCEINLINE
323
+ flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
324
+ : m_flat_tree(ordered_range, first, last, comp, dtl::force<const impl_allocator_type>(a))
325
+ {}
326
+
327
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified allocator and
328
+ //! inserts elements from the ordered range [first ,last). This function
329
+ //! is more efficient than the normal range creation for ordered ranges.
330
+ //!
331
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
332
+ //!
333
+ //! <b>Complexity</b>: Linear in N.
334
+ //!
335
+ //! <b>Note</b>: Non-standard extension.
336
+ template <class InputIterator>
337
+ BOOST_CONTAINER_FORCEINLINE
338
+ flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const allocator_type& a)
339
+ : m_flat_tree(ordered_range, first, last, Compare(), a)
340
+ {}
341
+
342
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
343
+ //! <b>Effects</b>: Constructs an empty flat_map and
344
+ //! inserts elements from the range [il.begin() ,il.end()).
345
+ //!
346
+ //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
347
+ //! the predicate and otherwise N logN, where N is last - first.
348
+ BOOST_CONTAINER_FORCEINLINE flat_map(std::initializer_list<value_type> il)
349
+ : m_flat_tree( true
350
+ , dtl::force<impl_initializer_list>(il).begin()
351
+ , dtl::force<impl_initializer_list>(il).end())
352
+ {}
353
+
354
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified
355
+ //! allocator, and inserts elements from the range [il.begin() ,il.end()).
356
+ //!
357
+ //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
358
+ //! the predicate and otherwise N logN, where N is last - first.
359
+ BOOST_CONTAINER_FORCEINLINE flat_map(std::initializer_list<value_type> il, const allocator_type& a)
360
+ : m_flat_tree( true
361
+ , dtl::force<impl_initializer_list>(il).begin()
362
+ , dtl::force<impl_initializer_list>(il).end()
363
+ , dtl::force<const impl_allocator_type>(a))
364
+ {}
365
+
366
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
367
+ //! inserts elements from the range [il.begin() ,il.end()).
368
+ //!
369
+ //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
370
+ //! the predicate and otherwise N logN, where N is last - first.
371
+ BOOST_CONTAINER_FORCEINLINE flat_map(std::initializer_list<value_type> il, const Compare& comp)
372
+ : m_flat_tree(true
373
+ , dtl::force<impl_initializer_list>(il).begin()
374
+ , dtl::force<impl_initializer_list>(il).end()
375
+ , comp)
376
+ {}
377
+
378
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
379
+ //! allocator, and inserts elements from the range [il.begin() ,il.end()).
380
+ //!
381
+ //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
382
+ //! the predicate and otherwise N logN, where N is last - first.
383
+ BOOST_CONTAINER_FORCEINLINE flat_map(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
384
+ : m_flat_tree(true
385
+ , dtl::force<impl_initializer_list>(il).begin()
386
+ , dtl::force<impl_initializer_list>(il).end()
387
+ , comp
388
+ , dtl::force<const impl_allocator_type>(a))
389
+ {}
390
+
391
+ //! <b>Effects</b>: Constructs an empty flat_map using and
392
+ //! inserts elements from the ordered unique range [il.begin(), il.end()). This function
393
+ //! is more efficient than the normal range creation for ordered ranges.
394
+ //!
395
+ //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
396
+ //! unique values.
397
+ //!
398
+ //! <b>Complexity</b>: Linear in N.
399
+ //!
400
+ //! <b>Note</b>: Non-standard extension.
401
+ BOOST_CONTAINER_FORCEINLINE flat_map(ordered_unique_range_t, std::initializer_list<value_type> il)
402
+ : m_flat_tree(ordered_unique_range
403
+ , dtl::force<impl_initializer_list>(il).begin()
404
+ , dtl::force<impl_initializer_list>(il).end())
405
+ {}
406
+
407
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
408
+ //! inserts elements from the ordered unique range [il.begin(), il.end()). This function
409
+ //! is more efficient than the normal range creation for ordered ranges.
410
+ //!
411
+ //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
412
+ //! unique values.
413
+ //!
414
+ //! <b>Complexity</b>: Linear in N.
415
+ //!
416
+ //! <b>Note</b>: Non-standard extension.
417
+ BOOST_CONTAINER_FORCEINLINE flat_map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp)
418
+ : m_flat_tree(ordered_unique_range
419
+ , dtl::force<impl_initializer_list>(il).begin()
420
+ , dtl::force<impl_initializer_list>(il).end()
421
+ , comp)
422
+ {}
423
+
424
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
425
+ //! allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function
426
+ //! is more efficient than the normal range creation for ordered ranges.
427
+ //!
428
+ //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
429
+ //! unique values.
430
+ //!
431
+ //! <b>Complexity</b>: Linear in N.
432
+ //!
433
+ //! <b>Note</b>: Non-standard extension.
434
+ BOOST_CONTAINER_FORCEINLINE flat_map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
435
+ : m_flat_tree( ordered_unique_range
436
+ , dtl::force<impl_initializer_list>(il).begin()
437
+ , dtl::force<impl_initializer_list>(il).end()
438
+ , comp
439
+ , dtl::force<const impl_allocator_type>(a))
440
+ {}
441
+ #endif
442
+
443
+ //! <b>Effects</b>: Copy constructs a flat_map.
444
+ //!
445
+ //! <b>Complexity</b>: Linear in x.size().
446
+ BOOST_CONTAINER_FORCEINLINE flat_map(const flat_map& x)
447
+ : m_flat_tree(x.m_flat_tree)
448
+ {}
449
+
450
+ //! <b>Effects</b>: Move constructs a flat_map.
451
+ //! Constructs *this using x's resources.
452
+ //!
453
+ //! <b>Complexity</b>: Constant.
454
+ //!
455
+ //! <b>Postcondition</b>: x is emptied.
456
+ BOOST_CONTAINER_FORCEINLINE flat_map(BOOST_RV_REF(flat_map) x)
457
+ BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
458
+ : m_flat_tree(boost::move(x.m_flat_tree))
459
+ {}
460
+
461
+ //! <b>Effects</b>: Copy constructs a flat_map using the specified allocator.
462
+ //!
463
+ //! <b>Complexity</b>: Linear in x.size().
464
+ BOOST_CONTAINER_FORCEINLINE flat_map(const flat_map& x, const allocator_type &a)
465
+ : m_flat_tree(x.m_flat_tree, dtl::force<const impl_allocator_type>(a))
466
+ {}
467
+
468
+ //! <b>Effects</b>: Move constructs a flat_map using the specified allocator.
469
+ //! Constructs *this using x's resources.
470
+ //!
471
+ //! <b>Complexity</b>: Constant if x.get_allocator() == a, linear otherwise.
472
+ BOOST_CONTAINER_FORCEINLINE flat_map(BOOST_RV_REF(flat_map) x, const allocator_type &a)
473
+ : m_flat_tree(boost::move(x.m_flat_tree), dtl::force<const impl_allocator_type>(a))
474
+ {}
475
+
476
+ //! <b>Effects</b>: Makes *this a copy of x.
477
+ //!
478
+ //! <b>Complexity</b>: Linear in x.size().
479
+ BOOST_CONTAINER_FORCEINLINE flat_map& operator=(BOOST_COPY_ASSIGN_REF(flat_map) x)
480
+ { m_flat_tree = x.m_flat_tree; return *this; }
481
+
482
+ //! <b>Effects</b>: Move constructs a flat_map.
483
+ //! Constructs *this using x's resources.
484
+ //!
485
+ //! <b>Throws</b>: If allocator_traits_type::propagate_on_container_move_assignment
486
+ //! is false and (allocation throws or value_type's move constructor throws)
487
+ //!
488
+ //! <b>Complexity</b>: Constant if allocator_traits_type::
489
+ //! propagate_on_container_move_assignment is true or
490
+ //! this->get>allocator() == x.get_allocator(). Linear otherwise.
491
+ BOOST_CONTAINER_FORCEINLINE flat_map& operator=(BOOST_RV_REF(flat_map) x)
492
+ BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
493
+ allocator_traits_type::is_always_equal::value) &&
494
+ boost::container::dtl::is_nothrow_move_assignable<Compare>::value)
495
+ { m_flat_tree = boost::move(x.m_flat_tree); return *this; }
496
+
497
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
498
+ //! <b>Effects</b>: Assign elements from il to *this
499
+ flat_map& operator=(std::initializer_list<value_type> il)
500
+ {
501
+ this->clear();
502
+ this->insert(il.begin(), il.end());
503
+ return *this;
504
+ }
505
+ #endif
506
+
507
+ //! <b>Effects</b>: Returns a copy of the allocator that
508
+ //! was passed to the object's constructor.
509
+ //!
510
+ //! <b>Complexity</b>: Constant.
511
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
512
+ allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
513
+ { return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
514
+
515
+ //! <b>Effects</b>: Returns a reference to the internal allocator.
516
+ //!
517
+ //! <b>Throws</b>: Nothing
518
+ //!
519
+ //! <b>Complexity</b>: Constant.
520
+ //!
521
+ //! <b>Note</b>: Non-standard extension.
522
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
523
+ get_stored_allocator_noconst_return_t get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
524
+ {
525
+ impl_get_stored_allocator_noconst_return_t r = m_flat_tree.get_stored_allocator();
526
+ return dtl::force<stored_allocator_type>(r);
527
+ }
528
+
529
+ //! <b>Effects</b>: Returns a reference to the internal allocator.
530
+ //!
531
+ //! <b>Throws</b>: Nothing
532
+ //!
533
+ //! <b>Complexity</b>: Constant.
534
+ //!
535
+ //! <b>Note</b>: Non-standard extension.
536
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
537
+ get_stored_allocator_const_return_t get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
538
+ {
539
+ impl_get_stored_allocator_const_return_t r = m_flat_tree.get_stored_allocator();
540
+ return dtl::force<const stored_allocator_type>(r);
541
+ }
542
+
543
+ //////////////////////////////////////////////
544
+ //
545
+ // iterators
546
+ //
547
+ //////////////////////////////////////////////
548
+
549
+ //! <b>Effects</b>: Returns an iterator to the first element contained in the container.
550
+ //!
551
+ //! <b>Throws</b>: Nothing.
552
+ //!
553
+ //! <b>Complexity</b>: Constant.
554
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
555
+ iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
556
+ { return dtl::force_copy<iterator>(m_flat_tree.begin()); }
557
+
558
+ //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
559
+ //!
560
+ //! <b>Throws</b>: Nothing.
561
+ //!
562
+ //! <b>Complexity</b>: Constant.
563
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
564
+ const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
565
+ { return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
566
+
567
+ //! <b>Effects</b>: Returns an iterator to the end of the container.
568
+ //!
569
+ //! <b>Throws</b>: Nothing.
570
+ //!
571
+ //! <b>Complexity</b>: Constant.
572
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
573
+ iterator end() BOOST_NOEXCEPT_OR_NOTHROW
574
+ { return dtl::force_copy<iterator>(m_flat_tree.end()); }
575
+
576
+ //! <b>Effects</b>: Returns a const_iterator to the end of the container.
577
+ //!
578
+ //! <b>Throws</b>: Nothing.
579
+ //!
580
+ //! <b>Complexity</b>: Constant.
581
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
582
+ const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
583
+ { return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
584
+
585
+ //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
586
+ //! of the reversed container.
587
+ //!
588
+ //! <b>Throws</b>: Nothing.
589
+ //!
590
+ //! <b>Complexity</b>: Constant.
591
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
592
+ reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
593
+ { return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
594
+
595
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
596
+ //! of the reversed container.
597
+ //!
598
+ //! <b>Throws</b>: Nothing.
599
+ //!
600
+ //! <b>Complexity</b>: Constant.
601
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
602
+ const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
603
+ { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
604
+
605
+ //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
606
+ //! of the reversed container.
607
+ //!
608
+ //! <b>Throws</b>: Nothing.
609
+ //!
610
+ //! <b>Complexity</b>: Constant.
611
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
612
+ reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
613
+ { return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
614
+
615
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
616
+ //! of the reversed container.
617
+ //!
618
+ //! <b>Throws</b>: Nothing.
619
+ //!
620
+ //! <b>Complexity</b>: Constant.
621
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
622
+ const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
623
+ { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
624
+
625
+ //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
626
+ //!
627
+ //! <b>Throws</b>: Nothing.
628
+ //!
629
+ //! <b>Complexity</b>: Constant.
630
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
631
+ const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
632
+ { return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
633
+
634
+ //! <b>Effects</b>: Returns a const_iterator to the end of the container.
635
+ //!
636
+ //! <b>Throws</b>: Nothing.
637
+ //!
638
+ //! <b>Complexity</b>: Constant.
639
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
640
+ const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
641
+ { return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
642
+
643
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
644
+ //! of the reversed container.
645
+ //!
646
+ //! <b>Throws</b>: Nothing.
647
+ //!
648
+ //! <b>Complexity</b>: Constant.
649
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
650
+ const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
651
+ { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
652
+
653
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
654
+ //! of the reversed container.
655
+ //!
656
+ //! <b>Throws</b>: Nothing.
657
+ //!
658
+ //! <b>Complexity</b>: Constant.
659
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
660
+ const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
661
+ { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
662
+
663
+ //////////////////////////////////////////////
664
+ //
665
+ // capacity
666
+ //
667
+ //////////////////////////////////////////////
668
+
669
+ //! <b>Effects</b>: Returns true if the container contains no elements.
670
+ //!
671
+ //! <b>Throws</b>: Nothing.
672
+ //!
673
+ //! <b>Complexity</b>: Constant.
674
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
675
+ bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
676
+ { return m_flat_tree.empty(); }
677
+
678
+ //! <b>Effects</b>: Returns the number of the elements contained in the container.
679
+ //!
680
+ //! <b>Throws</b>: Nothing.
681
+ //!
682
+ //! <b>Complexity</b>: Constant.
683
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
684
+ size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
685
+ { return m_flat_tree.size(); }
686
+
687
+ //! <b>Effects</b>: Returns the largest possible size of the container.
688
+ //!
689
+ //! <b>Throws</b>: Nothing.
690
+ //!
691
+ //! <b>Complexity</b>: Constant.
692
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
693
+ size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
694
+ { return m_flat_tree.max_size(); }
695
+
696
+ //! <b>Effects</b>: Number of elements for which memory has been allocated.
697
+ //! capacity() is always greater than or equal to size().
698
+ //!
699
+ //! <b>Throws</b>: Nothing.
700
+ //!
701
+ //! <b>Complexity</b>: Constant.
702
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
703
+ size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
704
+ { return m_flat_tree.capacity(); }
705
+
706
+ //! <b>Effects</b>: If n is less than or equal to capacity(), or the
707
+ //! underlying container has no `reserve` member, this call has no
708
+ //! effect. Otherwise, it is a request for allocation of additional memory.
709
+ //! If the request is successful, then capacity() is greater than or equal to
710
+ //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged.
711
+ //!
712
+ //! <b>Throws</b>: If memory allocation allocation throws or T's copy constructor throws.
713
+ //!
714
+ //! <b>Note</b>: If capacity() is less than "cnt", iterators and references to
715
+ //! to values might be invalidated.
716
+ BOOST_CONTAINER_FORCEINLINE void reserve(size_type cnt)
717
+ { m_flat_tree.reserve(cnt); }
718
+
719
+ //! <b>Effects</b>: Tries to deallocate the excess of memory created
720
+ // with previous allocations. The size of the vector is unchanged
721
+ //!
722
+ //! <b>Throws</b>: If memory allocation throws, or T's copy constructor throws.
723
+ //!
724
+ //! <b>Complexity</b>: Linear to size().
725
+ BOOST_CONTAINER_FORCEINLINE void shrink_to_fit()
726
+ { m_flat_tree.shrink_to_fit(); }
727
+
728
+ //////////////////////////////////////////////
729
+ //
730
+ // element access
731
+ //
732
+ //////////////////////////////////////////////
733
+
734
+ #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
735
+ //! Effects: If there is no key equivalent to x in the flat_map, inserts
736
+ //! value_type(x, T()) into the flat_map.
737
+ //!
738
+ //! Returns: A reference to the mapped_type corresponding to x in *this.
739
+ //!
740
+ //! Complexity: Logarithmic search time plus linear insertion time in case no equivalent key is present.
741
+ mapped_type &operator[](const key_type& k);
742
+
743
+ //! Effects: If there is no key equivalent to x in the flat_map, inserts
744
+ //! value_type(move(x), T()) into the flat_map (the key is move-constructed)
745
+ //!
746
+ //! Returns: A reference to the mapped_type corresponding to x in *this.
747
+ //!
748
+ //! Complexity: Logarithmic search time plus linear insertion time in case no equivalent key is present.
749
+ mapped_type &operator[](key_type &&k);
750
+ #elif defined(BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN)
751
+ //in compilers like GCC 3.4, we can't catch temporaries
752
+ BOOST_CONTAINER_FORCEINLINE mapped_type& operator[](const key_type &k) { return this->priv_subscript(k); }
753
+ BOOST_CONTAINER_FORCEINLINE mapped_type& operator[](BOOST_RV_REF(key_type) k) { return this->priv_subscript(::boost::move(k)); }
754
+ #else
755
+ BOOST_MOVE_CONVERSION_AWARE_CATCH( operator[] , key_type, mapped_type&, this->priv_subscript)
756
+ #endif
757
+
758
+ //! Effects: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
759
+ //! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
760
+ //! as if by insert, constructing it from value_type(k, forward<M>(obj)).
761
+ //!
762
+ //! No iterators or references are invalidated. If the insertion is successful, pointers and references
763
+ //! to the element obtained while it is held in the node handle are invalidated, and pointers and
764
+ //! references obtained to that element before it was extracted become valid.
765
+ //!
766
+ //! Returns: The bool component is true if the insertion took place and false if the assignment
767
+ //! took place. The iterator component is pointing at the element that was inserted or updated.
768
+ //!
769
+ //! Complexity: Logarithmic search time plus linear insertion time in case no equivalent key is present.
770
+ template <class M>
771
+ BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> insert_or_assign(const key_type& k, BOOST_FWD_REF(M) obj)
772
+ {
773
+ return dtl::force_copy< std::pair<iterator, bool> >
774
+ (this->m_flat_tree.insert_or_assign
775
+ ( impl_const_iterator(), k, ::boost::forward<M>(obj))
776
+ );
777
+ }
778
+
779
+ //! Effects: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
780
+ //! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
781
+ //! as if by insert, constructing it from value_type(k, move(obj)).
782
+ //!
783
+ //! No iterators or references are invalidated. If the insertion is successful, pointers and references
784
+ //! to the element obtained while it is held in the node handle are invalidated, and pointers and
785
+ //! references obtained to that element before it was extracted become valid.
786
+ //!
787
+ //! Returns: The bool component is true if the insertion took place and false if the assignment
788
+ //! took place. The iterator component is pointing at the element that was inserted or updated.
789
+ //!
790
+ //! Complexity: Logarithmic in the size of the container.
791
+ template <class M>
792
+ BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> insert_or_assign(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
793
+ {
794
+ return dtl::force_copy< std::pair<iterator, bool> >
795
+ (this->m_flat_tree.insert_or_assign
796
+ ( impl_const_iterator(), ::boost::move(k), ::boost::forward<M>(obj))
797
+ );
798
+ }
799
+
800
+ //! Effects: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
801
+ //! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
802
+ //! as if by insert, constructing it from value_type(k, forward<M>(obj)) and the new element
803
+ //! to the container as close as possible to the position just before hint.
804
+ //!
805
+ //! No iterators or references are invalidated. If the insertion is successful, pointers and references
806
+ //! to the element obtained while it is held in the node handle are invalidated, and pointers and
807
+ //! references obtained to that element before it was extracted become valid.
808
+ //!
809
+ //! Returns: The bool component is true if the insertion took place and false if the assignment
810
+ //! took place. The iterator component is pointing at the element that was inserted or updated.
811
+ //!
812
+ //! Complexity: Logarithmic in the size of the container in general, but amortized constant if
813
+ //! the new element is inserted just before hint.
814
+ template <class M>
815
+ BOOST_CONTAINER_FORCEINLINE iterator insert_or_assign(const_iterator hint, const key_type& k, BOOST_FWD_REF(M) obj)
816
+ {
817
+ return dtl::force_copy<iterator>
818
+ (this->m_flat_tree.insert_or_assign
819
+ ( dtl::force_copy<impl_const_iterator>(hint)
820
+ , k, ::boost::forward<M>(obj)).first
821
+ );
822
+ }
823
+
824
+ //! Effects: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
825
+ //! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
826
+ //! as if by insert, constructing it from value_type(k, move(obj)) and the new element
827
+ //! to the container as close as possible to the position just before hint.
828
+ //!
829
+ //! No iterators or references are invalidated. If the insertion is successful, pointers and references
830
+ //! to the element obtained while it is held in the node handle are invalidated, and pointers and
831
+ //! references obtained to that element before it was extracted become valid.
832
+ //!
833
+ //! Returns: The bool component is true if the insertion took place and false if the assignment
834
+ //! took place. The iterator component is pointing at the element that was inserted or updated.
835
+ //!
836
+ //! Complexity: Logarithmic in the size of the container in general, but amortized constant if
837
+ //! the new element is inserted just before hint.
838
+ template <class M>
839
+ BOOST_CONTAINER_FORCEINLINE iterator insert_or_assign(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
840
+ {
841
+ return dtl::force_copy<iterator>
842
+ (this->m_flat_tree.insert_or_assign
843
+ ( dtl::force_copy<impl_const_iterator>(hint)
844
+ , ::boost::move(k), ::boost::forward<M>(obj)).first
845
+ );
846
+ }
847
+
848
+ //! @copydoc ::boost::container::flat_set::nth(size_type)
849
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
850
+ iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
851
+ { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
852
+
853
+ //! @copydoc ::boost::container::flat_set::nth(size_type) const
854
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
855
+ const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
856
+ { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
857
+
858
+ //! @copydoc ::boost::container::flat_set::index_of(iterator)
859
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
860
+ size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
861
+ { return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
862
+
863
+ //! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
864
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
865
+ size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
866
+ { return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
867
+
868
+ //! Returns: A reference to the element whose key is equivalent to x.
869
+ //!
870
+ //! Throws: An exception object of type out_of_range if no such element is present.
871
+ //!
872
+ //! Complexity: logarithmic.
873
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD T& at(const key_type& k)
874
+ {
875
+ iterator i = this->find(k);
876
+ if(i == this->end()){
877
+ throw_out_of_range("flat_map::at key not found");
878
+ }
879
+ return i->second;
880
+ }
881
+
882
+ //! Returns: A reference to the element whose key is equivalent to x.
883
+ //!
884
+ //! Throws: An exception object of type out_of_range if no such element is present.
885
+ //!
886
+ //! Complexity: logarithmic.
887
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD const T& at(const key_type& k) const
888
+ {
889
+ const_iterator i = this->find(k);
890
+ if(i == this->end()){
891
+ throw_out_of_range("flat_map::at key not found");
892
+ }
893
+ return i->second;
894
+ }
895
+
896
+ //////////////////////////////////////////////
897
+ //
898
+ // modifiers
899
+ //
900
+ //////////////////////////////////////////////
901
+
902
+ #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
903
+
904
+ //! <b>Effects</b>: Inserts an object x of type T constructed with
905
+ //! std::forward<Args>(args)... if and only if there is no element in the container
906
+ //! with key equivalent to the key of x.
907
+ //!
908
+ //! <b>Returns</b>: The bool component of the returned pair is true if and only
909
+ //! if the insertion takes place, and the iterator component of the pair
910
+ //! points to the element with key equivalent to the key of x.
911
+ //!
912
+ //! <b>Complexity</b>: Logarithmic search time plus linear insertion
913
+ //! to the elements with bigger keys than x.
914
+ //!
915
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
916
+ template <class... Args>
917
+ BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> emplace(BOOST_FWD_REF(Args)... args)
918
+ { return dtl::force_copy< std::pair<iterator, bool> >(m_flat_tree.emplace_unique(boost::forward<Args>(args)...)); }
919
+
920
+ //! <b>Effects</b>: Inserts an object of type T constructed with
921
+ //! std::forward<Args>(args)... in the container if and only if there is
922
+ //! no element in the container with key equivalent to the key of x.
923
+ //! p is a hint pointing to where the insert should start to search.
924
+ //!
925
+ //! <b>Returns</b>: An iterator pointing to the element with key equivalent
926
+ //! to the key of x.
927
+ //!
928
+ //! <b>Complexity</b>: Logarithmic search time (constant if x is inserted
929
+ //! right before p) plus insertion linear to the elements with bigger keys than x.
930
+ //!
931
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
932
+ template <class... Args>
933
+ BOOST_CONTAINER_FORCEINLINE iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
934
+ {
935
+ return dtl::force_copy<iterator>
936
+ (m_flat_tree.emplace_hint_unique( dtl::force_copy<impl_const_iterator>(hint)
937
+ , boost::forward<Args>(args)...));
938
+ }
939
+
940
+ //! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
941
+ //! forward_as_tuple(k), forward_as_tuple(forward<Args>(args)...).
942
+ //!
943
+ //! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
944
+ //! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(k),
945
+ //! forward_as_tuple(forward<Args>(args)...).
946
+ //!
947
+ //! <b>Returns</b>: The bool component of the returned pair is true if and only if the
948
+ //! insertion took place. The returned iterator points to the map element whose key is equivalent to k.
949
+ //!
950
+ //! <b>Complexity</b>: Logarithmic.
951
+ template <class... Args>
952
+ BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(const key_type& k, BOOST_FWD_REF(Args)... args)
953
+ {
954
+ return dtl::force_copy< std::pair<iterator, bool> >(
955
+ m_flat_tree.try_emplace(impl_const_iterator(), k, boost::forward<Args>(args)...));
956
+ }
957
+
958
+ //! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
959
+ //! forward_as_tuple(k), forward_as_tuple(forward<Args>(args)...).
960
+ //!
961
+ //! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
962
+ //! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(k),
963
+ //! forward_as_tuple(forward<Args>(args)...).
964
+ //!
965
+ //! <b>Returns</b>: The returned iterator points to the map element whose key is equivalent to k.
966
+ //!
967
+ //! <b>Complexity</b>: Logarithmic in general, but amortized constant if value
968
+ //! is inserted right before p.
969
+ template <class... Args>
970
+ BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, const key_type &k, BOOST_FWD_REF(Args)... args)
971
+ {
972
+ return dtl::force_copy<iterator>(m_flat_tree.try_emplace
973
+ (dtl::force_copy<impl_const_iterator>(hint), k, boost::forward<Args>(args)...).first);
974
+ }
975
+
976
+ //! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
977
+ //! forward_as_tuple(move(k)), forward_as_tuple(forward<Args>(args)...).
978
+ //!
979
+ //! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
980
+ //! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(move(k)),
981
+ //! forward_as_tuple(forward<Args>(args)...).
982
+ //!
983
+ //! <b>Returns</b>: The bool component of the returned pair is true if and only if the
984
+ //! insertion took place. The returned iterator points to the map element whose key is equivalent to k.
985
+ //!
986
+ //! <b>Complexity</b>: Logarithmic search time plus linear insertion time in case the key is not present.
987
+ template <class... Args>
988
+ BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
989
+ {
990
+ return dtl::force_copy< std::pair<iterator, bool> >
991
+ (m_flat_tree.try_emplace(impl_const_iterator(), boost::move(k), boost::forward<Args>(args)...));
992
+ }
993
+
994
+ //! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
995
+ //! forward_as_tuple(move(k)), forward_as_tuple(forward<Args>(args)...).
996
+ //!
997
+ //! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
998
+ //! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(move(k)),
999
+ //! forward_as_tuple(forward<Args>(args)...).
1000
+ //!
1001
+ //! <b>Returns</b>: The returned iterator points to the map element whose key is equivalent to k.
1002
+ //!
1003
+ //! <b>Complexity</b>: Logarithmic in general, but amortized constant if value
1004
+ //! is inserted right before p. Linear insertion time in case no equivalent key is present.
1005
+ template <class... Args>
1006
+ BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
1007
+ {
1008
+ return dtl::force_copy<iterator>
1009
+ (m_flat_tree.try_emplace(dtl::force_copy
1010
+ <impl_const_iterator>(hint), boost::move(k), boost::forward<Args>(args)...).first);
1011
+ }
1012
+
1013
+ #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
1014
+
1015
+ #define BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE(N) \
1016
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1017
+ BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> emplace(BOOST_MOVE_UREF##N)\
1018
+ {\
1019
+ return dtl::force_copy< std::pair<iterator, bool> >\
1020
+ (m_flat_tree.emplace_unique(BOOST_MOVE_FWD##N));\
1021
+ }\
1022
+ \
1023
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1024
+ BOOST_CONTAINER_FORCEINLINE iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1025
+ {\
1026
+ return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_unique\
1027
+ (dtl::force_copy<impl_const_iterator>(hint) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
1028
+ }\
1029
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1030
+ BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(const key_type& k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1031
+ {\
1032
+ return dtl::force_copy< std::pair<iterator, bool> >\
1033
+ (m_flat_tree.try_emplace(impl_const_iterator(), k BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
1034
+ }\
1035
+ \
1036
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1037
+ BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, const key_type &k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1038
+ { return dtl::force_copy<iterator>(m_flat_tree.try_emplace\
1039
+ (dtl::force_copy<impl_const_iterator>(hint), k BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first); }\
1040
+ \
1041
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1042
+ BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1043
+ {\
1044
+ return dtl::force_copy< std::pair<iterator, bool> >\
1045
+ (m_flat_tree.try_emplace(impl_const_iterator(), boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
1046
+ }\
1047
+ \
1048
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1049
+ BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1050
+ { return dtl::force_copy<iterator>(m_flat_tree.try_emplace\
1051
+ (dtl::force_copy<impl_const_iterator>(hint), boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first); }\
1052
+ //
1053
+ BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE)
1054
+ #undef BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE
1055
+
1056
+ #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
1057
+
1058
+ //! <b>Effects</b>: Inserts x if and only if there is no element in the container
1059
+ //! with key equivalent to the key of x.
1060
+ //!
1061
+ //! <b>Returns</b>: The bool component of the returned pair is true if and only
1062
+ //! if the insertion takes place, and the iterator component of the pair
1063
+ //! points to the element with key equivalent to the key of x.
1064
+ //!
1065
+ //! <b>Complexity</b>: Logarithmic search time plus linear insertion
1066
+ //! to the elements with bigger keys than x.
1067
+ //!
1068
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
1069
+ BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> insert(const value_type& x)
1070
+ { return dtl::force_copy<std::pair<iterator,bool> >(
1071
+ m_flat_tree.insert_unique(dtl::force<const impl_value_type>(x))); }
1072
+
1073
+ //! <b>Effects</b>: Inserts a new value_type move constructed from the pair if and
1074
+ //! only if there is no element in the container with key equivalent to the key of x.
1075
+ //!
1076
+ //! <b>Returns</b>: The bool component of the returned pair is true if and only
1077
+ //! if the insertion takes place, and the iterator component of the pair
1078
+ //! points to the element with key equivalent to the key of x.
1079
+ //!
1080
+ //! <b>Complexity</b>: Logarithmic search time plus linear insertion
1081
+ //! to the elements with bigger keys than x.
1082
+ //!
1083
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
1084
+ BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> insert(BOOST_RV_REF(value_type) x)
1085
+ {
1086
+ return dtl::force_copy<std::pair<iterator,bool> >(
1087
+ m_flat_tree.insert_unique(boost::move(dtl::force<impl_value_type>(x))));
1088
+ }
1089
+
1090
+ //! <b>Effects</b>: Inserts a new value_type constructed from the pair if and
1091
+ //! only if there is no element in the container with key equivalent to the key of x.
1092
+ //!
1093
+ //! <b>Returns</b>: The bool component of the returned pair is true if and only
1094
+ //! if the insertion takes place, and the iterator component of the pair
1095
+ //! points to the element with key equivalent to the key of x.
1096
+ //!
1097
+ //! <b>Complexity</b>: Logarithmic search time plus linear insertion
1098
+ //! to the elements with bigger keys than x.
1099
+ //!
1100
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
1101
+ template <class Pair>
1102
+ BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
1103
+ ( std::pair<iterator BOOST_MOVE_I bool>
1104
+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
1105
+ BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool> >::type)
1106
+ insert(BOOST_FWD_REF(Pair) x)
1107
+ {
1108
+ return dtl::force_copy<std::pair<iterator,bool> >
1109
+ (m_flat_tree.emplace_unique(boost::forward<Pair>(x)));
1110
+ }
1111
+
1112
+ //! <b>Effects</b>: Inserts a copy of x in the container if and only if there is
1113
+ //! no element in the container with key equivalent to the key of x.
1114
+ //! p is a hint pointing to where the insert should start to search.
1115
+ //!
1116
+ //! <b>Returns</b>: An iterator pointing to the element with key equivalent
1117
+ //! to the key of x.
1118
+ //!
1119
+ //! <b>Complexity</b>: Logarithmic search time (constant if x is inserted
1120
+ //! right before p) plus insertion linear to the elements with bigger keys than x.
1121
+ //!
1122
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
1123
+ BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, const value_type& x)
1124
+ {
1125
+ return dtl::force_copy<iterator>(
1126
+ m_flat_tree.insert_unique( dtl::force_copy<impl_const_iterator>(p)
1127
+ , dtl::force<const impl_value_type>(x)));
1128
+ }
1129
+
1130
+ //! <b>Effects</b>: Inserts an element move constructed from x in the container.
1131
+ //! p is a hint pointing to where the insert should start to search.
1132
+ //!
1133
+ //! <b>Returns</b>: An iterator pointing to the element with key equivalent to the key of x.
1134
+ //!
1135
+ //! <b>Complexity</b>: Logarithmic search time (constant if x is inserted
1136
+ //! right before p) plus insertion linear to the elements with bigger keys than x.
1137
+ //!
1138
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
1139
+ BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, BOOST_RV_REF(value_type) x)
1140
+ {
1141
+ return dtl::force_copy<iterator>
1142
+ (m_flat_tree.insert_unique( dtl::force_copy<impl_const_iterator>(p)
1143
+ , boost::move(dtl::force<impl_value_type>(x))));
1144
+ }
1145
+
1146
+ //! <b>Effects</b>: Inserts an element constructed from x in the container.
1147
+ //! p is a hint pointing to where the insert should start to search.
1148
+ //!
1149
+ //! <b>Returns</b>: An iterator pointing to the element with key equivalent to the key of x.
1150
+ //!
1151
+ //! <b>Complexity</b>: Logarithmic search time (constant if x is inserted
1152
+ //! right before p) plus insertion linear to the elements with bigger keys than x.
1153
+ //!
1154
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
1155
+ template <class Pair>
1156
+ BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
1157
+ ( iterator
1158
+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
1159
+ BOOST_MOVE_I iterator>::type)
1160
+ insert(const_iterator p, BOOST_FWD_REF(Pair) x)
1161
+ {
1162
+ return dtl::force_copy<iterator>(
1163
+ m_flat_tree.emplace_hint_unique(dtl::force_copy<impl_const_iterator>(p), boost::forward<Pair>(x)));
1164
+ }
1165
+
1166
+ //! <b>Requires</b>: first, last are not iterators into *this.
1167
+ //!
1168
+ //! <b>Effects</b>: inserts each element from the range [first,last) if and only
1169
+ //! if there is no element with key equivalent to the key of that element.
1170
+ //!
1171
+ //! <b>Complexity</b>: N log(size()+N).
1172
+ //!
1173
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
1174
+ template <class InputIterator>
1175
+ BOOST_CONTAINER_FORCEINLINE void insert(InputIterator first, InputIterator last)
1176
+ { m_flat_tree.insert_unique(first, last); }
1177
+
1178
+ //! <b>Requires</b>: first, last are not iterators into *this.
1179
+ //!
1180
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate and must be
1181
+ //! unique values.
1182
+ //!
1183
+ //! <b>Effects</b>: inserts each element from the range [first,last) if and only
1184
+ //! if there is no element with key equivalent to the key of that element. This
1185
+ //! function is more efficient than the normal range creation for ordered ranges.
1186
+ //!
1187
+ //! <b>Complexity</b>: Linear.
1188
+ //!
1189
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
1190
+ //!
1191
+ //! <b>Note</b>: Non-standard extension.
1192
+ template <class InputIterator>
1193
+ BOOST_CONTAINER_FORCEINLINE void insert(ordered_unique_range_t, InputIterator first, InputIterator last)
1194
+ { m_flat_tree.insert_unique(ordered_unique_range, first, last); }
1195
+
1196
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1197
+ //! <b>Effects</b>: inserts each element from the range [il.begin(), il.end()) if and only
1198
+ //! if there is no element with key equivalent to the key of that element.
1199
+ //!
1200
+ //! <b>Complexity</b>: N log(N).
1201
+ //!
1202
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
1203
+ BOOST_CONTAINER_FORCEINLINE void insert(std::initializer_list<value_type> il)
1204
+ {
1205
+ m_flat_tree.insert_unique( dtl::force<impl_initializer_list>(il).begin()
1206
+ , dtl::force<impl_initializer_list>(il).end());
1207
+ }
1208
+
1209
+ //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
1210
+ //! unique values.
1211
+ //!
1212
+ //! <b>Effects</b>: inserts each element from the range [il.begin(), il.end()) if and only
1213
+ //! if there is no element with key equivalent to the key of that element. This
1214
+ //! function is more efficient than the normal range creation for ordered ranges.
1215
+ //!
1216
+ //! <b>Complexity</b>: Linear.
1217
+ //!
1218
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
1219
+ //!
1220
+ //! <b>Note</b>: Non-standard extension.
1221
+ BOOST_CONTAINER_FORCEINLINE void insert(ordered_unique_range_t, std::initializer_list<value_type> il)
1222
+ {
1223
+ m_flat_tree.insert_unique(ordered_unique_range
1224
+ , dtl::force<impl_initializer_list>(il).begin()
1225
+ , dtl::force<impl_initializer_list>(il).end());
1226
+ }
1227
+ #endif
1228
+
1229
+ //! <b>Requires</b>: this->get_allocator() == source.get_allocator().
1230
+ //!
1231
+ //! <b>Effects</b>: Move-inserts each element from source into *this a using
1232
+ //! the comparison object of *this. If there is an element in a with key equivalent to the
1233
+ //! key of an element from source, then that element is not moved from source.
1234
+ //!
1235
+ //! <b>Complexity</b>: Linear in this->size() + source.size().
1236
+ //!
1237
+ //! <b>Note</b>: Invalidates all iterators and references.
1238
+ template<class C2>
1239
+ BOOST_CONTAINER_FORCEINLINE void merge(flat_map<Key, T, C2, AllocatorOrContainer>& source)
1240
+ { m_flat_tree.merge_unique(source.tree()); }
1241
+
1242
+ //! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
1243
+ template<class C2>
1244
+ BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG flat_map<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
1245
+ { return this->merge(static_cast<flat_map<Key, T, C2, AllocatorOrContainer>&>(source)); }
1246
+
1247
+ //! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
1248
+ template<class C2>
1249
+ BOOST_CONTAINER_FORCEINLINE void merge(flat_multimap<Key, T, C2, AllocatorOrContainer>& source)
1250
+ { m_flat_tree.merge_unique(source.tree()); }
1251
+
1252
+ //! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
1253
+ template<class C2>
1254
+ BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG flat_multimap<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
1255
+ { return this->merge(static_cast<flat_multimap<Key, T, C2, AllocatorOrContainer>&>(source)); }
1256
+
1257
+ //! <b>Effects</b>: Erases the element pointed to by p.
1258
+ //!
1259
+ //! <b>Returns</b>: Returns an iterator pointing to the element immediately
1260
+ //! following q prior to the element being erased. If no such element exists,
1261
+ //! returns end().
1262
+ //!
1263
+ //! <b>Complexity</b>: Linear to the elements with keys bigger than p
1264
+ //!
1265
+ //! <b>Note</b>: Invalidates elements with keys
1266
+ //! not less than the erased element.
1267
+ BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator p)
1268
+ {
1269
+ return dtl::force_copy<iterator>
1270
+ (m_flat_tree.erase(dtl::force_copy<impl_const_iterator>(p)));
1271
+ }
1272
+
1273
+ //! <b>Effects</b>: If present, erases the element in the container with key equivalent to x.
1274
+ //!
1275
+ //! <b>Returns</b>: Returns the number of erased elements (0/1).
1276
+ //!
1277
+ //! <b>Complexity</b>: Logarithmic search time plus erasure time
1278
+ //! linear to the elements with bigger keys.
1279
+ BOOST_CONTAINER_FORCEINLINE size_type erase(const key_type& x)
1280
+ { return m_flat_tree.erase_unique(x); }
1281
+
1282
+ //! <b>Effects</b>: Erases all the elements in the range [first, last).
1283
+ //!
1284
+ //! <b>Returns</b>: Returns last.
1285
+ //!
1286
+ //! <b>Complexity</b>: size()*N where N is the distance from first to last.
1287
+ //!
1288
+ //! <b>Complexity</b>: Logarithmic search time plus erasure time
1289
+ //! linear to the elements with bigger keys.
1290
+ BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator first, const_iterator last)
1291
+ {
1292
+ return dtl::force_copy<iterator>(
1293
+ m_flat_tree.erase( dtl::force_copy<impl_const_iterator>(first)
1294
+ , dtl::force_copy<impl_const_iterator>(last)));
1295
+ }
1296
+
1297
+ //! <b>Effects</b>: Swaps the contents of *this and x.
1298
+ //!
1299
+ //! <b>Throws</b>: Nothing.
1300
+ //!
1301
+ //! <b>Complexity</b>: Constant.
1302
+ BOOST_CONTAINER_FORCEINLINE void swap(flat_map& x)
1303
+ BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
1304
+ && boost::container::dtl::is_nothrow_swappable<Compare>::value )
1305
+ { m_flat_tree.swap(x.m_flat_tree); }
1306
+
1307
+ //! <b>Effects</b>: erase(begin(),end()).
1308
+ //!
1309
+ //! <b>Postcondition</b>: size() == 0.
1310
+ //!
1311
+ //! <b>Complexity</b>: linear in size().
1312
+ BOOST_CONTAINER_FORCEINLINE void clear() BOOST_NOEXCEPT_OR_NOTHROW
1313
+ { m_flat_tree.clear(); }
1314
+
1315
+ //////////////////////////////////////////////
1316
+ //
1317
+ // observers
1318
+ //
1319
+ //////////////////////////////////////////////
1320
+
1321
+ //! <b>Effects</b>: Returns the comparison object out
1322
+ //! of which a was constructed.
1323
+ //!
1324
+ //! <b>Complexity</b>: Constant.
1325
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1326
+ key_compare key_comp() const
1327
+ { return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
1328
+
1329
+ //! <b>Effects</b>: Returns an object of value_compare constructed out
1330
+ //! of the comparison object.
1331
+ //!
1332
+ //! <b>Complexity</b>: Constant.
1333
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1334
+ value_compare value_comp() const
1335
+ { return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
1336
+
1337
+ //////////////////////////////////////////////
1338
+ //
1339
+ // map operations
1340
+ //
1341
+ //////////////////////////////////////////////
1342
+
1343
+ //! <b>Returns</b>: An iterator pointing to an element with the key
1344
+ //! equivalent to x, or end() if such an element is not found.
1345
+ //!
1346
+ //! <b>Complexity</b>: Logarithmic.
1347
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1348
+ iterator find(const key_type& x)
1349
+ { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
1350
+
1351
+ //! <b>Returns</b>: A const_iterator pointing to an element with the key
1352
+ //! equivalent to x, or end() if such an element is not found.
1353
+ //!
1354
+ //! <b>Complexity</b>: Logarithmic.
1355
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1356
+ const_iterator find(const key_type& x) const
1357
+ { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
1358
+
1359
+ //! <b>Requires</b>: This overload is available only if
1360
+ //! key_compare::is_transparent exists.
1361
+ //!
1362
+ //! <b>Returns</b>: An iterator pointing to an element with the key
1363
+ //! equivalent to x, or end() if such an element is not found.
1364
+ //!
1365
+ //! <b>Complexity</b>: Logarithmic.
1366
+ template<class K>
1367
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1368
+ iterator find(const K& x)
1369
+ { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
1370
+
1371
+ //! <b>Requires</b>: This overload is available only if
1372
+ //! key_compare::is_transparent exists.
1373
+ //!
1374
+ //! <b>Returns</b>: A const_iterator pointing to an element with the key
1375
+ //! equivalent to x, or end() if such an element is not found.
1376
+ //!
1377
+ //! <b>Complexity</b>: Logarithmic.
1378
+ template<class K>
1379
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1380
+ const_iterator find(const K& x) const
1381
+ { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
1382
+
1383
+ //! <b>Returns</b>: The number of elements with key equivalent to x.
1384
+ //!
1385
+ //! <b>Complexity</b>: log(size())+count(k)
1386
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1387
+ size_type count(const key_type& x) const
1388
+ { return static_cast<size_type>(m_flat_tree.find(x) != m_flat_tree.end()); }
1389
+
1390
+ //! <b>Requires</b>: This overload is available only if
1391
+ //! key_compare::is_transparent exists.
1392
+ //!
1393
+ //! <b>Returns</b>: The number of elements with key equivalent to x.
1394
+ //!
1395
+ //! <b>Complexity</b>: log(size())+count(k)
1396
+ template<class K>
1397
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1398
+ size_type count(const K& x) const
1399
+ //Don't use find() != end optimization here as transparent comparators with key K might
1400
+ //return a different range than key_type (which can only return a single element range)
1401
+ { return m_flat_tree.count(x); }
1402
+
1403
+ //! <b>Returns</b>: Returns true if there is an element with key
1404
+ //! equivalent to key in the container, otherwise false.
1405
+ //!
1406
+ //! <b>Complexity</b>: log(size()).
1407
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1408
+ bool contains(const key_type& x) const
1409
+ { return m_flat_tree.find(x) != m_flat_tree.end(); }
1410
+
1411
+ //! <b>Requires</b>: This overload is available only if
1412
+ //! key_compare::is_transparent exists.
1413
+ //!
1414
+ //! <b>Returns</b>: Returns true if there is an element with key
1415
+ //! equivalent to key in the container, otherwise false.
1416
+ //!
1417
+ //! <b>Complexity</b>: log(size()).
1418
+ template<typename K>
1419
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1420
+ bool contains(const K& x) const
1421
+ { return m_flat_tree.find(x) != m_flat_tree.end(); }
1422
+
1423
+ //! <b>Returns</b>: An iterator pointing to the first element with key not less
1424
+ //! than x, or end() if such an element is not found.
1425
+ //!
1426
+ //! <b>Complexity</b>: Logarithmic.
1427
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1428
+ iterator lower_bound(const key_type& x)
1429
+ { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
1430
+
1431
+ //! <b>Returns</b>: A const iterator pointing to the first element with key not
1432
+ //! less than x, or end() if such an element is not found.
1433
+ //!
1434
+ //! <b>Complexity</b>: Logarithmic.
1435
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1436
+ const_iterator lower_bound(const key_type& x) const
1437
+ { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
1438
+
1439
+ //! <b>Requires</b>: This overload is available only if
1440
+ //! key_compare::is_transparent exists.
1441
+ //!
1442
+ //! <b>Returns</b>: An iterator pointing to the first element with key not less
1443
+ //! than x, or end() if such an element is not found.
1444
+ //!
1445
+ //! <b>Complexity</b>: Logarithmic.
1446
+ template<class K>
1447
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1448
+ iterator lower_bound(const K& x)
1449
+ { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
1450
+
1451
+ //! <b>Requires</b>: This overload is available only if
1452
+ //! key_compare::is_transparent exists.
1453
+ //!
1454
+ //! <b>Returns</b>: A const iterator pointing to the first element with key not
1455
+ //! less than x, or end() if such an element is not found.
1456
+ //!
1457
+ //! <b>Complexity</b>: Logarithmic.
1458
+ template<class K>
1459
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1460
+ const_iterator lower_bound(const K& x) const
1461
+ { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
1462
+
1463
+ //! <b>Returns</b>: An iterator pointing to the first element with key greater
1464
+ //! than x, or end() if such an element is not found.
1465
+ //!
1466
+ //! <b>Complexity</b>: Logarithmic.
1467
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1468
+ iterator upper_bound(const key_type& x)
1469
+ { return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
1470
+
1471
+ //! <b>Returns</b>: A const iterator pointing to the first element with key
1472
+ //! greater than x, or end() if such an element is not found.
1473
+ //!
1474
+ //! <b>Complexity</b>: Logarithmic.
1475
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1476
+ const_iterator upper_bound(const key_type& x) const
1477
+ { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
1478
+
1479
+ //! <b>Requires</b>: This overload is available only if
1480
+ //! key_compare::is_transparent exists.
1481
+ //!
1482
+ //! <b>Returns</b>: An iterator pointing to the first element with key greater
1483
+ //! than x, or end() if such an element is not found.
1484
+ //!
1485
+ //! <b>Complexity</b>: Logarithmic.
1486
+ template<class K>
1487
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1488
+ iterator upper_bound(const K& x)
1489
+ { return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
1490
+
1491
+ //! <b>Requires</b>: This overload is available only if
1492
+ //! key_compare::is_transparent exists.
1493
+ //!
1494
+ //! <b>Returns</b>: A const iterator pointing to the first element with key
1495
+ //! greater than x, or end() if such an element is not found.
1496
+ //!
1497
+ //! <b>Complexity</b>: Logarithmic.
1498
+ template<class K>
1499
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1500
+ const_iterator upper_bound(const K& x) const
1501
+ { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
1502
+
1503
+ //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
1504
+ //!
1505
+ //! <b>Complexity</b>: Logarithmic.
1506
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1507
+ std::pair<iterator,iterator> equal_range(const key_type& x)
1508
+ { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.lower_bound_range(x)); }
1509
+
1510
+ //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
1511
+ //!
1512
+ //! <b>Complexity</b>: Logarithmic.
1513
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1514
+ std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
1515
+ { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.lower_bound_range(x)); }
1516
+
1517
+ //! <b>Requires</b>: This overload is available only if
1518
+ //! key_compare::is_transparent exists.
1519
+ //!
1520
+ //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
1521
+ //!
1522
+ //! <b>Complexity</b>: Logarithmic.
1523
+ template<class K>
1524
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1525
+ std::pair<iterator,iterator> equal_range(const K& x)
1526
+ //Don't use lower_bound_range optimization here as transparent comparators with key K might
1527
+ //return a different range than key_type (which can only return a single element range)
1528
+ { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
1529
+
1530
+ //! <b>Requires</b>: This overload is available only if
1531
+ //! key_compare::is_transparent exists.
1532
+ //!
1533
+ //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
1534
+ //!
1535
+ //! <b>Complexity</b>: Logarithmic.
1536
+ template<class K>
1537
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1538
+ std::pair<const_iterator, const_iterator> equal_range(const K& x) const
1539
+ //Don't use lower_bound_range optimization here as transparent comparators with key K might
1540
+ //return a different range than key_type (which can only return a single element range)
1541
+ { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
1542
+
1543
+ //! <b>Effects</b>: Extracts the internal sequence container.
1544
+ //!
1545
+ //! <b>Complexity</b>: Same as the move constructor of sequence_type, usually constant.
1546
+ //!
1547
+ //! <b>Postcondition</b>: this->empty()
1548
+ //!
1549
+ //! <b>Throws</b>: If secuence_type's move constructor throws
1550
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE sequence_type extract_sequence()
1551
+ {
1552
+ return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref()));
1553
+ }
1554
+
1555
+ //! <b>Effects</b>: Discards the internally hold sequence container and adopts the
1556
+ //! one passed externally using the move assignment. Erases non-unique elements.
1557
+ //!
1558
+ //! <b>Complexity</b>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()
1559
+ //!
1560
+ //! <b>Throws</b>: If the comparison or the move constructor throws
1561
+ BOOST_CONTAINER_FORCEINLINE void adopt_sequence(BOOST_RV_REF(sequence_type) seq)
1562
+ { this->m_flat_tree.adopt_sequence_unique(boost::move(dtl::force<impl_sequence_type>(seq))); }
1563
+
1564
+ //! <b>Requires</b>: seq shall be ordered according to this->compare()
1565
+ //! and shall contain unique elements.
1566
+ //!
1567
+ //! <b>Effects</b>: Discards the internally hold sequence container and adopts the
1568
+ //! one passed externally using the move assignment.
1569
+ //!
1570
+ //! <b>Complexity</b>: Assuming O(1) move assignment, O(1)
1571
+ //!
1572
+ //! <b>Throws</b>: If the move assignment throws
1573
+ BOOST_CONTAINER_FORCEINLINE void adopt_sequence(ordered_unique_range_t, BOOST_RV_REF(sequence_type) seq)
1574
+ { this->m_flat_tree.adopt_sequence_unique(ordered_unique_range_t(), boost::move(dtl::force<impl_sequence_type>(seq))); }
1575
+
1576
+ //! <b>Effects</b>: Returns a const view of the underlying sequence.
1577
+ //!
1578
+ //! <b>Complexity</b>: Constant
1579
+ //!
1580
+ //! <b>Throws</b>: Nothing
1581
+ BOOST_CONTAINER_FORCEINLINE const sequence_type & sequence() const BOOST_NOEXCEPT
1582
+ { return dtl::force<sequence_type>(m_flat_tree.get_sequence_cref()); }
1583
+
1584
+ //! <b>Effects</b>: Returns true if x and y are equal
1585
+ //!
1586
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
1587
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1588
+ friend bool operator==(const flat_map& x, const flat_map& y)
1589
+ { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
1590
+
1591
+ //! <b>Effects</b>: Returns true if x and y are unequal
1592
+ //!
1593
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
1594
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1595
+ friend bool operator!=(const flat_map& x, const flat_map& y)
1596
+ { return !(x == y); }
1597
+
1598
+ //! <b>Effects</b>: Returns true if x is less than y
1599
+ //!
1600
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
1601
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1602
+ friend bool operator<(const flat_map& x, const flat_map& y)
1603
+ { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
1604
+
1605
+ //! <b>Effects</b>: Returns true if x is greater than y
1606
+ //!
1607
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
1608
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1609
+ friend bool operator>(const flat_map& x, const flat_map& y)
1610
+ { return y < x; }
1611
+
1612
+ //! <b>Effects</b>: Returns true if x is equal or less than y
1613
+ //!
1614
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
1615
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1616
+ friend bool operator<=(const flat_map& x, const flat_map& y)
1617
+ { return !(y < x); }
1618
+
1619
+ //! <b>Effects</b>: Returns true if x is equal or greater than y
1620
+ //!
1621
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
1622
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1623
+ friend bool operator>=(const flat_map& x, const flat_map& y)
1624
+ { return !(x < y); }
1625
+
1626
+ //! <b>Effects</b>: x.swap(y)
1627
+ //!
1628
+ //! <b>Complexity</b>: Constant.
1629
+ BOOST_CONTAINER_FORCEINLINE friend void swap(flat_map& x, flat_map& y)
1630
+ BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
1631
+ { x.swap(y); }
1632
+
1633
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1634
+ private:
1635
+ mapped_type &priv_subscript(const key_type& k)
1636
+ {
1637
+ iterator i = this->lower_bound(k);
1638
+ // i->first is greater than or equivalent to k.
1639
+ if (i == end() || key_comp()(k, (*i).first)){
1640
+ dtl::value_init<mapped_type> m;
1641
+ impl_value_type v(k, ::boost::move(m.m_t));
1642
+ i = this->insert(i, ::boost::move(v));
1643
+ }
1644
+ return (*i).second;
1645
+ }
1646
+ mapped_type &priv_subscript(BOOST_RV_REF(key_type) mk)
1647
+ {
1648
+ key_type &k = mk;
1649
+ iterator i = this->lower_bound(k);
1650
+ // i->first is greater than or equivalent to k.
1651
+ if (i == end() || key_comp()(k, (*i).first)){
1652
+ dtl::value_init<mapped_type> m;
1653
+ impl_value_type v(::boost::move(k), ::boost::move(m.m_t));
1654
+ i = this->insert(i, ::boost::move(v));
1655
+ }
1656
+ return (*i).second;
1657
+ }
1658
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1659
+ };
1660
+
1661
+ #ifndef BOOST_CONTAINER_NO_CXX17_CTAD
1662
+
1663
+ template <typename InputIterator>
1664
+ flat_map(InputIterator, InputIterator) ->
1665
+ flat_map< it_based_non_const_first_type_t<InputIterator>
1666
+ , it_based_second_type_t<InputIterator>>;
1667
+
1668
+ template < typename InputIterator, typename AllocatorOrCompare>
1669
+ flat_map(InputIterator, InputIterator, AllocatorOrCompare const&) ->
1670
+ flat_map< it_based_non_const_first_type_t<InputIterator>
1671
+ , it_based_second_type_t<InputIterator>
1672
+ , typename dtl::if_c< // Compare
1673
+ dtl::is_allocator<AllocatorOrCompare>::value
1674
+ , std::less<it_based_non_const_first_type_t<InputIterator>>
1675
+ , AllocatorOrCompare
1676
+ >::type
1677
+ , typename dtl::if_c< // Allocator
1678
+ dtl::is_allocator<AllocatorOrCompare>::value
1679
+ , AllocatorOrCompare
1680
+ , new_allocator<std::pair<it_based_non_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
1681
+ >::type
1682
+ >;
1683
+
1684
+ template < typename InputIterator, typename Compare, typename Allocator
1685
+ , typename = dtl::require_nonallocator_t<Compare>
1686
+ , typename = dtl::require_allocator_t<Allocator>>
1687
+ flat_map(InputIterator, InputIterator, Compare const&, Allocator const&) ->
1688
+ flat_map< it_based_non_const_first_type_t<InputIterator>
1689
+ , it_based_second_type_t<InputIterator>
1690
+ , Compare
1691
+ , Allocator>;
1692
+
1693
+ template <typename InputIterator>
1694
+ flat_map(ordered_unique_range_t, InputIterator, InputIterator) ->
1695
+ flat_map< it_based_non_const_first_type_t<InputIterator>
1696
+ , it_based_second_type_t<InputIterator>>;
1697
+
1698
+ template < typename InputIterator, typename AllocatorOrCompare>
1699
+ flat_map(ordered_unique_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
1700
+ flat_map< it_based_non_const_first_type_t<InputIterator>
1701
+ , it_based_second_type_t<InputIterator>
1702
+ , typename dtl::if_c< // Compare
1703
+ dtl::is_allocator<AllocatorOrCompare>::value
1704
+ , std::less<it_based_non_const_first_type_t<InputIterator>>
1705
+ , AllocatorOrCompare
1706
+ >::type
1707
+ , typename dtl::if_c< // Allocator
1708
+ dtl::is_allocator<AllocatorOrCompare>::value
1709
+ , AllocatorOrCompare
1710
+ , new_allocator<std::pair<it_based_non_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
1711
+ >::type
1712
+ >;
1713
+
1714
+ template < typename InputIterator, typename Compare, typename Allocator
1715
+ , typename = dtl::require_nonallocator_t<Compare>
1716
+ , typename = dtl::require_allocator_t<Allocator>>
1717
+ flat_map(ordered_unique_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
1718
+ flat_map< it_based_non_const_first_type_t<InputIterator>
1719
+ , it_based_second_type_t<InputIterator>
1720
+ , Compare
1721
+ , Allocator>;
1722
+
1723
+ #endif
1724
+
1725
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1726
+
1727
+ } //namespace container {
1728
+
1729
+ //!has_trivial_destructor_after_move<> == true_type
1730
+ //!specialization for optimizations
1731
+ template <class Key, class T, class Compare, class AllocatorOrContainer>
1732
+ struct has_trivial_destructor_after_move<boost::container::flat_map<Key, T, Compare, AllocatorOrContainer> >
1733
+ {
1734
+ typedef ::boost::container::dtl::pair<Key, T> value_t;
1735
+ typedef typename ::boost::container::dtl::container_or_allocator_rebind<AllocatorOrContainer, value_t>::type alloc_or_cont_t;
1736
+ typedef ::boost::container::dtl::flat_tree<value_t,::boost::container::dtl::select1st<Key>, Compare, alloc_or_cont_t> tree;
1737
+ static const bool value = ::boost::has_trivial_destructor_after_move<tree>::value;
1738
+ };
1739
+
1740
+ namespace container {
1741
+
1742
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1743
+
1744
+ //! A flat_multimap is a kind of associative container that supports equivalent keys
1745
+ //! (possibly containing multiple copies of the same key value) and provides for
1746
+ //! fast retrieval of values of another type T based on the keys.
1747
+ //!
1748
+ //! A flat_multimap satisfies all of the requirements of a container and of a reversible
1749
+ //! container and of an associative container. For a
1750
+ //! flat_multimap<Key,T> the key_type is Key and the value_type is std::pair<Key,T>
1751
+ //! (unlike std::multimap<Key, T> which value_type is std::pair<<b>const</b> Key, T>).
1752
+ //!
1753
+ //! flat_multimap is similar to std::multimap but it's implemented by as an ordered sequence container.
1754
+ //! The underlying sequence container is by default <i>vector</i> but it can also work
1755
+ //! user-provided vector-like SequenceContainers (like <i>static_vector</i> or <i>small_vector</i>).
1756
+ //!
1757
+ //! Using vector-like sequence containers means that inserting a new element into a flat_multimap might invalidate
1758
+ //! previous iterators and references (unless that sequence container is <i>stable_vector</i> or a similar
1759
+ //! container that offers stable pointers and references). Similarly, erasing an element might invalidate
1760
+ //! iterators and references pointing to elements that come after (their keys are bigger) the erased element.
1761
+ //!
1762
+ //! This container provides random-access iterators.
1763
+ //!
1764
+ //! \tparam Key is the key_type of the map
1765
+ //! \tparam Value is the <code>mapped_type</code>
1766
+ //! \tparam Compare is the ordering function for Keys (e.g. <i>std::less<Key></i>).
1767
+ //! \tparam AllocatorOrContainer is either:
1768
+ //! - The allocator to allocate <code>value_type</code>s (e.g. <i>allocator< std::pair<Key, T> > </i>).
1769
+ //! (in this case <i>sequence_type</i> will be vector<value_type, AllocatorOrContainer>)
1770
+ //! - The SequenceContainer to be used as the underlying <i>sequence_type</i>. It must be a vector-like
1771
+ //! sequence container with random-access iterators.
1772
+ #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
1773
+ template <class Key, class T, class Compare = std::less<Key>, class AllocatorOrContainer = new_allocator< std::pair< Key, T> > >
1774
+ #else
1775
+ template <class Key, class T, class Compare, class AllocatorOrContainer>
1776
+ #endif
1777
+ class flat_multimap
1778
+ {
1779
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1780
+ private:
1781
+ BOOST_COPYABLE_AND_MOVABLE(flat_multimap)
1782
+ typedef dtl::flat_tree<
1783
+ std::pair<Key, T>,
1784
+ dtl::select1st<Key>,
1785
+ Compare,
1786
+ AllocatorOrContainer> tree_t;
1787
+ //This is the real tree stored here. It's based on a movable pair
1788
+ typedef dtl::flat_tree<
1789
+ dtl::pair<Key, T>,
1790
+ dtl::select1st<Key>,
1791
+ Compare,
1792
+ typename dtl::container_or_allocator_rebind<AllocatorOrContainer, dtl::pair<Key, T> >::type
1793
+ > impl_tree_t;
1794
+ impl_tree_t m_flat_tree; // flat tree representing flat_map
1795
+
1796
+ typedef typename impl_tree_t::value_type impl_value_type;
1797
+ typedef typename impl_tree_t::const_iterator impl_const_iterator;
1798
+ typedef typename impl_tree_t::iterator impl_iterator;
1799
+ typedef typename impl_tree_t::allocator_type impl_allocator_type;
1800
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1801
+ typedef std::initializer_list<impl_value_type> impl_initializer_list;
1802
+ #endif
1803
+
1804
+ typedef dtl::flat_tree_value_compare
1805
+ < Compare
1806
+ , dtl::select1st<Key>
1807
+ , std::pair<Key, T> > value_compare_t;
1808
+ typedef typename tree_t::iterator iterator_t;
1809
+ typedef typename tree_t::const_iterator const_iterator_t;
1810
+ typedef typename tree_t::reverse_iterator reverse_iterator_t;
1811
+ typedef typename tree_t::const_reverse_iterator const_reverse_iterator_t;
1812
+
1813
+ public:
1814
+ typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type;
1815
+ typedef typename impl_tree_t::sequence_type impl_sequence_type;
1816
+
1817
+ BOOST_CONTAINER_FORCEINLINE impl_tree_t &tree()
1818
+ { return m_flat_tree; }
1819
+
1820
+ BOOST_CONTAINER_FORCEINLINE const impl_tree_t &tree() const
1821
+ { return m_flat_tree; }
1822
+
1823
+ private:
1824
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1825
+
1826
+ public:
1827
+
1828
+ //////////////////////////////////////////////
1829
+ //
1830
+ // types
1831
+ //
1832
+ //////////////////////////////////////////////
1833
+ typedef Key key_type;
1834
+ typedef T mapped_type;
1835
+ typedef Compare key_compare;
1836
+ typedef std::pair<Key, T> value_type;
1837
+ typedef typename BOOST_CONTAINER_IMPDEF(tree_t::sequence_type) sequence_type;
1838
+ typedef typename sequence_type::allocator_type allocator_type;
1839
+ typedef ::boost::container::allocator_traits<allocator_type> allocator_traits_type;
1840
+ typedef typename sequence_type::pointer pointer;
1841
+ typedef typename sequence_type::const_pointer const_pointer;
1842
+ typedef typename sequence_type::reference reference;
1843
+ typedef typename sequence_type::const_reference const_reference;
1844
+ typedef typename sequence_type::size_type size_type;
1845
+ typedef typename sequence_type::difference_type difference_type;
1846
+ typedef typename BOOST_CONTAINER_IMPDEF(tree_t::stored_allocator_type) stored_allocator_type;
1847
+ typedef typename BOOST_CONTAINER_IMPDEF(tree_t::value_compare) value_compare;
1848
+
1849
+ typedef typename sequence_type::iterator iterator;
1850
+ typedef typename sequence_type::const_iterator const_iterator;
1851
+ typedef typename sequence_type::reverse_iterator reverse_iterator;
1852
+ typedef typename sequence_type::const_reverse_iterator const_reverse_iterator;
1853
+ typedef BOOST_CONTAINER_IMPDEF(impl_value_type) movable_value_type;
1854
+
1855
+ //AllocatorOrContainer::value_type must be std::pair<Key, T>
1856
+ BOOST_STATIC_ASSERT((dtl::is_same<std::pair<Key, T>, value_type>::value));
1857
+
1858
+ //////////////////////////////////////////////
1859
+ //
1860
+ // construct/copy/destroy
1861
+ //
1862
+ //////////////////////////////////////////////
1863
+
1864
+ //! <b>Effects</b>: Default constructs an empty flat_map.
1865
+ //!
1866
+ //! <b>Complexity</b>: Constant.
1867
+ BOOST_CONTAINER_FORCEINLINE flat_multimap()
1868
+ BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<AllocatorOrContainer>::value &&
1869
+ dtl::is_nothrow_default_constructible<Compare>::value)
1870
+ : m_flat_tree()
1871
+ {}
1872
+
1873
+ //! <b>Effects</b>: Constructs an empty flat_multimap using the specified allocator.
1874
+ //!
1875
+ //! <b>Complexity</b>: Constant.
1876
+ BOOST_CONTAINER_FORCEINLINE explicit flat_multimap(const allocator_type& a)
1877
+ : m_flat_tree(dtl::force<const impl_allocator_type>(a))
1878
+ {}
1879
+
1880
+ //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison
1881
+ //! object .
1882
+ //!
1883
+ //! <b>Complexity</b>: Constant.
1884
+ BOOST_CONTAINER_FORCEINLINE explicit flat_multimap(const Compare& comp)
1885
+ : m_flat_tree(comp)
1886
+ {}
1887
+
1888
+ //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison
1889
+ //! object and allocator.
1890
+ //!
1891
+ //! <b>Complexity</b>: Constant.
1892
+ BOOST_CONTAINER_FORCEINLINE
1893
+ flat_multimap(const Compare& comp, const allocator_type& a)
1894
+ : m_flat_tree(comp, dtl::force<const impl_allocator_type>(a))
1895
+ {}
1896
+
1897
+ //! <b>Effects</b>: Constructs an empty flat_multimap
1898
+ //! and inserts elements from the range [first ,last ).
1899
+ //!
1900
+ //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
1901
+ //! the predicate and otherwise N logN, where N is last - first.
1902
+ template <class InputIterator>
1903
+ BOOST_CONTAINER_FORCEINLINE
1904
+ flat_multimap(InputIterator first, InputIterator last)
1905
+ : m_flat_tree(false, first, last)
1906
+ {}
1907
+
1908
+ //! <b>Effects</b>: Constructs an empty flat_multimap using the specified
1909
+ //! allocator, and inserts elements from the range [first ,last ).
1910
+ //!
1911
+ //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
1912
+ //! the predicate and otherwise N logN, where N is last - first.
1913
+ template <class InputIterator>
1914
+ BOOST_CONTAINER_FORCEINLINE
1915
+ flat_multimap(InputIterator first, InputIterator last, const allocator_type& a)
1916
+ : m_flat_tree(false, first, last, dtl::force<const impl_allocator_type>(a))
1917
+ {}
1918
+
1919
+ //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object
1920
+ //! and inserts elements from the range [first ,last ).
1921
+ //!
1922
+ //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
1923
+ //! the predicate and otherwise N logN, where N is last - first.
1924
+ template <class InputIterator>
1925
+ BOOST_CONTAINER_FORCEINLINE
1926
+ flat_multimap(InputIterator first, InputIterator last, const Compare& comp)
1927
+ : m_flat_tree(false, first, last, comp)
1928
+ {}
1929
+
1930
+ //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object
1931
+ //! and allocator, and inserts elements from the range [first ,last ).
1932
+ //!
1933
+ //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
1934
+ //! the predicate and otherwise N logN, where N is last - first.
1935
+ template <class InputIterator>
1936
+ BOOST_CONTAINER_FORCEINLINE
1937
+ flat_multimap(InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
1938
+ : m_flat_tree(false, first, last, comp, dtl::force<const impl_allocator_type>(a))
1939
+ {}
1940
+
1941
+ //! <b>Effects</b>: Constructs an empty flat_multimap
1942
+ //! and inserts elements from the ordered range [first ,last). This function
1943
+ //! is more efficient than the normal range creation for ordered ranges.
1944
+ //!
1945
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
1946
+ //!
1947
+ //! <b>Complexity</b>: Linear in N.
1948
+ //!
1949
+ //! <b>Note</b>: Non-standard extension.
1950
+ template <class InputIterator>
1951
+ BOOST_CONTAINER_FORCEINLINE
1952
+ flat_multimap(ordered_range_t, InputIterator first, InputIterator last)
1953
+ : m_flat_tree(ordered_range, first, last)
1954
+ {}
1955
+
1956
+ //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object and
1957
+ //! inserts elements from the ordered range [first ,last). This function
1958
+ //! is more efficient than the normal range creation for ordered ranges.
1959
+ //!
1960
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
1961
+ //!
1962
+ //! <b>Complexity</b>: Linear in N.
1963
+ //!
1964
+ //! <b>Note</b>: Non-standard extension.
1965
+ template <class InputIterator>
1966
+ BOOST_CONTAINER_FORCEINLINE
1967
+ flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp)
1968
+ : m_flat_tree(ordered_range, first, last, comp)
1969
+ {}
1970
+
1971
+ //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object and
1972
+ //! allocator, and inserts elements from the ordered range [first ,last). This function
1973
+ //! is more efficient than the normal range creation for ordered ranges.
1974
+ //!
1975
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
1976
+ //!
1977
+ //! <b>Complexity</b>: Linear in N.
1978
+ //!
1979
+ //! <b>Note</b>: Non-standard extension.
1980
+ template <class InputIterator>
1981
+ BOOST_CONTAINER_FORCEINLINE
1982
+ flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
1983
+ : m_flat_tree(ordered_range, first, last, comp, a)
1984
+ {}
1985
+
1986
+ //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object and
1987
+ //! inserts elements from the ordered range [first ,last). This function
1988
+ //! is more efficient than the normal range creation for ordered ranges.
1989
+ //!
1990
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
1991
+ //!
1992
+ //! <b>Complexity</b>: Linear in N.
1993
+ //!
1994
+ //! <b>Note</b>: Non-standard extension.
1995
+ template <class InputIterator>
1996
+ BOOST_CONTAINER_FORCEINLINE
1997
+ flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const allocator_type &a)
1998
+ : m_flat_tree(ordered_range, first, last, Compare(), a)
1999
+ {}
2000
+
2001
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
2002
+ //! <b>Effects</b>: Constructs an empty flat_map and
2003
+ //! inserts elements from the range [il.begin(), il.end()).
2004
+ //!
2005
+ //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
2006
+ //! the predicate and otherwise N logN, where N is last - first.
2007
+ BOOST_CONTAINER_FORCEINLINE
2008
+ flat_multimap(std::initializer_list<value_type> il)
2009
+ : m_flat_tree( false
2010
+ , dtl::force<impl_initializer_list>(il).begin()
2011
+ , dtl::force<impl_initializer_list>(il).end())
2012
+ {}
2013
+
2014
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified
2015
+ //! allocator, and inserts elements from the range [il.begin(), il.end()).
2016
+ //!
2017
+ //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
2018
+ //! the predicate and otherwise N logN, where N is last - first.
2019
+ BOOST_CONTAINER_FORCEINLINE
2020
+ flat_multimap(std::initializer_list<value_type> il, const allocator_type& a)
2021
+ : m_flat_tree(false
2022
+ , dtl::force<impl_initializer_list>(il).begin()
2023
+ , dtl::force<impl_initializer_list>(il).end()
2024
+ , dtl::force<const impl_allocator_type>(a))
2025
+ {}
2026
+
2027
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
2028
+ //! inserts elements from the range [il.begin(), il.end()).
2029
+ //!
2030
+ //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
2031
+ //! the predicate and otherwise N logN, where N is last - first.
2032
+ BOOST_CONTAINER_FORCEINLINE
2033
+ flat_multimap(std::initializer_list<value_type> il, const Compare& comp)
2034
+ : m_flat_tree(false
2035
+ , dtl::force<impl_initializer_list>(il).begin()
2036
+ , dtl::force<impl_initializer_list>(il).end(), comp)
2037
+ {}
2038
+
2039
+ //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
2040
+ //! allocator, and inserts elements from the range [il.begin(), il.end()).
2041
+ //!
2042
+ //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
2043
+ //! the predicate and otherwise N logN, where N is last - first.
2044
+ BOOST_CONTAINER_FORCEINLINE
2045
+ flat_multimap(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
2046
+ : m_flat_tree( false
2047
+ , dtl::force<impl_initializer_list>(il).begin()
2048
+ , dtl::force<impl_initializer_list>(il).end()
2049
+ , comp, dtl::force<const impl_allocator_type>(a))
2050
+ {}
2051
+
2052
+ //! <b>Effects</b>: Constructs an empty flat_multimap and
2053
+ //! inserts elements from the ordered range [il.begin(), il.end()). This function
2054
+ //! is more efficient than the normal range creation for ordered ranges.
2055
+ //!
2056
+ //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
2057
+ //!
2058
+ //! <b>Complexity</b>: Linear in N.
2059
+ //!
2060
+ //! <b>Note</b>: Non-standard extension.
2061
+ BOOST_CONTAINER_FORCEINLINE
2062
+ flat_multimap(ordered_range_t, std::initializer_list<value_type> il)
2063
+ : m_flat_tree( ordered_range
2064
+ , dtl::force<impl_initializer_list>(il).begin()
2065
+ , dtl::force<impl_initializer_list>(il).end())
2066
+ {}
2067
+
2068
+ //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object and
2069
+ //! inserts elements from the ordered range [il.begin(), il.end()). This function
2070
+ //! is more efficient than the normal range creation for ordered ranges.
2071
+ //!
2072
+ //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
2073
+ //!
2074
+ //! <b>Complexity</b>: Linear in N.
2075
+ //!
2076
+ //! <b>Note</b>: Non-standard extension.
2077
+ BOOST_CONTAINER_FORCEINLINE
2078
+ flat_multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp)
2079
+ : m_flat_tree( ordered_range
2080
+ , dtl::force<impl_initializer_list>(il).begin()
2081
+ , dtl::force<impl_initializer_list>(il).end(), comp)
2082
+ {}
2083
+
2084
+ //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object and
2085
+ //! allocator, and inserts elements from the ordered range [il.begin(), il.end()). This function
2086
+ //! is more efficient than the normal range creation for ordered ranges.
2087
+ //!
2088
+ //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
2089
+ //!
2090
+ //! <b>Complexity</b>: Linear in N.
2091
+ //!
2092
+ //! <b>Note</b>: Non-standard extension.
2093
+ BOOST_CONTAINER_FORCEINLINE
2094
+ flat_multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
2095
+ : m_flat_tree( ordered_range
2096
+ , dtl::force<impl_initializer_list>(il).begin()
2097
+ , dtl::force<impl_initializer_list>(il).end()
2098
+ , comp, dtl::force<const impl_allocator_type>(a))
2099
+ {}
2100
+ #endif
2101
+
2102
+ //! <b>Effects</b>: Copy constructs a flat_multimap.
2103
+ //!
2104
+ //! <b>Complexity</b>: Linear in x.size().
2105
+ BOOST_CONTAINER_FORCEINLINE
2106
+ flat_multimap(const flat_multimap& x)
2107
+ : m_flat_tree(x.m_flat_tree)
2108
+ {}
2109
+
2110
+ //! <b>Effects</b>: Move constructs a flat_multimap. Constructs *this using x's resources.
2111
+ //!
2112
+ //! <b>Complexity</b>: Constant.
2113
+ //!
2114
+ //! <b>Postcondition</b>: x is emptied.
2115
+ BOOST_CONTAINER_FORCEINLINE
2116
+ flat_multimap(BOOST_RV_REF(flat_multimap) x)
2117
+ BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
2118
+ : m_flat_tree(boost::move(x.m_flat_tree))
2119
+ {}
2120
+
2121
+ //! <b>Effects</b>: Copy constructs a flat_multimap using the specified allocator.
2122
+ //!
2123
+ //! <b>Complexity</b>: Linear in x.size().
2124
+ BOOST_CONTAINER_FORCEINLINE
2125
+ flat_multimap(const flat_multimap& x, const allocator_type &a)
2126
+ : m_flat_tree(x.m_flat_tree, dtl::force<const impl_allocator_type>(a))
2127
+ {}
2128
+
2129
+ //! <b>Effects</b>: Move constructs a flat_multimap using the specified allocator.
2130
+ //! Constructs *this using x's resources.
2131
+ //!
2132
+ //! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
2133
+ BOOST_CONTAINER_FORCEINLINE
2134
+ flat_multimap(BOOST_RV_REF(flat_multimap) x, const allocator_type &a)
2135
+ : m_flat_tree(boost::move(x.m_flat_tree), dtl::force<const impl_allocator_type>(a))
2136
+ {}
2137
+
2138
+ //! <b>Effects</b>: Makes *this a copy of x.
2139
+ //!
2140
+ //! <b>Complexity</b>: Linear in x.size().
2141
+ BOOST_CONTAINER_FORCEINLINE
2142
+ flat_multimap& operator=(BOOST_COPY_ASSIGN_REF(flat_multimap) x)
2143
+ { m_flat_tree = x.m_flat_tree; return *this; }
2144
+
2145
+ //! <b>Effects</b>: this->swap(x.get()).
2146
+ //!
2147
+ //! <b>Complexity</b>: Constant.
2148
+ BOOST_CONTAINER_FORCEINLINE
2149
+ flat_multimap& operator=(BOOST_RV_REF(flat_multimap) x)
2150
+ BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
2151
+ allocator_traits_type::is_always_equal::value) &&
2152
+ boost::container::dtl::is_nothrow_move_assignable<Compare>::value)
2153
+ { m_flat_tree = boost::move(x.m_flat_tree); return *this; }
2154
+
2155
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
2156
+ //! <b>Effects</b>: Assign content of il to *this
2157
+ //!
2158
+ //! <b>Complexity</b>: Linear in il.size().
2159
+ BOOST_CONTAINER_FORCEINLINE
2160
+ flat_multimap& operator=(std::initializer_list<value_type> il)
2161
+ {
2162
+ this->clear();
2163
+ this->insert(il.begin(), il.end());
2164
+ return *this;
2165
+ }
2166
+ #endif
2167
+
2168
+ //! <b>Effects</b>: Returns a copy of the allocator that
2169
+ //! was passed to the object's constructor.
2170
+ //!
2171
+ //! <b>Complexity</b>: Constant.
2172
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2173
+ allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
2174
+ { return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
2175
+
2176
+ //! <b>Effects</b>: Returns a reference to the internal allocator.
2177
+ //!
2178
+ //! <b>Throws</b>: Nothing
2179
+ //!
2180
+ //! <b>Complexity</b>: Constant.
2181
+ //!
2182
+ //! <b>Note</b>: Non-standard extension.
2183
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2184
+ stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
2185
+ { return dtl::force<stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
2186
+
2187
+ //! <b>Effects</b>: Returns a reference to the internal allocator.
2188
+ //!
2189
+ //! <b>Throws</b>: Nothing
2190
+ //!
2191
+ //! <b>Complexity</b>: Constant.
2192
+ //!
2193
+ //! <b>Note</b>: Non-standard extension.
2194
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2195
+ const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
2196
+ { return dtl::force<const stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
2197
+
2198
+ //////////////////////////////////////////////
2199
+ //
2200
+ // iterators
2201
+ //
2202
+ //////////////////////////////////////////////
2203
+
2204
+ //! <b>Effects</b>: Returns an iterator to the first element contained in the container.
2205
+ //!
2206
+ //! <b>Throws</b>: Nothing.
2207
+ //!
2208
+ //! <b>Complexity</b>: Constant.
2209
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2210
+ iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
2211
+ { return dtl::force_copy<iterator>(m_flat_tree.begin()); }
2212
+
2213
+ //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
2214
+ //!
2215
+ //! <b>Throws</b>: Nothing.
2216
+ //!
2217
+ //! <b>Complexity</b>: Constant.
2218
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2219
+ const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
2220
+ { return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
2221
+
2222
+ //! <b>Effects</b>: Returns an iterator to the end of the container.
2223
+ //!
2224
+ //! <b>Throws</b>: Nothing.
2225
+ //!
2226
+ //! <b>Complexity</b>: Constant.
2227
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2228
+ iterator end() BOOST_NOEXCEPT_OR_NOTHROW
2229
+ { return dtl::force_copy<iterator>(m_flat_tree.end()); }
2230
+
2231
+ //! <b>Effects</b>: Returns a const_iterator to the end of the container.
2232
+ //!
2233
+ //! <b>Throws</b>: Nothing.
2234
+ //!
2235
+ //! <b>Complexity</b>: Constant.
2236
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2237
+ const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
2238
+ { return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
2239
+
2240
+ //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
2241
+ //! of the reversed container.
2242
+ //!
2243
+ //! <b>Throws</b>: Nothing.
2244
+ //!
2245
+ //! <b>Complexity</b>: Constant.
2246
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2247
+ reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
2248
+ { return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
2249
+
2250
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
2251
+ //! of the reversed container.
2252
+ //!
2253
+ //! <b>Throws</b>: Nothing.
2254
+ //!
2255
+ //! <b>Complexity</b>: Constant.
2256
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2257
+ const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
2258
+ { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
2259
+
2260
+ //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
2261
+ //! of the reversed container.
2262
+ //!
2263
+ //! <b>Throws</b>: Nothing.
2264
+ //!
2265
+ //! <b>Complexity</b>: Constant.
2266
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2267
+ reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
2268
+ { return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
2269
+
2270
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
2271
+ //! of the reversed container.
2272
+ //!
2273
+ //! <b>Throws</b>: Nothing.
2274
+ //!
2275
+ //! <b>Complexity</b>: Constant.
2276
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2277
+ const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
2278
+ { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
2279
+
2280
+ //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
2281
+ //!
2282
+ //! <b>Throws</b>: Nothing.
2283
+ //!
2284
+ //! <b>Complexity</b>: Constant.
2285
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2286
+ const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
2287
+ { return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
2288
+
2289
+ //! <b>Effects</b>: Returns a const_iterator to the end of the container.
2290
+ //!
2291
+ //! <b>Throws</b>: Nothing.
2292
+ //!
2293
+ //! <b>Complexity</b>: Constant.
2294
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2295
+ const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
2296
+ { return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
2297
+
2298
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
2299
+ //! of the reversed container.
2300
+ //!
2301
+ //! <b>Throws</b>: Nothing.
2302
+ //!
2303
+ //! <b>Complexity</b>: Constant.
2304
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2305
+ const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
2306
+ { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
2307
+
2308
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
2309
+ //! of the reversed container.
2310
+ //!
2311
+ //! <b>Throws</b>: Nothing.
2312
+ //!
2313
+ //! <b>Complexity</b>: Constant.
2314
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2315
+ const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
2316
+ { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
2317
+
2318
+ //////////////////////////////////////////////
2319
+ //
2320
+ // capacity
2321
+ //
2322
+ //////////////////////////////////////////////
2323
+
2324
+ //! <b>Effects</b>: Returns true if the container contains no elements.
2325
+ //!
2326
+ //! <b>Throws</b>: Nothing.
2327
+ //!
2328
+ //! <b>Complexity</b>: Constant.
2329
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2330
+ bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
2331
+ { return m_flat_tree.empty(); }
2332
+
2333
+ //! <b>Effects</b>: Returns the number of the elements contained in the container.
2334
+ //!
2335
+ //! <b>Throws</b>: Nothing.
2336
+ //!
2337
+ //! <b>Complexity</b>: Constant.
2338
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2339
+ size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
2340
+ { return m_flat_tree.size(); }
2341
+
2342
+ //! <b>Effects</b>: Returns the largest possible size of the container.
2343
+ //!
2344
+ //! <b>Throws</b>: Nothing.
2345
+ //!
2346
+ //! <b>Complexity</b>: Constant.
2347
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2348
+ size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
2349
+ { return m_flat_tree.max_size(); }
2350
+
2351
+ //! <b>Effects</b>: Number of elements for which memory has been allocated.
2352
+ //! capacity() is always greater than or equal to size().
2353
+ //!
2354
+ //! <b>Throws</b>: Nothing.
2355
+ //!
2356
+ //! <b>Complexity</b>: Constant.
2357
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2358
+ size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
2359
+ { return m_flat_tree.capacity(); }
2360
+
2361
+ //! <b>Effects</b>: If n is less than or equal to capacity(), or the
2362
+ //! underlying container has no `reserve` member, this call has no
2363
+ //! effect. Otherwise, it is a request for allocation of additional memory.
2364
+ //! If the request is successful, then capacity() is greater than or equal to
2365
+ //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged.
2366
+ //!
2367
+ //! <b>Throws</b>: If memory allocation allocation throws or T's copy constructor throws.
2368
+ //!
2369
+ //! <b>Note</b>: If capacity() is less than "cnt", iterators and references to
2370
+ //! to values might be invalidated.
2371
+ BOOST_CONTAINER_FORCEINLINE
2372
+ void reserve(size_type cnt)
2373
+ { m_flat_tree.reserve(cnt); }
2374
+
2375
+ //! <b>Effects</b>: Tries to deallocate the excess of memory created
2376
+ // with previous allocations. The size of the vector is unchanged
2377
+ //!
2378
+ //! <b>Throws</b>: If memory allocation throws, or T's copy constructor throws.
2379
+ //!
2380
+ //! <b>Complexity</b>: Linear to size().
2381
+ BOOST_CONTAINER_FORCEINLINE
2382
+ void shrink_to_fit()
2383
+ { m_flat_tree.shrink_to_fit(); }
2384
+
2385
+ //! @copydoc ::boost::container::flat_set::nth(size_type)
2386
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2387
+ iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
2388
+ { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
2389
+
2390
+ //! @copydoc ::boost::container::flat_set::nth(size_type) const
2391
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2392
+ const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
2393
+ { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
2394
+
2395
+ //! @copydoc ::boost::container::flat_set::index_of(iterator)
2396
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2397
+ size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
2398
+ { return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
2399
+
2400
+ //! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
2401
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2402
+ size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
2403
+ { return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
2404
+
2405
+ #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
2406
+
2407
+ //! <b>Effects</b>: Inserts an object of type T constructed with
2408
+ //! std::forward<Args>(args)... and returns the iterator pointing to the
2409
+ //! newly inserted element.
2410
+ //!
2411
+ //! <b>Complexity</b>: Logarithmic search time plus linear insertion
2412
+ //! to the elements with bigger keys than x.
2413
+ //!
2414
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
2415
+ template <class... Args>
2416
+ BOOST_CONTAINER_FORCEINLINE
2417
+ iterator emplace(BOOST_FWD_REF(Args)... args)
2418
+ { return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(boost::forward<Args>(args)...)); }
2419
+
2420
+ //! <b>Effects</b>: Inserts an object of type T constructed with
2421
+ //! std::forward<Args>(args)... in the container.
2422
+ //! p is a hint pointing to where the insert should start to search.
2423
+ //!
2424
+ //! <b>Returns</b>: An iterator pointing to the element with key equivalent
2425
+ //! to the key of x.
2426
+ //!
2427
+ //! <b>Complexity</b>: Logarithmic search time (constant time if the value
2428
+ //! is to be inserted before p) plus linear insertion
2429
+ //! to the elements with bigger keys than x.
2430
+ //!
2431
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
2432
+ template <class... Args>
2433
+ BOOST_CONTAINER_FORCEINLINE
2434
+ iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
2435
+ {
2436
+ return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_equal
2437
+ (dtl::force_copy<impl_const_iterator>(hint), boost::forward<Args>(args)...));
2438
+ }
2439
+
2440
+ #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
2441
+
2442
+ #define BOOST_CONTAINER_FLAT_MULTIMAP_EMPLACE_CODE(N) \
2443
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
2444
+ BOOST_CONTAINER_FORCEINLINE iterator emplace(BOOST_MOVE_UREF##N)\
2445
+ { return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(BOOST_MOVE_FWD##N)); }\
2446
+ \
2447
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
2448
+ BOOST_CONTAINER_FORCEINLINE iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
2449
+ {\
2450
+ return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_equal\
2451
+ (dtl::force_copy<impl_const_iterator>(hint) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
2452
+ }\
2453
+ //
2454
+ BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_FLAT_MULTIMAP_EMPLACE_CODE)
2455
+ #undef BOOST_CONTAINER_FLAT_MULTIMAP_EMPLACE_CODE
2456
+
2457
+ #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
2458
+
2459
+ //! <b>Effects</b>: Inserts x and returns the iterator pointing to the
2460
+ //! newly inserted element.
2461
+ //!
2462
+ //! <b>Complexity</b>: Logarithmic search time plus linear insertion
2463
+ //! to the elements with bigger keys than x.
2464
+ //!
2465
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
2466
+ BOOST_CONTAINER_FORCEINLINE iterator insert(const value_type& x)
2467
+ {
2468
+ return dtl::force_copy<iterator>(
2469
+ m_flat_tree.insert_equal(dtl::force<const impl_value_type>(x)));
2470
+ }
2471
+
2472
+ //! <b>Effects</b>: Inserts a new value constructed from x and returns
2473
+ //! the iterator pointing to the newly inserted element.
2474
+ //!
2475
+ //! <b>Complexity</b>: Logarithmic search time plus linear insertion
2476
+ //! to the elements with bigger keys than x.
2477
+ //!
2478
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
2479
+ template<class Pair>
2480
+ BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
2481
+ ( iterator
2482
+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
2483
+ BOOST_MOVE_I iterator >::type)
2484
+ insert(BOOST_FWD_REF(Pair) x)
2485
+ { return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(boost::forward<Pair>(x))); }
2486
+
2487
+ //! <b>Effects</b>: Inserts a copy of x in the container.
2488
+ //! p is a hint pointing to where the insert should start to search.
2489
+ //!
2490
+ //! <b>Returns</b>: An iterator pointing to the element with key equivalent
2491
+ //! to the key of x.
2492
+ //!
2493
+ //! <b>Complexity</b>: Logarithmic search time (constant time if the value
2494
+ //! is to be inserted before p) plus linear insertion
2495
+ //! to the elements with bigger keys than x.
2496
+ //!
2497
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
2498
+ BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, const value_type& x)
2499
+ {
2500
+ return dtl::force_copy<iterator>
2501
+ (m_flat_tree.insert_equal( dtl::force_copy<impl_const_iterator>(p)
2502
+ , dtl::force<const impl_value_type>(x)));
2503
+ }
2504
+
2505
+ //! <b>Effects</b>: Inserts a value constructed from x in the container.
2506
+ //! p is a hint pointing to where the insert should start to search.
2507
+ //!
2508
+ //! <b>Returns</b>: An iterator pointing to the element with key equivalent
2509
+ //! to the key of x.
2510
+ //!
2511
+ //! <b>Complexity</b>: Logarithmic search time (constant time if the value
2512
+ //! is to be inserted before p) plus linear insertion
2513
+ //! to the elements with bigger keys than x.
2514
+ //!
2515
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
2516
+ template<class Pair>
2517
+ BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
2518
+ ( iterator
2519
+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
2520
+ BOOST_MOVE_I iterator>::type)
2521
+ insert(const_iterator p, BOOST_FWD_REF(Pair) x)
2522
+ {
2523
+ return dtl::force_copy<iterator>(
2524
+ m_flat_tree.emplace_hint_equal(dtl::force_copy<impl_const_iterator>(p), boost::forward<Pair>(x)));
2525
+ }
2526
+
2527
+ //! <b>Requires</b>: first, last are not iterators into *this.
2528
+ //!
2529
+ //! <b>Effects</b>: inserts each element from the range [first,last) .
2530
+ //!
2531
+ //! <b>Complexity</b>: N log(N).
2532
+ //!
2533
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
2534
+ template <class InputIterator>
2535
+ BOOST_CONTAINER_FORCEINLINE void insert(InputIterator first, InputIterator last)
2536
+ { m_flat_tree.insert_equal(first, last); }
2537
+
2538
+ //! <b>Requires</b>: first, last are not iterators into *this.
2539
+ //!
2540
+ //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
2541
+ //!
2542
+ //! <b>Effects</b>: inserts each element from the range [first,last) if and only
2543
+ //! if there is no element with key equivalent to the key of that element. This
2544
+ //! function is more efficient than the normal range creation for ordered ranges.
2545
+ //!
2546
+ //! <b>Complexity</b>: Linear.
2547
+ //!
2548
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
2549
+ //!
2550
+ //! <b>Note</b>: Non-standard extension.
2551
+ template <class InputIterator>
2552
+ BOOST_CONTAINER_FORCEINLINE void insert(ordered_range_t, InputIterator first, InputIterator last)
2553
+ { m_flat_tree.insert_equal(ordered_range, first, last); }
2554
+
2555
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
2556
+ //! <b>Effects</b>: inserts each element from the range [il.begin(), il.end()) .
2557
+ //!
2558
+ //! <b>Complexity</b>: N log(N).
2559
+ //!
2560
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
2561
+ BOOST_CONTAINER_FORCEINLINE void insert(std::initializer_list<value_type> il)
2562
+ {
2563
+ m_flat_tree.insert_equal( dtl::force<impl_initializer_list>(il).begin()
2564
+ , dtl::force<impl_initializer_list>(il).end());
2565
+ }
2566
+
2567
+ //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
2568
+ //!
2569
+ //! <b>Effects</b>: inserts each element from the range [il.begin(), il.end()) if and only
2570
+ //! if there is no element with key equivalent to the key of that element. This
2571
+ //! function is more efficient than the normal range creation for ordered ranges.
2572
+ //!
2573
+ //! <b>Complexity</b>: Linear.
2574
+ //!
2575
+ //! <b>Note</b>: If an element is inserted it might invalidate elements.
2576
+ //!
2577
+ //! <b>Note</b>: Non-standard extension.
2578
+ BOOST_CONTAINER_FORCEINLINE void insert(ordered_range_t, std::initializer_list<value_type> il)
2579
+ {
2580
+ m_flat_tree.insert_equal( ordered_range
2581
+ , dtl::force<impl_initializer_list>(il).begin()
2582
+ , dtl::force<impl_initializer_list>(il).end());
2583
+ }
2584
+ #endif
2585
+
2586
+ //! <b>Requires</b>: this->get_allocator() == source.get_allocator().
2587
+ //!
2588
+ //! <b>Effects</b>: Move-inserts each element from source into *this a using
2589
+ //! the comparison object of *this.
2590
+ //!
2591
+ //! <b>Complexity</b>: Linear in this->size() + source.size().
2592
+ //!
2593
+ //! <b>Note</b>: Invalidates all iterators and references.
2594
+ template<class C2>
2595
+ BOOST_CONTAINER_FORCEINLINE void merge(flat_multimap<Key, T, C2, AllocatorOrContainer>& source)
2596
+ { m_flat_tree.merge_equal(source.tree()); }
2597
+
2598
+ //! @copydoc ::boost::container::flat_multimap::merge(flat_multimap<Key, T, C2, AllocatorOrContainer>&)
2599
+ template<class C2>
2600
+ BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG flat_multimap<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
2601
+ { return this->merge(static_cast<flat_multimap<Key, T, C2, AllocatorOrContainer>&>(source)); }
2602
+
2603
+ //! @copydoc ::boost::container::flat_multimap::merge(flat_multimap<Key, T, C2, AllocatorOrContainer>&)
2604
+ template<class C2>
2605
+ BOOST_CONTAINER_FORCEINLINE void merge(flat_map<Key, T, C2, AllocatorOrContainer>& source)
2606
+ { m_flat_tree.merge_equal(source.tree()); }
2607
+
2608
+ //! @copydoc ::boost::container::flat_multimap::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
2609
+ template<class C2>
2610
+ BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG flat_map<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
2611
+ { return this->merge(static_cast<flat_map<Key, T, C2, AllocatorOrContainer>&>(source)); }
2612
+
2613
+ //! <b>Effects</b>: Erases the element pointed to by p.
2614
+ //!
2615
+ //! <b>Returns</b>: Returns an iterator pointing to the element immediately
2616
+ //! following q prior to the element being erased. If no such element exists,
2617
+ //! returns end().
2618
+ //!
2619
+ //! <b>Complexity</b>: Linear to the elements with keys bigger than p
2620
+ //!
2621
+ //! <b>Note</b>: Invalidates elements with keys
2622
+ //! not less than the erased element.
2623
+ BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator p)
2624
+ {
2625
+ return dtl::force_copy<iterator>(
2626
+ m_flat_tree.erase(dtl::force_copy<impl_const_iterator>(p)));
2627
+ }
2628
+
2629
+ //! <b>Effects</b>: Erases all elements in the container with key equivalent to x.
2630
+ //!
2631
+ //! <b>Returns</b>: Returns the number of erased elements.
2632
+ //!
2633
+ //! <b>Complexity</b>: Logarithmic search time plus erasure time
2634
+ //! linear to the elements with bigger keys.
2635
+ BOOST_CONTAINER_FORCEINLINE size_type erase(const key_type& x)
2636
+ { return m_flat_tree.erase(x); }
2637
+
2638
+ //! <b>Effects</b>: Erases all the elements in the range [first, last).
2639
+ //!
2640
+ //! <b>Returns</b>: Returns last.
2641
+ //!
2642
+ //! <b>Complexity</b>: size()*N where N is the distance from first to last.
2643
+ //!
2644
+ //! <b>Complexity</b>: Logarithmic search time plus erasure time
2645
+ //! linear to the elements with bigger keys.
2646
+ BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator first, const_iterator last)
2647
+ {
2648
+ return dtl::force_copy<iterator>
2649
+ (m_flat_tree.erase( dtl::force_copy<impl_const_iterator>(first)
2650
+ , dtl::force_copy<impl_const_iterator>(last)));
2651
+ }
2652
+
2653
+ //! <b>Effects</b>: Swaps the contents of *this and x.
2654
+ //!
2655
+ //! <b>Throws</b>: Nothing.
2656
+ //!
2657
+ //! <b>Complexity</b>: Constant.
2658
+ BOOST_CONTAINER_FORCEINLINE void swap(flat_multimap& x)
2659
+ BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
2660
+ && boost::container::dtl::is_nothrow_swappable<Compare>::value )
2661
+ { m_flat_tree.swap(x.m_flat_tree); }
2662
+
2663
+ //! <b>Effects</b>: erase(begin(),end()).
2664
+ //!
2665
+ //! <b>Postcondition</b>: size() == 0.
2666
+ //!
2667
+ //! <b>Complexity</b>: linear in size().
2668
+ BOOST_CONTAINER_FORCEINLINE void clear() BOOST_NOEXCEPT_OR_NOTHROW
2669
+ { m_flat_tree.clear(); }
2670
+
2671
+ //////////////////////////////////////////////
2672
+ //
2673
+ // observers
2674
+ //
2675
+ //////////////////////////////////////////////
2676
+
2677
+ //! <b>Effects</b>: Returns the comparison object out
2678
+ //! of which a was constructed.
2679
+ //!
2680
+ //! <b>Complexity</b>: Constant.
2681
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2682
+ key_compare key_comp() const
2683
+ { return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
2684
+
2685
+ //! <b>Effects</b>: Returns an object of value_compare constructed out
2686
+ //! of the comparison object.
2687
+ //!
2688
+ //! <b>Complexity</b>: Constant.
2689
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2690
+ value_compare value_comp() const
2691
+ { return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
2692
+
2693
+ //////////////////////////////////////////////
2694
+ //
2695
+ // map operations
2696
+ //
2697
+ //////////////////////////////////////////////
2698
+
2699
+ //! <b>Returns</b>: An iterator pointing to an element with the key
2700
+ //! equivalent to x, or end() if such an element is not found.
2701
+ //!
2702
+ //! <b>Complexity</b>: Logarithmic.
2703
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2704
+ iterator find(const key_type& x)
2705
+ { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
2706
+
2707
+ //! <b>Returns</b>: An const_iterator pointing to an element with the key
2708
+ //! equivalent to x, or end() if such an element is not found.
2709
+ //!
2710
+ //! <b>Complexity</b>: Logarithmic.
2711
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2712
+ const_iterator find(const key_type& x) const
2713
+ { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
2714
+
2715
+ //! <b>Requires</b>: This overload is available only if
2716
+ //! key_compare::is_transparent exists.
2717
+ //!
2718
+ //! <b>Returns</b>: An iterator pointing to an element with the key
2719
+ //! equivalent to x, or end() if such an element is not found.
2720
+ //!
2721
+ //! <b>Complexity</b>: Logarithmic.
2722
+ template<class K>
2723
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2724
+ iterator find(const K& x)
2725
+ { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
2726
+
2727
+ //! <b>Requires</b>: This overload is available only if
2728
+ //! key_compare::is_transparent exists.
2729
+ //!
2730
+ //! <b>Returns</b>: An const_iterator pointing to an element with the key
2731
+ //! equivalent to x, or end() if such an element is not found.
2732
+ //!
2733
+ //! <b>Complexity</b>: Logarithmic.
2734
+ template<class K>
2735
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2736
+ const_iterator find(const K& x) const
2737
+ { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
2738
+
2739
+ //! <b>Returns</b>: The number of elements with key equivalent to x.
2740
+ //!
2741
+ //! <b>Complexity</b>: log(size())+count(k)
2742
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2743
+ size_type count(const key_type& x) const
2744
+ { return m_flat_tree.count(x); }
2745
+
2746
+ //! <b>Requires</b>: This overload is available only if
2747
+ //! key_compare::is_transparent exists.
2748
+ //!
2749
+ //! <b>Returns</b>: The number of elements with key equivalent to x.
2750
+ //!
2751
+ //! <b>Complexity</b>: log(size())+count(k)
2752
+ template<class K>
2753
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2754
+ size_type count(const K& x) const
2755
+ { return m_flat_tree.count(x); }
2756
+
2757
+ //! <b>Returns</b>: Returns true if there is an element with key
2758
+ //! equivalent to key in the container, otherwise false.
2759
+ //!
2760
+ //! <b>Complexity</b>: log(size()).
2761
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2762
+ bool contains(const key_type& x) const
2763
+ { return m_flat_tree.find(x) != m_flat_tree.end(); }
2764
+
2765
+ //! <b>Requires</b>: This overload is available only if
2766
+ //! key_compare::is_transparent exists.
2767
+ //!
2768
+ //! <b>Returns</b>: Returns true if there is an element with key
2769
+ //! equivalent to key in the container, otherwise false.
2770
+ //!
2771
+ //! <b>Complexity</b>: log(size()).
2772
+ template<typename K>
2773
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2774
+ bool contains(const K& x) const
2775
+ { return m_flat_tree.find(x) != m_flat_tree.end(); }
2776
+
2777
+ //! <b>Returns</b>: An iterator pointing to the first element with key not less
2778
+ //! than x, or end() if such an element is not found.
2779
+ //!
2780
+ //! <b>Complexity</b>: Logarithmic
2781
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2782
+ iterator lower_bound(const key_type& x)
2783
+ { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
2784
+
2785
+ //! <b>Returns</b>: An iterator pointing to the first element with key not less
2786
+ //! than x, or end() if such an element is not found.
2787
+ //!
2788
+ //! <b>Complexity</b>: Logarithmic
2789
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2790
+ const_iterator lower_bound(const key_type& x) const
2791
+ { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
2792
+
2793
+ //! <b>Requires</b>: This overload is available only if
2794
+ //! key_compare::is_transparent exists.
2795
+ //!
2796
+ //! <b>Returns</b>: An iterator pointing to the first element with key not less
2797
+ //! than x, or end() if such an element is not found.
2798
+ //!
2799
+ //! <b>Complexity</b>: Logarithmic
2800
+ template<class K>
2801
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2802
+ iterator lower_bound(const K& x)
2803
+ { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
2804
+
2805
+ //! <b>Requires</b>: This overload is available only if
2806
+ //! key_compare::is_transparent exists.
2807
+ //!
2808
+ //! <b>Returns</b>: An iterator pointing to the first element with key not less
2809
+ //! than x, or end() if such an element is not found.
2810
+ //!
2811
+ //! <b>Complexity</b>: Logarithmic
2812
+ template<class K>
2813
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2814
+ const_iterator lower_bound(const K& x) const
2815
+ { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
2816
+
2817
+ //! <b>Returns</b>: An iterator pointing to the first element with key greater
2818
+ //! than x, or end() if such an element is not found.
2819
+ //!
2820
+ //! <b>Complexity</b>: Logarithmic
2821
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2822
+ iterator upper_bound(const key_type& x)
2823
+ {return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
2824
+
2825
+ //! <b>Returns</b>: A const iterator pointing to the first element with key
2826
+ //! greater than x, or end() if such an element is not found.
2827
+ //!
2828
+ //! <b>Complexity</b>: Logarithmic
2829
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2830
+ const_iterator upper_bound(const key_type& x) const
2831
+ { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
2832
+
2833
+ //! <b>Requires</b>: This overload is available only if
2834
+ //! key_compare::is_transparent exists.
2835
+ //!
2836
+ //! <b>Returns</b>: An iterator pointing to the first element with key greater
2837
+ //! than x, or end() if such an element is not found.
2838
+ //!
2839
+ //! <b>Complexity</b>: Logarithmic
2840
+ template<class K>
2841
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2842
+ iterator upper_bound(const K& x)
2843
+ {return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
2844
+
2845
+ //! <b>Requires</b>: This overload is available only if
2846
+ //! key_compare::is_transparent exists.
2847
+ //!
2848
+ //! <b>Returns</b>: A const iterator pointing to the first element with key
2849
+ //! greater than x, or end() if such an element is not found.
2850
+ //!
2851
+ //! <b>Complexity</b>: Logarithmic
2852
+ template<class K>
2853
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2854
+ const_iterator upper_bound(const K& x) const
2855
+ { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
2856
+
2857
+ //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
2858
+ //!
2859
+ //! <b>Complexity</b>: Logarithmic
2860
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2861
+ std::pair<iterator,iterator> equal_range(const key_type& x)
2862
+ { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
2863
+
2864
+ //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
2865
+ //!
2866
+ //! <b>Complexity</b>: Logarithmic
2867
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2868
+ std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
2869
+ { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
2870
+
2871
+ //! <b>Requires</b>: This overload is available only if
2872
+ //! key_compare::is_transparent exists.
2873
+ //!
2874
+ //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
2875
+ //!
2876
+ //! <b>Complexity</b>: Logarithmic
2877
+ template<class K>
2878
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2879
+ std::pair<iterator,iterator> equal_range(const K& x)
2880
+ { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
2881
+
2882
+ //! <b>Requires</b>: This overload is available only if
2883
+ //! key_compare::is_transparent exists.
2884
+ //!
2885
+ //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
2886
+ //!
2887
+ //! <b>Complexity</b>: Logarithmic
2888
+ template<class K>
2889
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2890
+ std::pair<const_iterator, const_iterator> equal_range(const K& x) const
2891
+ { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
2892
+
2893
+ //! <b>Effects</b>: Extracts the internal sequence container.
2894
+ //!
2895
+ //! <b>Complexity</b>: Same as the move constructor of sequence_type, usually constant.
2896
+ //!
2897
+ //! <b>Postcondition</b>: this->empty()
2898
+ //!
2899
+ //! <b>Throws</b>: If secuence_type's move constructor throws
2900
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2901
+ sequence_type extract_sequence()
2902
+ { return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref())); }
2903
+
2904
+ //! <b>Effects</b>: Discards the internally hold sequence container and adopts the
2905
+ //! one passed externally using the move assignment.
2906
+ //!
2907
+ //! <b>Complexity</b>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()
2908
+ //!
2909
+ //! <b>Throws</b>: If the comparison or the move constructor throws
2910
+ BOOST_CONTAINER_FORCEINLINE void adopt_sequence(BOOST_RV_REF(sequence_type) seq)
2911
+ { this->m_flat_tree.adopt_sequence_equal(boost::move(dtl::force<impl_sequence_type>(seq))); }
2912
+
2913
+ //! <b>Requires</b>: seq shall be ordered according to this->compare().
2914
+ //!
2915
+ //! <b>Effects</b>: Discards the internally hold sequence container and adopts the
2916
+ //! one passed externally using the move assignment.
2917
+ //!
2918
+ //! <b>Complexity</b>: Assuming O(1) move assignment, O(1)
2919
+ //!
2920
+ //! <b>Throws</b>: If the move assignment throws
2921
+ BOOST_CONTAINER_FORCEINLINE void adopt_sequence(ordered_range_t, BOOST_RV_REF(sequence_type) seq)
2922
+ { this->m_flat_tree.adopt_sequence_equal(ordered_range_t(), boost::move(dtl::force<impl_sequence_type>(seq))); }
2923
+
2924
+ //! <b>Effects</b>: Returns a const view of the underlying sequence.
2925
+ //!
2926
+ //! <b>Complexity</b>: Constant
2927
+ //!
2928
+ //! <b>Throws</b>: Nothing
2929
+ BOOST_CONTAINER_FORCEINLINE const sequence_type & sequence() const BOOST_NOEXCEPT
2930
+ { return dtl::force<sequence_type>(m_flat_tree.get_sequence_cref()); }
2931
+
2932
+ //! <b>Effects</b>: Returns true if x and y are equal
2933
+ //!
2934
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
2935
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2936
+ friend bool operator==(const flat_multimap& x, const flat_multimap& y)
2937
+ { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
2938
+
2939
+ //! <b>Effects</b>: Returns true if x and y are unequal
2940
+ //!
2941
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
2942
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2943
+ friend bool operator!=(const flat_multimap& x, const flat_multimap& y)
2944
+ { return !(x == y); }
2945
+
2946
+ //! <b>Effects</b>: Returns true if x is less than y
2947
+ //!
2948
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
2949
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2950
+ friend bool operator<(const flat_multimap& x, const flat_multimap& y)
2951
+ { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
2952
+
2953
+ //! <b>Effects</b>: Returns true if x is greater than y
2954
+ //!
2955
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
2956
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2957
+ friend bool operator>(const flat_multimap& x, const flat_multimap& y)
2958
+ { return y < x; }
2959
+
2960
+ //! <b>Effects</b>: Returns true if x is equal or less than y
2961
+ //!
2962
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
2963
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2964
+ friend bool operator<=(const flat_multimap& x, const flat_multimap& y)
2965
+ { return !(y < x); }
2966
+
2967
+ //! <b>Effects</b>: Returns true if x is equal or greater than y
2968
+ //!
2969
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
2970
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2971
+ friend bool operator>=(const flat_multimap& x, const flat_multimap& y)
2972
+ { return !(x < y); }
2973
+
2974
+ //! <b>Effects</b>: x.swap(y)
2975
+ //!
2976
+ //! <b>Complexity</b>: Constant.
2977
+ BOOST_CONTAINER_FORCEINLINE friend void swap(flat_multimap& x, flat_multimap& y)
2978
+ BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
2979
+ { x.swap(y); }
2980
+ };
2981
+
2982
+ #ifndef BOOST_CONTAINER_NO_CXX17_CTAD
2983
+
2984
+ template <typename InputIterator>
2985
+ flat_multimap(InputIterator, InputIterator) ->
2986
+ flat_multimap< it_based_non_const_first_type_t<InputIterator>
2987
+ , it_based_second_type_t<InputIterator>>;
2988
+
2989
+ template < typename InputIterator, typename AllocatorOrCompare>
2990
+ flat_multimap(InputIterator, InputIterator, AllocatorOrCompare const&) ->
2991
+ flat_multimap< it_based_non_const_first_type_t<InputIterator>
2992
+ , it_based_second_type_t<InputIterator>
2993
+ , typename dtl::if_c< // Compare
2994
+ dtl::is_allocator<AllocatorOrCompare>::value
2995
+ , std::less<it_based_non_const_first_type_t<InputIterator>>
2996
+ , AllocatorOrCompare
2997
+ >::type
2998
+ , typename dtl::if_c< // Allocator
2999
+ dtl::is_allocator<AllocatorOrCompare>::value
3000
+ , AllocatorOrCompare
3001
+ , new_allocator<std::pair<it_based_non_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
3002
+ >::type
3003
+ >;
3004
+
3005
+ template < typename InputIterator, typename Compare, typename Allocator
3006
+ , typename = dtl::require_nonallocator_t<Compare>
3007
+ , typename = dtl::require_allocator_t<Allocator>>
3008
+ flat_multimap(InputIterator, InputIterator, Compare const&, Allocator const&) ->
3009
+ flat_multimap< it_based_non_const_first_type_t<InputIterator>
3010
+ , it_based_second_type_t<InputIterator>
3011
+ , Compare
3012
+ , Allocator>;
3013
+
3014
+ template <typename InputIterator>
3015
+ flat_multimap(ordered_range_t, InputIterator, InputIterator) ->
3016
+ flat_multimap< it_based_non_const_first_type_t<InputIterator>
3017
+ , it_based_second_type_t<InputIterator>>;
3018
+
3019
+ template < typename InputIterator, typename AllocatorOrCompare>
3020
+ flat_multimap(ordered_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
3021
+ flat_multimap< it_based_non_const_first_type_t<InputIterator>
3022
+ , it_based_second_type_t<InputIterator>
3023
+ , typename dtl::if_c< // Compare
3024
+ dtl::is_allocator<AllocatorOrCompare>::value
3025
+ , std::less<it_based_non_const_first_type_t<InputIterator>>
3026
+ , AllocatorOrCompare
3027
+ >::type
3028
+ , typename dtl::if_c< // Allocator
3029
+ dtl::is_allocator<AllocatorOrCompare>::value
3030
+ , AllocatorOrCompare
3031
+ , new_allocator<std::pair<it_based_non_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
3032
+ >::type
3033
+ >;
3034
+
3035
+ template < typename InputIterator, typename Compare, typename Allocator
3036
+ , typename = dtl::require_nonallocator_t<Compare>
3037
+ , typename = dtl::require_allocator_t<Allocator>>
3038
+ flat_multimap(ordered_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
3039
+ flat_multimap< it_based_non_const_first_type_t<InputIterator>
3040
+ , it_based_second_type_t<InputIterator>
3041
+ , Compare
3042
+ , Allocator>;
3043
+
3044
+ #endif
3045
+
3046
+ }}
3047
+
3048
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
3049
+
3050
+ namespace boost {
3051
+
3052
+ //!has_trivial_destructor_after_move<> == true_type
3053
+ //!specialization for optimizations
3054
+ template <class Key, class T, class Compare, class AllocatorOrContainer>
3055
+ struct has_trivial_destructor_after_move< boost::container::flat_multimap<Key, T, Compare, AllocatorOrContainer> >
3056
+ {
3057
+ typedef ::boost::container::dtl::pair<Key, T> value_t;
3058
+ typedef typename ::boost::container::dtl::container_or_allocator_rebind<AllocatorOrContainer, value_t>::type alloc_or_cont_t;
3059
+ typedef ::boost::container::dtl::flat_tree<value_t,::boost::container::dtl::select1st<Key>, Compare, alloc_or_cont_t> tree;
3060
+ static const bool value = ::boost::has_trivial_destructor_after_move<tree>::value;
3061
+ };
3062
+
3063
+ } //namespace boost {
3064
+
3065
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
3066
+
3067
+ #include <boost/container/detail/config_end.hpp>
3068
+
3069
+ #endif // BOOST_CONTAINER_FLAT_MAP_HPP