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,2306 @@
1
+ // Boost CRC library crc.hpp header file -----------------------------------//
2
+
3
+ // Copyright 2001, 2004, 2011 Daryle Walker.
4
+ // Distributed under the Boost Software License, Version 1.0. (See the
5
+ // accompanying file LICENSE_1_0.txt or a copy at
6
+ // <http://www.boost.org/LICENSE_1_0.txt>.)
7
+
8
+ // See <http://www.boost.org/libs/crc/> for the library's home page.
9
+
10
+ /** \file
11
+ \brief A collection of function templates and class templates that compute
12
+ various forms of Cyclic Redundancy Codes (CRCs).
13
+
14
+ \author Daryle Walker
15
+
16
+ \version 1.5
17
+
18
+ \copyright Boost Software License, version 1.0
19
+
20
+ Contains the declarations (and definitions) of various kinds of CRC
21
+ computation functions, function object types, and encapsulated policy types.
22
+
23
+ \warning The sample CRC-computer types were just checked against the
24
+ <a href="http://regregex.bbcmicro.net/crc-catalogue.htm">Catalogue of
25
+ parametrised CRC algorithms</a>. New type aliases were added where I got
26
+ a standard wrong. However, the mistaken <code>typedef</code>s are still
27
+ there for backwards compatibility.
28
+ \note There are references to the <i>Rocksoft&trade; Model CRC
29
+ Algorithm</i>, as described within \"A Painless Guide to CRC Error
30
+ Detection Algorithms,\" linked from \"<a
31
+ href="http://www.ross.net/crc/crcpaper.html">CRC: A Paper On CRCs</a>\" by
32
+ Ross Williams. It will be abbreviated \"RMCA\" in other documentation
33
+ blocks.
34
+ */
35
+
36
+ #ifndef BOOST_CRC_HPP
37
+ #define BOOST_CRC_HPP
38
+
39
+ #include <boost/array.hpp> // for boost::array
40
+ #include <boost/config.hpp> // for BOOST_STATIC_CONSTANT, etc.
41
+ #include <boost/cstdint.hpp> // for UINTMAX_C, boost::uintmax_t
42
+ #include <boost/integer.hpp> // for boost::uint_t
43
+ #include <boost/type_traits/conditional.hpp>
44
+ #include <boost/type_traits/integral_constant.hpp>
45
+
46
+ #include <climits> // for CHAR_BIT, etc.
47
+ #include <cstddef> // for std::size_t
48
+
49
+ #include <boost/limits.hpp> // for std::numeric_limits
50
+
51
+
52
+ // The type of CRC parameters that can go in a template should be related
53
+ // on the CRC's bit count. This macro expresses that type in a compact
54
+ // form, but also allows an alternate type for compilers that don't support
55
+ // dependent types (in template value-parameters).
56
+ #if !(defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS))
57
+ #define BOOST_CRC_PARM_TYPE typename ::boost::uint_t<Bits>::fast
58
+ #else
59
+ #define BOOST_CRC_PARM_TYPE unsigned long
60
+ #endif
61
+
62
+ namespace boost
63
+ {
64
+
65
+
66
+ // Forward declarations ----------------------------------------------------//
67
+
68
+ //! Bit-wise CRC computer
69
+ template < std::size_t Bits >
70
+ class crc_basic;
71
+
72
+ //! Table-driven CRC computer, usable as a function object
73
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly = 0u,
74
+ BOOST_CRC_PARM_TYPE InitRem = 0u,
75
+ BOOST_CRC_PARM_TYPE FinalXor = 0u, bool ReflectIn = false,
76
+ bool ReflectRem = false >
77
+ class crc_optimal;
78
+
79
+ //! Compute the (unaugmented) CRC of a memory block
80
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
81
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
82
+ bool ReflectIn, bool ReflectRem >
83
+ typename uint_t<Bits>::fast crc( void const *buffer,
84
+ std::size_t byte_count);
85
+
86
+ //! Compute the CRC of a memory block, with any augmentation provided by user
87
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly >
88
+ typename uint_t<Bits>::fast augmented_crc( void const *buffer,
89
+ std::size_t byte_count,
90
+ typename uint_t<Bits>::fast initial_remainder = 0u);
91
+
92
+ //! Computation type for ARC|CRC-16|CRC-IBM|CRC-16/ARC|CRC-16/LHA standard
93
+ typedef crc_optimal<16, 0x8005, 0, 0, true, true> crc_16_type;
94
+ //! Computation type for CRC-16/CCITT-FALSE standard
95
+ typedef crc_optimal<16, 0x1021, 0xFFFF, 0, false, false> crc_ccitt_false_t;
96
+ //! Computation type for the CRC mistakenly called the CCITT standard
97
+ typedef crc_ccitt_false_t crc_ccitt_type;
98
+ //! Computation type for the actual
99
+ //! KERMIT|CRC-16/CCITT|CRC-16/CCITT-TRUE|CRC-CCITT standard
100
+ typedef crc_optimal<16, 0x1021, 0, 0, true, true> crc_ccitt_true_t;
101
+ //! Computation type that I mistakenly called the XMODEM standard; it inverts
102
+ //! both reflection parameters and reflects the truncated divisor (Don't use?!)
103
+ typedef crc_optimal<16, 0x8408, 0, 0, true, true> crc_xmodem_type;
104
+ //! Computation type for the actual XMODEM|ZMODEM|CRC-16/ACORN standard
105
+ typedef crc_optimal<16, 0x1021, 0, 0, false, false> crc_xmodem_t;
106
+
107
+ //! Computation type for CRC-32|CRC-32/ADCCP|PKZIP standard
108
+ typedef crc_optimal<32, 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF, true, true>
109
+ crc_32_type;
110
+
111
+
112
+ // Forward declarations for implementation detail stuff --------------------//
113
+ // (Just for the stuff that will be needed for the next two sections)
114
+
115
+ //! \cond
116
+ namespace detail
117
+ {
118
+ //! Mix-in class to add a possibly-reflecting member function
119
+ template < int BitLength, bool DoIt, int Id = 0 >
120
+ class possible_reflector;
121
+
122
+ //! Mix-in class for byte-fed, table-driven CRC algorithms
123
+ template < int Order, boost::uintmax_t TruncatedPolynomial, bool Reflect,
124
+ int Id = 0 >
125
+ class crc_driver;
126
+
127
+ } // namespace detail
128
+ //! \endcond
129
+
130
+
131
+ // Simple cyclic redundancy code (CRC) class declaration -------------------//
132
+
133
+ /** Objects of this type compute the CRC checksum of submitted data, where said
134
+ data can be entered piecemeal through several different kinds of groupings.
135
+ Modulo-2 polynomial division steps are always performed bit-wise, without
136
+ the use of pre-computation tables. Said division uses the altered
137
+ algorithm, so any data has to be unaugmented.
138
+
139
+ \pre 0 \< \a Bits \<= \c std\::numeric_limits\<uintmax_t\>\::digits
140
+
141
+ \tparam Bits The order of the modulo-2 polynomial divisor. (\e Width from
142
+ the RMCA)
143
+ */
144
+ template < std::size_t Bits >
145
+ class crc_basic
146
+ {
147
+ public:
148
+ // Type
149
+ /** \brief The register type used for computations
150
+
151
+ This type is used for CRC calculations and is the type for any returned
152
+ checksums and returned or submitted remainders, (truncated) divisors, or
153
+ XOR masks. It is a built-in unsigned integer type.
154
+ */
155
+ typedef typename boost::uint_t<Bits>::fast value_type;
156
+
157
+ // Constant for the template parameter
158
+ //! A copy of \a Bits provided for meta-programming purposes
159
+ BOOST_STATIC_CONSTANT( std::size_t, bit_count = Bits );
160
+
161
+ // Constructor (use the automatic copy-ctr, move-ctr, and dtr)
162
+ //! Create a computer, separately listing each needed parameter
163
+ explicit crc_basic( value_type truncated_polynomial,
164
+ value_type initial_remainder = 0, value_type final_xor_value = 0,
165
+ bool reflect_input = false, bool reflect_remainder = false );
166
+
167
+ // Internal Operations
168
+ //! Return the (truncated) polynomial divisor
169
+ value_type get_truncated_polynominal() const;
170
+ //! Return what the polynomial remainder was set to during construction
171
+ value_type get_initial_remainder() const;
172
+ //! Return the XOR-mask used during output processing
173
+ value_type get_final_xor_value() const;
174
+ //! Check if input-bytes will be reflected before processing
175
+ bool get_reflect_input() const;
176
+ //! Check if the remainder will be reflected during output processing
177
+ bool get_reflect_remainder() const;
178
+
179
+ //! Return the remainder based from already-processed bits
180
+ value_type get_interim_remainder() const;
181
+ //! Change the interim remainder to a new value
182
+ void reset( value_type new_rem );
183
+ //! Change the interim remainder back to the initial value
184
+ void reset();
185
+
186
+ // External Operations
187
+ //! Submit a single bit for input processing
188
+ void process_bit( bool bit );
189
+ //! Submit the lowest \a bit_length bits of a byte for input processing
190
+ void process_bits( unsigned char bits, std::size_t bit_length );
191
+ //! Submit a single byte for input processing
192
+ void process_byte( unsigned char byte );
193
+ //! Submit a memory block for input processing, iterator-pair style
194
+ void process_block( void const *bytes_begin, void const *bytes_end );
195
+ //! Submit a memory block for input processing, pointer-and-size style
196
+ void process_bytes( void const *buffer, std::size_t byte_count );
197
+
198
+ //! Return the checksum of the already-processed bits
199
+ value_type checksum() const;
200
+
201
+ private:
202
+ // Member data
203
+ value_type rem_;
204
+ value_type poly_, init_, final_; // non-const to allow assignability
205
+ bool rft_in_, rft_out_; // non-const to allow assignability
206
+
207
+ }; // boost::crc_basic
208
+
209
+
210
+ // Optimized cyclic redundancy code (CRC) class declaration ----------------//
211
+
212
+ /** Objects of this type compute the CRC checksum of submitted data, where said
213
+ data can be entered piecemeal through several different kinds of groupings.
214
+ Modulo-2 polynomial division steps are performed byte-wise, aided by the use
215
+ of pre-computation tables. Said division uses the altered algorithm, so any
216
+ data has to be unaugmented.
217
+
218
+ \pre 0 \< \a Bits \<= \c std\::numeric_limits\<uintmax_t\>\::digits
219
+
220
+ \tparam Bits The order of the modulo-2 polynomial divisor. (\e Width from
221
+ the RMCA)
222
+ \tparam TruncPoly The lowest coefficients of the divisor polynomial. The
223
+ highest-order coefficient is omitted and always assumed to be 1. Defaults
224
+ to \c 0, i.e. the only non-zero term is the implicit one for
225
+ x<sup><var>Bits</var></sup>. (\e Poly from the RMCA)
226
+ \tparam InitRem The (unaugmented) initial state of the polynomial
227
+ remainder. Defaults to \c 0 if omitted. (\e Init from the RMCA)
228
+ \tparam FinalXor The (XOR) bit-mask to be applied to the output remainder,
229
+ after possible reflection but before returning. Defaults to \c 0 (i.e. no
230
+ bit changes) if omitted. (\e XorOut from the RMCA)
231
+ \tparam ReflectIn If \c true, input bytes are read lowest-order bit first,
232
+ otherwise highest-order bit first. Defaults to \c false if omitted.
233
+ (\e RefIn from the RMCA)
234
+ \tparam ReflectRem If \c true, the output remainder is reflected before the
235
+ XOR-mask. Defaults to \c false if omitted. (\e RefOut from the RMCA)
236
+
237
+ \todo Get rid of the default value for \a TruncPoly. Choosing a divisor is
238
+ an important decision with many factors, so a default is never useful,
239
+ especially a bad one.
240
+ */
241
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
242
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
243
+ bool ReflectIn, bool ReflectRem >
244
+ class crc_optimal
245
+ {
246
+ public:
247
+ // Type
248
+ //! \copydoc boost::crc_basic::value_type
249
+ typedef typename boost::uint_t<Bits>::fast value_type;
250
+
251
+ // Constants for the template parameters
252
+ //! \copydoc boost::crc_basic::bit_count
253
+ BOOST_STATIC_CONSTANT( std::size_t, bit_count = Bits );
254
+ //! A copy of \a TruncPoly provided for meta-programming purposes
255
+ BOOST_STATIC_CONSTANT( value_type, truncated_polynominal = TruncPoly );
256
+ //! A copy of \a InitRem provided for meta-programming purposes
257
+ BOOST_STATIC_CONSTANT( value_type, initial_remainder = InitRem );
258
+ //! A copy of \a FinalXor provided for meta-programming purposes
259
+ BOOST_STATIC_CONSTANT( value_type, final_xor_value = FinalXor );
260
+ //! A copy of \a ReflectIn provided for meta-programming purposes
261
+ BOOST_STATIC_CONSTANT( bool, reflect_input = ReflectIn );
262
+ //! A copy of \a ReflectRem provided for meta-programming purposes
263
+ BOOST_STATIC_CONSTANT( bool, reflect_remainder = ReflectRem );
264
+
265
+ // Constructor (use the automatic copy-ctr, move-ctr, and dtr)
266
+ //! Create a computer, giving an initial remainder if desired
267
+ explicit crc_optimal( value_type init_rem = initial_remainder );
268
+
269
+ // Internal Operations
270
+ //! \copybrief boost::crc_basic::get_truncated_polynominal
271
+ value_type get_truncated_polynominal() const;
272
+ //! \copybrief boost::crc_basic::get_initial_remainder
273
+ value_type get_initial_remainder() const;
274
+ //! \copybrief boost::crc_basic::get_final_xor_value
275
+ value_type get_final_xor_value() const;
276
+ //! \copybrief boost::crc_basic::get_reflect_input
277
+ bool get_reflect_input() const;
278
+ //! \copybrief boost::crc_basic::get_reflect_remainder
279
+ bool get_reflect_remainder() const;
280
+
281
+ //! \copybrief boost::crc_basic::get_interim_remainder
282
+ value_type get_interim_remainder() const;
283
+ //! Change the interim remainder to either a given value or the initial one
284
+ void reset( value_type new_rem = initial_remainder );
285
+
286
+ // External Operations
287
+ //! \copybrief boost::crc_basic::process_byte
288
+ void process_byte( unsigned char byte );
289
+ //! \copybrief boost::crc_basic::process_block
290
+ void process_block( void const *bytes_begin, void const *bytes_end );
291
+ //! \copybrief boost::crc_basic::process_bytes
292
+ void process_bytes( void const *buffer, std::size_t byte_count );
293
+
294
+ //! \copybrief boost::crc_basic::checksum
295
+ value_type checksum() const;
296
+
297
+ // Operators
298
+ //! Submit a single byte for input processing, suitable for the STL
299
+ void operator ()( unsigned char byte );
300
+ //! Return the checksum of the already-processed bits, suitable for the STL
301
+ value_type operator ()() const;
302
+
303
+ private:
304
+ // Implementation types
305
+ // (Processing for reflected input gives reflected remainders, so you only
306
+ // have to apply output-reflection if Reflect-Remainder doesn't match
307
+ // Reflect-Input.)
308
+ typedef detail::possible_reflector<Bits, ReflectIn> reflect_i_type;
309
+ typedef detail::crc_driver<Bits, TruncPoly, ReflectIn> crc_table_type;
310
+ typedef detail::possible_reflector<Bits, ReflectRem != ReflectIn>
311
+ reflect_o_type;
312
+
313
+ // Member data
314
+ value_type rem_;
315
+
316
+ }; // boost::crc_optimal
317
+
318
+
319
+ // Implementation detail stuff ---------------------------------------------//
320
+
321
+ //! \cond
322
+ namespace detail
323
+ {
324
+ /** \brief Meta-programming integral constant for a single-bit bit-mask
325
+
326
+ Generates a compile-time constant for a bit-mask that affects a single
327
+ bit. The \c value will be 2<sup><var>BitIndex</var></sup>. The \c type
328
+ will be the smallest built-in unsigned integer type that can contain the
329
+ value, unless there's a built-in type that the system can handle easier,
330
+ then the \c type will be smallest fast-handled unsigned integer type.
331
+
332
+ \pre 0 \<= BitIndex \< \c std\::numeric_limits\<uintmax_t\>\::digits
333
+
334
+ \tparam BitIndex The place of the sole set bit.
335
+ */
336
+ template < int BitIndex >
337
+ struct high_bit_mask_c
338
+ : boost::integral_constant<typename boost::uint_t< BitIndex + 1 >::fast,
339
+ ( UINTMAX_C(1) << BitIndex )>
340
+ {};
341
+
342
+ /** \brief Meta-programming integral constant for a lowest-bits bit-mask
343
+
344
+ Generates a compile-time constant for a bit-mask that affects the lowest
345
+ bits. The \c value will be 2<sup><var>BitCount</var></sup> - 1. The
346
+ \c type will be the smallest built-in unsigned integer type that can
347
+ contain the value, unless there's a built-in type that the system can
348
+ handle easier, then the \c type will be smallest fast-handled unsigned
349
+ integer type.
350
+
351
+ \pre 0 \<= BitCount \<= \c std\::numeric_limits\<uintmax_t\>\::digits
352
+
353
+ \tparam BitCount The number of lowest-placed bits set.
354
+ */
355
+ template < int BitCount >
356
+ struct low_bits_mask_c
357
+ : boost::integral_constant<typename boost::uint_t< BitCount >::fast, (
358
+ BitCount ? (( (( UINTMAX_C(1) << (BitCount - 1) ) - 1u) << 1 ) |
359
+ UINTMAX_C( 1 )) : 0u )>
360
+ {};
361
+
362
+ /** \brief Reflects the bits of a number
363
+
364
+ Reverses the order of the given number of bits within a value. For
365
+ instance, if the given reflect count is 5, then the bit values for the
366
+ 16- and 1-place will switch and the 8- and 2-place will switch, leaving
367
+ the other bits alone. (The 4-place bit is in the middle, so it wouldn't
368
+ change.)
369
+
370
+ \pre \a Unsigned is a built-in unsigned integer type
371
+ \pre 0 \< word_length \<= \c std\::numeric_limits\<Unsigned\>\::digits
372
+
373
+ \tparam Unsigned The type of \a x.
374
+
375
+ \param x The value to be (partially) reflected.
376
+ \param word_length The number of low-order bits to reflect. Defaults
377
+ to the total number of value bits in \a Unsigned.
378
+
379
+ \return The (partially) reflected value.
380
+
381
+ \todo Check if this is the fastest way.
382
+ */
383
+ template < typename Unsigned >
384
+ Unsigned reflect_unsigned( Unsigned x, int word_length
385
+ = std::numeric_limits<Unsigned>::digits )
386
+ {
387
+ for ( Unsigned l = 1u, h = l << (word_length - 1) ; h > l ; h >>= 1, l
388
+ <<= 1 )
389
+ {
390
+ Unsigned const m = h | l, t = x & m;
391
+
392
+ if ( (t == h) || (t == l) )
393
+ x ^= m;
394
+ }
395
+
396
+ return x;
397
+ }
398
+
399
+ /** \brief Make a byte-to-byte-reflection map
400
+
401
+ Creates a mapping array so the results can be cached. Uses
402
+ #reflect_unsigned to generate the element values.
403
+
404
+ \return An array <var>a</var> such that, for a given byte value
405
+ <var>i</var>, <code><var>a</var>[ <var>i</var> ]</code> resolves to
406
+ the reflected value of <var>i</var>.
407
+ */
408
+ boost::array< unsigned char, (UINTMAX_C( 1 ) << CHAR_BIT) >
409
+ inline make_byte_reflection_table()
410
+ {
411
+ boost::array<unsigned char, ( UINTMAX_C(1) << CHAR_BIT )> result;
412
+ unsigned char i = 0u;
413
+
414
+ do
415
+ result[ i ] = reflect_unsigned( i );
416
+ while ( ++i );
417
+ return result;
418
+ }
419
+
420
+ /** \brief Reflects the bits of a single byte
421
+
422
+ Reverses the order of all the bits within a value. For instance, the
423
+ bit values for the 2<sup><code>CHAR_BIT</code> - 1</sup>- and 1-place
424
+ will switch and the 2<sup><code>CHAR_BIT</code> - 2</sup>- and 2-place
425
+ will switch, etc.
426
+
427
+ \param x The byte value to be reflected.
428
+
429
+ \return The reflected value.
430
+
431
+ \note Since this could be the most common type of reflection, and the
432
+ number of states is relatively small, the implementation pre-computes
433
+ and uses a table of all the results.
434
+ */
435
+ inline unsigned char reflect_byte( unsigned char x )
436
+ {
437
+ static boost::array<unsigned char, ( UINTMAX_C(1) << CHAR_BIT )> const
438
+ table = make_byte_reflection_table();
439
+
440
+ return table[ x ];
441
+ }
442
+
443
+ /** \brief Reflects some bits within a single byte
444
+
445
+ Like #reflect_unsigned, except it takes advantage of any (long-term)
446
+ speed gains #reflect_byte may bring.
447
+
448
+ \pre 0 \< \a word_length \<= \c CHAR_BIT
449
+
450
+ \param x The value to be (partially) reflected.
451
+ \param word_length The number of low-order bits to reflect.
452
+
453
+ \return The (partially) reflected value.
454
+ */
455
+ inline unsigned char reflect_sub_byte( unsigned char x, int word_length )
456
+ { return reflect_byte(x) >> (CHAR_BIT - word_length); }
457
+
458
+ /** \brief Possibly reflects the bits of a number
459
+
460
+ Reverses the order of the given number of bits within a value. For
461
+ instance, if the given reflect count is 5, then the bit values for the
462
+ 16- and 1-place will switch and the 8- and 2-place will switch, leaving
463
+ the other bits alone. (The 4-place bit is in the middle, so it wouldn't
464
+ change.) This variant function allows the reflection be controlled by
465
+ an extra parameter, in case the decision to use reflection is made at
466
+ run-time.
467
+
468
+ \pre \a Unsigned is a built-in unsigned integer type
469
+ \pre 0 \< word_length \<= \c std\::numeric_limits\<Unsigned\>\::digits
470
+
471
+ \tparam Unsigned The type of \a x.
472
+
473
+ \param x The value to be (partially) reflected.
474
+ \param reflect Controls whether \a x is actually reflected (\c true) or
475
+ left alone (\c false).
476
+ \param word_length The number of low-order bits to reflect. Defaults
477
+ to the total number of value bits in \a Unsigned.
478
+
479
+ \return The possibly (partially) reflected value.
480
+ */
481
+ template < typename Unsigned >
482
+ inline
483
+ Unsigned reflect_optionally( Unsigned x, bool reflect, int word_length
484
+ = std::numeric_limits<Unsigned>::digits )
485
+ { return reflect ? reflect_unsigned(x, word_length) : x; }
486
+
487
+ /** \brief Possibly reflects the bits of a single byte
488
+
489
+ Uses #reflect_byte (if \a reflect is \c true).
490
+
491
+ \param x The byte value to be (possibly) reflected.
492
+ \param reflect Whether (\c true) or not (\c false) \a x is reflected.
493
+
494
+ \return <code><var>reflect</var> ? reflect_byte(<var>x</var>) :
495
+ <var>x</var></code>
496
+ */
497
+ inline
498
+ unsigned char reflect_byte_optionally( unsigned char x, bool reflect )
499
+ { return reflect ? reflect_byte(x) : x; }
500
+
501
+ /** \brief Update a CRC remainder by several bits, assuming a non-augmented
502
+ message
503
+
504
+ Performs several steps of division required by the CRC algorithm, giving
505
+ a new remainder polynomial based on the divisor polynomial and the
506
+ synthesized dividend polynomial (from the old remainder and the
507
+ newly-provided input). The computations assume that the CRC is directly
508
+ exposed from the remainder, without any zero-valued bits augmented to
509
+ the message bits.
510
+
511
+ \pre \a Register and \a Word are both built-in unsigned integer types
512
+ \pre 0 \< \a register_length \<= std\::numeric_limits\<\a Register\>
513
+ \::digits
514
+ \pre 0 \< \a word_length \<= std\::numeric_limits\<\a Word\>\::digits
515
+
516
+ \tparam Register The type used for representing the remainder and
517
+ divisor modulo-2 polynomials. The bit at <code>2<sup>i</sup></code>
518
+ is used as the coefficient of <i>x<sup>i</sup></i>.
519
+ \tparam Word The type used for storing the incoming terms of the
520
+ dividend modulo-2 polynomial. The bit at <code>2<sup>i</sup></code>
521
+ is used as the coefficient of <i>x<sup>i</sup></i> when \a reflect is
522
+ \c false, and the coefficient of <i>x<sup><var>word_length</var> - 1 -
523
+ i</sup></i> otherwise.
524
+
525
+ \param[in] register_length The number of significant low-order bits
526
+ to be used from \a Register values. It is the order of the modulo-2
527
+ polynomial remainder and one less than the divisor's order.
528
+ \param[in,out] remainder The upper part of the dividend polynomial
529
+ before division, and the remainder polynomial after.
530
+ \param[in] new_dividend_bits The coefficients for the next
531
+ \a word_length lowest terms of the dividend polynomial.
532
+ \param[in] truncated_divisor The lowest coefficients of the divisor
533
+ polynomial. The highest-order coefficient is omitted and always
534
+ assumed to be 1.
535
+ \param[in] word_length The number of lowest-order bits to read from
536
+ \a new_dividend_bits.
537
+ \param[in] reflect If \c false, read from the highest-order marked
538
+ bit from \a new_dividend_bits and go down, as normal. Otherwise,
539
+ proceed from the lowest-order bit and go up.
540
+
541
+ \note This routine performs a modulo-2 polynomial division variant.
542
+ The exclusive-or operations are applied in a different order, since
543
+ that kind of operation is commutative and associative. It also
544
+ assumes that the zero-valued augment string was applied before this
545
+ step, which means that the updated remainder can be directly used as
546
+ the final CRC.
547
+ */
548
+ template < typename Register, typename Word >
549
+ void crc_modulo_word_update( int register_length, Register &remainder, Word
550
+ new_dividend_bits, Register truncated_divisor, int word_length, bool
551
+ reflect )
552
+ {
553
+ // Create this masking constant outside the loop.
554
+ Register const high_bit_mask = UINTMAX_C(1) << (register_length - 1);
555
+
556
+ // The natural reading order for division is highest digit/bit first.
557
+ // The "reflect" parameter switches this. However, building a bit mask
558
+ // for the lowest bit is the easiest....
559
+ new_dividend_bits = reflect_optionally( new_dividend_bits, !reflect,
560
+ word_length );
561
+
562
+ // Perform modulo-2 division for each new dividend input bit
563
+ for ( int i = word_length ; i ; --i, new_dividend_bits >>= 1 )
564
+ {
565
+ // compare the new bit with the remainder's highest
566
+ remainder ^= ( new_dividend_bits & 1u ) ? high_bit_mask : 0u;
567
+
568
+ // perform modulo-2 division
569
+ bool const quotient = (remainder & high_bit_mask) != 0;
570
+
571
+ remainder <<= 1;
572
+ remainder ^= quotient ? truncated_divisor : 0u;
573
+
574
+ // The quotient isn't used for anything, so don't keep it.
575
+ }
576
+ }
577
+
578
+ /** \brief Update a CRC remainder by a single bit, assuming a non-augmented
579
+ message
580
+
581
+ Performs the next step of division required by the CRC algorithm, giving
582
+ a new remainder polynomial based on the divisor polynomial and the
583
+ synthesized dividend polynomial (from the old remainder and the
584
+ newly-provided input). The computations assume that the CRC is directly
585
+ exposed from the remainder, without any zero-valued bits augmented to
586
+ the message bits.
587
+
588
+ \pre \a Register is a built-in unsigned integer type
589
+ \pre 0 \< \a register_length \<= std\::numeric_limits\<\a Register\>
590
+ \::digits
591
+
592
+ \tparam Register The type used for representing the remainder and
593
+ divisor modulo-2 polynomials. The bit at <code>2<sup>i</sup></code>
594
+ is used as the coefficient of <i>x<sup>i</sup></i>.
595
+
596
+ \param[in] register_length The number of significant low-order bits
597
+ to be used from \a Register values. It is the order of the modulo-2
598
+ polynomial remainder and one less than the divisor's order.
599
+ \param[in,out] remainder The upper part of the dividend polynomial
600
+ before division, and the remainder polynomial after.
601
+ \param[in] new_dividend_bit The coefficient for the constant term
602
+ of the dividend polynomial.
603
+ \param[in] truncated_divisor The lowest coefficients of the divisor
604
+ polynomial. The highest-order coefficient is omitted and always
605
+ assumed to be 1.
606
+
607
+ \note This routine performs a modulo-2 polynomial division variant.
608
+ The exclusive-or operations are applied in a different order, since
609
+ that kind of operation is commutative and associative. It also
610
+ assumes that the zero-valued augment string was applied before this
611
+ step, which means that the updated remainder can be directly used as
612
+ the final CRC.
613
+ */
614
+ template < typename Register >
615
+ inline void crc_modulo_update( int register_length, Register &remainder,
616
+ bool new_dividend_bit, Register truncated_divisor )
617
+ {
618
+ crc_modulo_word_update( register_length, remainder,
619
+ static_cast<unsigned>(new_dividend_bit), truncated_divisor, 1, false );
620
+ }
621
+
622
+ /** \brief Update a CRC remainder by several bits, assuming an augmented
623
+ message
624
+
625
+ Performs several steps of division required by the CRC algorithm, giving
626
+ a new remainder polynomial based on the divisor polynomial and the
627
+ synthesized dividend polynomial (from the old remainder and the
628
+ newly-provided input). The computations assume that a zero-valued
629
+ string of bits will be appended to the message before extracting the
630
+ CRC.
631
+
632
+ \pre \a Register and \a Word are both built-in unsigned integer types
633
+ \pre 0 \< \a register_length \<= std\::numeric_limits\<\a Register\>
634
+ \::digits
635
+ \pre 0 \< \a word_length \<= std\::numeric_limits\<\a Word\>\::digits
636
+
637
+ \tparam Register The type used for representing the remainder and
638
+ divisor modulo-2 polynomials. The bit at <code>2<sup>i</sup></code>
639
+ is used as the coefficient of <i>x<sup>i</sup></i>.
640
+ \tparam Word The type used for storing the incoming terms of the
641
+ dividend modulo-2 polynomial. The bit at <code>2<sup>i</sup></code>
642
+ is used as the coefficient of <i>x<sup>i</sup></i> when \a reflect is
643
+ \c false, and the coefficient of <i>x<sup><var>word_length</var> - 1 -
644
+ i</sup></i> otherwise.
645
+
646
+ \param[in] register_length The number of significant low-order bits
647
+ to be used from \a Register values. It is the order of the modulo-2
648
+ polynomial remainder and one less than the divisor's order.
649
+ \param[in,out] remainder The upper part of the dividend polynomial
650
+ before division, and the remainder polynomial after.
651
+ \param[in] new_dividend_bits The coefficients for the next
652
+ \a word_length lowest terms of the dividend polynomial.
653
+ \param[in] truncated_divisor The lowest coefficients of the divisor
654
+ polynomial. The highest-order coefficient is omitted and always
655
+ assumed to be 1.
656
+ \param[in] word_length The number of lowest-order bits to read from
657
+ \a new_dividend_bits.
658
+ \param[in] reflect If \c false, read from the highest-order marked
659
+ bit from \a new_dividend_bits and go down, as normal. Otherwise,
660
+ proceed from the lowest-order bit and go up.
661
+
662
+ \note This routine performs straight-forward modulo-2 polynomial
663
+ division. It assumes that an augment string will be processed at the
664
+ end of the message bits before doing CRC analysis.
665
+ \todo Use this function somewhere so I can test it.
666
+ */
667
+ template < typename Register, typename Word >
668
+ void augmented_crc_modulo_word_update( int register_length, Register
669
+ &remainder, Word new_dividend_bits, Register truncated_divisor, int
670
+ word_length, bool reflect )
671
+ {
672
+ // Create this masking constant outside the loop.
673
+ Register const high_bit_mask = UINTMAX_C(1) << (register_length - 1);
674
+
675
+ // The natural reading order for division is highest digit/bit first.
676
+ // The "reflect" parameter switches this. However, building a bit mask
677
+ // for the lowest bit is the easiest....
678
+ new_dividend_bits = reflect_optionally( new_dividend_bits, not reflect,
679
+ word_length );
680
+
681
+ // Perform modulo-2 division for each new dividend input bit
682
+ for ( int i = word_length ; i ; --i, new_dividend_bits >>= 1 )
683
+ {
684
+ bool const quotient = (remainder & high_bit_mask) != 0;
685
+
686
+ remainder <<= 1;
687
+ remainder |= new_dividend_bits & 1u;
688
+ remainder ^= quotient ? truncated_divisor : 0u;
689
+
690
+ // The quotient isn't used for anything, so don't keep it.
691
+ }
692
+ }
693
+
694
+ /** \brief Update a CRC remainder by a single bit, assuming an augmented
695
+ message
696
+
697
+ Performs the next step of division required by the CRC algorithm, giving
698
+ a new remainder polynomial based on the divisor polynomial and the
699
+ synthesized dividend polynomial (from the old remainder and the
700
+ newly-provided input). The computations assume that a zero-valued
701
+ string of bits will be appended to the message before extracting the
702
+ CRC.
703
+
704
+ \pre \a Register is a built-in unsigned integer type
705
+ \pre 0 \< \a register_length \<= std\::numeric_limits\<\a Register\>
706
+ \::digits
707
+
708
+ \tparam Register The type used for representing the remainder and
709
+ divisor modulo-2 polynomials. The bit at <code>2<sup>i</sup></code>
710
+ is used as the coefficient of <i>x<sup>i</sup></i>.
711
+
712
+ \param[in] register_length The number of significant low-order bits
713
+ to be used from \a Register values. It is the order of the modulo-2
714
+ polynomial remainder and one less than the divisor's order.
715
+ \param[in,out] remainder The upper part of the dividend polynomial
716
+ before division, and the remainder polynomial after.
717
+ \param[in] new_dividend_bit The coefficient for the constant term
718
+ of the dividend polynomial.
719
+ \param[in] truncated_divisor The lowest coefficients of the divisor
720
+ polynomial. The highest-order coefficient is omitted and always
721
+ assumed to be 1.
722
+
723
+ \note This routine performs straight-forward modulo-2 polynomial
724
+ division. It assumes that an augment string will be processed at the
725
+ end of the message bits before doing CRC analysis.
726
+ \todo Use this function somewhere so I can test it.
727
+ */
728
+ template < typename Register >
729
+ inline void augmented_crc_modulo_update( int register_length, Register
730
+ &remainder, bool new_dividend_bit, Register truncated_divisor )
731
+ {
732
+ augmented_crc_modulo_word_update( register_length, remainder,
733
+ static_cast<unsigned>(new_dividend_bit), truncated_divisor, 1, false );
734
+ }
735
+
736
+ /** \brief A mix-in class that returns its argument
737
+
738
+ This class template makes a function object that returns its argument
739
+ as-is. It's one case for #possible_reflector.
740
+
741
+ \pre 0 \< \a BitLength \<= \c std\::numeric_limits\<uintmax_t\>
742
+ \::digits
743
+
744
+ \tparam BitLength How many significant bits arguments have.
745
+ */
746
+ template < int BitLength >
747
+ class non_reflector
748
+ {
749
+ public:
750
+ /** \brief The type to check for specialization
751
+
752
+ This is a Boost integral constant indicating that this class
753
+ does not reflect its input values.
754
+ */
755
+ typedef boost::false_type is_reflecting_type;
756
+ /** \brief The type to check for register bit length
757
+
758
+ This is a Boost integral constant indicating how many
759
+ significant bits won't actually be reflected.
760
+ */
761
+ typedef boost::integral_constant< int, BitLength > width_c;
762
+ /** \brief The type of (not-)reflected values
763
+
764
+ This type is the input and output type for the (possible-)
765
+ reflection function, which does nothing here.
766
+ */
767
+ typedef typename boost::uint_t< BitLength >::fast value_type;
768
+
769
+ /** \brief Does nothing
770
+
771
+ Returns the given value, not reflecting any part of it.
772
+
773
+ \param x The value to not be reflected.
774
+
775
+ \return \a x
776
+ */
777
+ inline static value_type reflect_q( value_type x )
778
+ { return x; }
779
+ };
780
+
781
+ /** \brief A mix-in class that reflects (the lower part of) its argument,
782
+ generally for types larger than a byte
783
+
784
+ This class template makes a function object that returns its argument
785
+ after reflecting its lower-order bits. It's one sub-case for
786
+ #possible_reflector.
787
+
788
+ \pre \c CHAR_BIT \< \a BitLength \<= \c std\::numeric_limits\<uintmax_t
789
+ \>\::digits
790
+
791
+ \tparam BitLength How many significant bits arguments have.
792
+ */
793
+ template < int BitLength >
794
+ class super_byte_reflector
795
+ {
796
+ public:
797
+ /** \brief The type to check for specialization
798
+
799
+ This is a Boost integral constant indicating that this class
800
+ does reflect its input values.
801
+ */
802
+ typedef boost::true_type is_reflecting_type;
803
+ /** \brief The type to check for register bit length
804
+
805
+ This is a Boost integral constant indicating how many
806
+ significant bits will be reflected.
807
+ */
808
+ typedef boost::integral_constant< int, BitLength > width_c;
809
+ /** \brief The type of reflected values
810
+
811
+ This is both the input and output type for the reflection function.
812
+ */
813
+ typedef typename boost::uint_t< BitLength >::fast value_type;
814
+
815
+ /** \brief Reflect (part of) the given value
816
+
817
+ Reverses the order of the given number of bits within a value,
818
+ using #reflect_unsigned.
819
+
820
+ \param x The value to be (partially) reflected.
821
+
822
+ \return ( <var>x</var> &amp;
823
+ ~(2<sup><var>width_c</var>\::value</sup> - 1) ) | REFLECT(
824
+ <var>x</var> &amp; (2<sup><var>width_c</var>\::value</sup> -
825
+ 1) )
826
+ */
827
+ inline static value_type reflect_q( value_type x )
828
+ { return reflect_unsigned(x, width_c::value); }
829
+ };
830
+
831
+ /** \brief A mix-in class that reflects (the lower part of) its argument,
832
+ generally for bytes
833
+
834
+ This class template makes a function object that returns its argument
835
+ after reflecting its lower-order bits. It's one sub-case for
836
+ #possible_reflector.
837
+
838
+ \pre 0 \< \a BitLength \<= \c CHAR_BIT
839
+
840
+ \tparam BitLength How many significant bits arguments have.
841
+ */
842
+ template < int BitLength >
843
+ class sub_type_reflector
844
+ {
845
+ public:
846
+ /** \brief The type to check for specialization
847
+
848
+ This is a Boost integral constant indicating that this class
849
+ does reflect its input values.
850
+ */
851
+ typedef boost::true_type is_reflecting_type;
852
+ /** \brief The type to check for register bit length
853
+
854
+ This is a Boost integral constant indicating how many
855
+ significant bits will be reflected.
856
+ */
857
+ typedef boost::integral_constant< int, BitLength > width_c;
858
+ /** \brief The type of reflected values
859
+
860
+ This is both the input and output type for the reflection function.
861
+ */
862
+ typedef unsigned char value_type;
863
+
864
+ /** \brief Reflect (part of) the given value
865
+
866
+ Reverses the order of the given number of bits within a value,
867
+ using #reflect_sub_byte.
868
+
869
+ \param x The value to be (partially) reflected.
870
+
871
+ \return ( <var>x</var> &amp;
872
+ ~(2<sup><var>width_c</var>\::value</sup> - 1) ) | REFLECT(
873
+ <var>x</var> &amp; (2<sup><var>width_c</var>\::value</sup> -
874
+ 1) )
875
+ */
876
+ inline static value_type reflect_q( value_type x )
877
+ { return reflect_sub_byte(x, width_c::value); }
878
+ };
879
+
880
+ /** \brief A mix-in class that reflects (the lower part of) its argument
881
+
882
+ This class template makes a function object that returns its argument
883
+ after reflecting its lower-order bits. It's one case for
884
+ #possible_reflector.
885
+
886
+ \pre 0 \< \a BitLength \<= \c std\::numeric_limits\<uintmax_t\>
887
+ \::digits
888
+
889
+ \tparam BitLength How many significant bits arguments have.
890
+ */
891
+ template < int BitLength >
892
+ class reflector
893
+ : public boost::conditional< (BitLength > CHAR_BIT),
894
+ super_byte_reflector<BitLength>, sub_type_reflector<BitLength> >::type
895
+ { };
896
+
897
+ /** This class template adds a member function #reflect_q that will
898
+ conditionally reflect its first argument, controlled by a compile-time
899
+ parameter.
900
+
901
+ \pre 0 \< \a BitLength \<= \c std\::numeric_limits\<uintmax_t\>
902
+ \::digits
903
+
904
+ \tparam BitLength How many significant bits arguments have.
905
+ \tparam DoIt \c true if #reflect_q will reflect, \c false if it should
906
+ return its argument unchanged.
907
+ \tparam Id An extra differentiator if multiple copies of this class
908
+ template are mixed-in as base classes. Defaults to 0 if omitted.
909
+ */
910
+ template < int BitLength, bool DoIt, int Id >
911
+ class possible_reflector
912
+ : public boost::conditional< DoIt, reflector<BitLength>,
913
+ non_reflector<BitLength> >::type
914
+ {
915
+ public:
916
+ /** \brief The type to check for ID
917
+
918
+ This is a Boost integral constant indicating what ID number this
919
+ instantiation used.
920
+ */
921
+ typedef boost::integral_constant<int, Id> id_type;
922
+ };
923
+
924
+ /** \brief Find the composite remainder update effect from a fixed bit
925
+ sequence, for each potential sequence combination.
926
+
927
+ For each value between 0 and 2<sup><var>SubOrder</var></sup> - 1,
928
+ computes the XOR mask corresponding to the composite effect they update
929
+ the incoming remainder, which is the upper part of the dividend that
930
+ gets (partially) pushed out of its register by the incoming value's
931
+ bits. The composite value merges the \"partial products\" from each bit
932
+ of the value being updated individually.
933
+
934
+ \pre \a Register is a built-in unsigned integer type
935
+ \pre 0 \< \a SubOrder \<= \a register_length \<=
936
+ std\::numeric_limits\<\a Register\>\::digits
937
+
938
+ \tparam SubOrder The number of low-order significant bits of the trial
939
+ new dividends.
940
+ \tparam Register The type used for representing the remainder and
941
+ divisor modulo-2 polynomials. The bit at <code>2<sup>i</sup></code>
942
+ is used as the coefficient of <i>x<sup>i</sup></i>.
943
+
944
+ \param[in] register_length The number of significant low-order bits
945
+ to be used from \a Register values. It is the order of the modulo-2
946
+ polynomial remainder and one less than the divisor's order.
947
+ \param[in] truncated_divisor The lowest coefficients of the divisor
948
+ polynomial. The highest-order coefficient is omitted and always
949
+ assumed to be 1.
950
+ \param[in] reflect If \c false, read from the highest-order marked
951
+ bit from a new dividend's bits and go down, as normal. Otherwise,
952
+ proceed from the lowest-order bit and go up.
953
+
954
+ \return An array such that the element at index <var>i</var> is the
955
+ composite effect XOR mask for value <var>i</var>.
956
+
957
+ \note This routine performs a modulo-2 polynomial division variant.
958
+ The exclusive-or operations are applied in a different order, since
959
+ that kind of operation is commutative and associative. It also
960
+ assumes that the zero-valued augment string was applied before this
961
+ step, which means that the updated remainder can be directly used as
962
+ the final CRC.
963
+ \todo Check that using the unaugmented-CRC division routines give the
964
+ same composite mask table as using augmented-CRC routines.
965
+ */
966
+ template < int SubOrder, typename Register >
967
+ boost::array< Register, (UINTMAX_C( 1 ) << SubOrder) >
968
+ make_partial_xor_products_table( int register_length, Register
969
+ truncated_divisor, bool reflect )
970
+ {
971
+ boost::array<Register, ( UINTMAX_C(1) << SubOrder )> result;
972
+
973
+ // Loop over every possible dividend value
974
+ for ( typename boost::uint_t<SubOrder + 1>::fast dividend = 0u;
975
+ dividend < result.size() ; ++dividend )
976
+ {
977
+ Register remainder = 0u;
978
+
979
+ crc_modulo_word_update( register_length, remainder, dividend,
980
+ truncated_divisor, SubOrder, false );
981
+ result[ reflect_optionally(dividend, reflect, SubOrder) ] =
982
+ reflect_optionally( remainder, reflect, register_length );
983
+ }
984
+ return result;
985
+ }
986
+
987
+ /** \brief A mix-in class for the table of table-driven CRC algorithms
988
+
989
+ Encapsulates the parameters need to make a global (technically,
990
+ class-static) table usuable in CRC algorithms, and generates said
991
+ table.
992
+
993
+ \pre 0 \< \a SubOrder \<= Order \<=
994
+ std\::numeric_limits\<uintmax_t\>\::digits
995
+
996
+ \tparam Order The order of the modulo-2 polynomial remainder and one
997
+ less than the divisor's order.
998
+ \tparam SubOrder The number of low-order significant bits of the trial
999
+ new dividends.
1000
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
1001
+ polynomial. The highest-order coefficient is omitted and always
1002
+ assumed to be 1.
1003
+ \tparam Reflect If \c false, read from the highest-order marked
1004
+ bit from a new dividend's bits and go down, as normal. Otherwise,
1005
+ proceed from the lowest-order bit and go up.
1006
+ */
1007
+ template < int Order, int SubOrder, boost::uintmax_t TruncatedPolynomial,
1008
+ bool Reflect >
1009
+ class crc_table_t
1010
+ {
1011
+ public:
1012
+ /** \brief The type to check for register bit length
1013
+
1014
+ This is a Boost integral constant indicating how many
1015
+ significant bits are in the remainder and (truncated) divisor.
1016
+ */
1017
+ typedef boost::integral_constant< int, Order > width_c;
1018
+ /** \brief The type to check for index-unit bit length
1019
+
1020
+ This is a Boost integral constant indicating how many
1021
+ significant bits are in the trial new dividends.
1022
+ */
1023
+ typedef boost::integral_constant< int, SubOrder > unit_width_c;
1024
+ /** \brief The type of registers
1025
+
1026
+ This is the output type for the partial-product map.
1027
+ */
1028
+ typedef typename boost::uint_t< Order >::fast value_type;
1029
+ /** \brief The type to check the divisor
1030
+
1031
+ This is a Boost integral constant representing the (truncated)
1032
+ divisor.
1033
+ */
1034
+ typedef boost::integral_constant< value_type, TruncatedPolynomial >
1035
+ poly_c;
1036
+ /** \brief The type to check for reflection
1037
+
1038
+ This is a Boost integral constant representing whether input
1039
+ units should be read in reverse order.
1040
+ */
1041
+ typedef boost::integral_constant< bool, Reflect > refin_c;
1042
+ /** \brief The type to check for map size
1043
+
1044
+ This is a Boost integral constant representing the number of
1045
+ elements in the partial-product map, based on the unit size.
1046
+ */
1047
+ typedef high_bit_mask_c< SubOrder > table_size_c;
1048
+ /** \brief The type of the unit TO partial-product map
1049
+
1050
+ This is the array type that takes units as the index and said unit's
1051
+ composite partial-product mask as the element.
1052
+ */
1053
+ typedef boost::array<value_type, table_size_c::value> array_type;
1054
+ /** \brief Create a global array for the mapping table
1055
+
1056
+ Creates an instance of a partial-product array with this class's
1057
+ parameters.
1058
+
1059
+ \return A reference to a immutable array giving the partial-product
1060
+ update XOR map for each potential sub-unit value.
1061
+ */
1062
+ static array_type const & get_table()
1063
+ {
1064
+ static array_type const table =
1065
+ make_partial_xor_products_table<unit_width_c::value>(
1066
+ width_c::value, poly_c::value, refin_c::value );
1067
+
1068
+ return table;
1069
+ }
1070
+ };
1071
+
1072
+ /** \brief A mix-in class that handles direct (i.e. non-reflected) byte-fed
1073
+ table-driven CRC algorithms
1074
+
1075
+ This class template adds member functions #augmented_crc_update and
1076
+ #crc_update to update remainders from new input bytes. The bytes aren't
1077
+ reflected before processing.
1078
+
1079
+ \pre \c CHAR_BIT \<= \a Order \<= \c std\::numeric_limits\<uintmax_t\>
1080
+ \::digits
1081
+
1082
+ \tparam Order The order of the modulo-2 polynomial remainder and one
1083
+ less than the divisor's order.
1084
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
1085
+ polynomial. The highest-order coefficient is omitted and always
1086
+ assumed to be 1.
1087
+ */
1088
+ template < int Order, boost::uintmax_t TruncatedPolynomial >
1089
+ class direct_byte_table_driven_crcs
1090
+ : public crc_table_t<Order, CHAR_BIT, TruncatedPolynomial, false>
1091
+ {
1092
+ typedef crc_table_t<Order, CHAR_BIT, TruncatedPolynomial, false>
1093
+ base_type;
1094
+
1095
+ public:
1096
+ typedef typename base_type::value_type value_type;
1097
+ typedef typename base_type::array_type array_type;
1098
+
1099
+ /** \brief Compute the updated remainder after reading some bytes
1100
+
1101
+ The implementation reads from a table to speed-up applying
1102
+ augmented-CRC updates byte-wise.
1103
+
1104
+ \param remainder The pre-update remainder
1105
+ \param new_dividend_bytes The address where the new bytes start
1106
+ \param new_dividend_byte_count The number of new bytes to read
1107
+
1108
+ \return The updated remainder
1109
+ */
1110
+ static value_type augmented_crc_update( value_type remainder, unsigned
1111
+ char const *new_dividend_bytes, std::size_t new_dividend_byte_count)
1112
+ {
1113
+ static array_type const & table = base_type::get_table();
1114
+
1115
+ while ( new_dividend_byte_count-- )
1116
+ {
1117
+ // Locates the merged partial product based on the leading byte
1118
+ unsigned char const index = ( remainder >> (Order - CHAR_BIT) )
1119
+ & UCHAR_MAX;
1120
+
1121
+ // Complete the multi-bit modulo-2 polynomial division
1122
+ remainder <<= CHAR_BIT;
1123
+ remainder |= *new_dividend_bytes++;
1124
+ remainder ^= table.elems[ index ];
1125
+ }
1126
+
1127
+ return remainder;
1128
+ }
1129
+
1130
+ /** \brief Compute the updated remainder after reading some bytes
1131
+
1132
+ The implementation reads from a table to speed-up applying
1133
+ unaugmented-CRC updates byte-wise.
1134
+
1135
+ \param remainder The pre-update remainder
1136
+ \param new_dividend_bytes The address where the new bytes start
1137
+ \param new_dividend_byte_count The number of new bytes to read
1138
+
1139
+ \return The updated remainder
1140
+ */
1141
+ static value_type crc_update( value_type remainder, unsigned char
1142
+ const *new_dividend_bytes, std::size_t new_dividend_byte_count)
1143
+ {
1144
+ static array_type const & table = base_type::get_table();
1145
+
1146
+ while ( new_dividend_byte_count-- )
1147
+ {
1148
+ // Locates the merged partial product based on comparing the
1149
+ // leading and incoming bytes
1150
+ unsigned char const index = ( (remainder >> ( Order - CHAR_BIT
1151
+ )) & UCHAR_MAX ) ^ *new_dividend_bytes++;
1152
+
1153
+ // Complete the multi-bit altered modulo-2 polynomial division
1154
+ remainder <<= CHAR_BIT;
1155
+ remainder ^= table.elems[ index ];
1156
+ }
1157
+
1158
+ return remainder;
1159
+ }
1160
+ };
1161
+
1162
+ /** \brief A mix-in class that handles reflected byte-fed, table-driven CRC
1163
+ algorithms
1164
+
1165
+ This class template adds member functions #augmented_crc_update and
1166
+ #crc_update to update remainders from new input bytes. The bytes are
1167
+ reflected before processing.
1168
+
1169
+ \pre \c CHAR_BIT \<= \a Order \<= \c std\::numeric_limits\<uintmax_t\>
1170
+ \::digits
1171
+
1172
+ \tparam Order The order of the modulo-2 polynomial remainder and one
1173
+ less than the divisor's order.
1174
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
1175
+ polynomial. The highest-order coefficient is omitted and always
1176
+ assumed to be 1.
1177
+ */
1178
+ template < int Order, boost::uintmax_t TruncatedPolynomial >
1179
+ class reflected_byte_table_driven_crcs
1180
+ : public crc_table_t<Order, CHAR_BIT, TruncatedPolynomial, true>
1181
+ {
1182
+ typedef crc_table_t<Order, CHAR_BIT, TruncatedPolynomial, true>
1183
+ base_type;
1184
+
1185
+ public:
1186
+ typedef typename base_type::value_type value_type;
1187
+ typedef typename base_type::array_type array_type;
1188
+
1189
+ /** \brief Compute the updated remainder after reading some bytes
1190
+
1191
+ The implementation reads from a table to speed-up applying
1192
+ reflecting augmented-CRC updates byte-wise.
1193
+
1194
+ \param remainder The pre-update remainder; since the bytes are
1195
+ being reflected, this remainder also has to be reflected
1196
+ \param new_dividend_bytes The address where the new bytes start
1197
+ \param new_dividend_byte_count The number of new bytes to read
1198
+
1199
+ \return The updated, reflected remainder
1200
+ */
1201
+ static value_type augmented_crc_update( value_type remainder, unsigned
1202
+ char const *new_dividend_bytes, std::size_t new_dividend_byte_count)
1203
+ {
1204
+ static array_type const & table = base_type::get_table();
1205
+
1206
+ while ( new_dividend_byte_count-- )
1207
+ {
1208
+ // Locates the merged partial product based on the leading byte
1209
+ // (which is at the low-order end for reflected remainders)
1210
+ unsigned char const index = remainder & UCHAR_MAX;
1211
+
1212
+ // Complete the multi-bit reflected modulo-2 polynomial division
1213
+ remainder >>= CHAR_BIT;
1214
+ remainder |= static_cast<value_type>( *new_dividend_bytes++ )
1215
+ << ( Order - CHAR_BIT );
1216
+ remainder ^= table.elems[ index ];
1217
+ }
1218
+
1219
+ return remainder;
1220
+ }
1221
+
1222
+ /** \brief Compute the updated remainder after reading some bytes
1223
+
1224
+ The implementation reads from a table to speed-up applying
1225
+ reflected unaugmented-CRC updates byte-wise.
1226
+
1227
+ \param remainder The pre-update remainder; since the bytes are
1228
+ being reflected, this remainder also has to be reflected
1229
+ \param new_dividend_bytes The address where the new bytes start
1230
+ \param new_dividend_byte_count The number of new bytes to read
1231
+
1232
+ \return The updated, reflected remainder
1233
+ */
1234
+ static value_type crc_update( value_type remainder, unsigned char
1235
+ const *new_dividend_bytes, std::size_t new_dividend_byte_count)
1236
+ {
1237
+ static array_type const & table = base_type::get_table();
1238
+
1239
+ while ( new_dividend_byte_count-- )
1240
+ {
1241
+ // Locates the merged partial product based on comparing the
1242
+ // leading and incoming bytes
1243
+ unsigned char const index = ( remainder & UCHAR_MAX ) ^
1244
+ *new_dividend_bytes++;
1245
+
1246
+ // Complete the multi-bit reflected altered modulo-2 polynomial
1247
+ // division
1248
+ remainder >>= CHAR_BIT;
1249
+ remainder ^= table.elems[ index ];
1250
+ }
1251
+
1252
+ return remainder;
1253
+ }
1254
+ };
1255
+
1256
+ /** \brief Mix-in class for byte-fed, table-driven CRC algorithms with
1257
+ parameter values at least a byte in width
1258
+
1259
+ This class template adds member functions #augmented_crc_update and
1260
+ #crc_update to update remainders from new input bytes. The bytes may be
1261
+ reflected before processing, controlled by a compile-time parameter.
1262
+
1263
+ \pre \c CHAR_BIT \<= \a Order \<= \c std\::numeric_limits\<uintmax_t\>
1264
+ \::digits
1265
+
1266
+ \tparam Order The order of the modulo-2 polynomial remainder and one
1267
+ less than the divisor's order.
1268
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
1269
+ polynomial. The highest-order coefficient is omitted and always
1270
+ assumed to be 1.
1271
+ \tparam Reflect If \c false, read from the highest-order bit from a new
1272
+ input byte and go down, as normal. Otherwise, proceed from the
1273
+ lowest-order bit and go up.
1274
+ */
1275
+ template < int Order, boost::uintmax_t TruncatedPolynomial, bool Reflect >
1276
+ class byte_table_driven_crcs
1277
+ : public boost::conditional< Reflect,
1278
+ reflected_byte_table_driven_crcs<Order, TruncatedPolynomial>,
1279
+ direct_byte_table_driven_crcs<Order, TruncatedPolynomial> >::type
1280
+ { };
1281
+
1282
+ /** \brief A mix-in class that handles direct (i.e. non-reflected) byte-fed
1283
+ CRC algorithms for sub-byte parameters
1284
+
1285
+ This class template adds member functions #augmented_crc_update and
1286
+ #crc_update to update remainders from new input bytes. The bytes aren't
1287
+ reflected before processing.
1288
+
1289
+ \pre 0 \< \a Order \< \c CHAR_BIT
1290
+
1291
+ \tparam Order The order of the modulo-2 polynomial remainder and one
1292
+ less than the divisor's order.
1293
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
1294
+ polynomial. The highest-order coefficient is omitted and always
1295
+ assumed to be 1.
1296
+ */
1297
+ template < int Order, boost::uintmax_t TruncatedPolynomial >
1298
+ class direct_sub_byte_crcs
1299
+ : public crc_table_t<Order, Order, TruncatedPolynomial, false>
1300
+ {
1301
+ typedef crc_table_t<Order, Order, TruncatedPolynomial, false>
1302
+ base_type;
1303
+
1304
+ public:
1305
+ typedef typename base_type::width_c width_c;
1306
+ typedef typename base_type::value_type value_type;
1307
+ typedef typename base_type::poly_c poly_c;
1308
+ typedef typename base_type::array_type array_type;
1309
+
1310
+ /** \brief Compute the updated remainder after reading some bytes
1311
+
1312
+ The implementation reads from a table to speed-up applying
1313
+ augmented-CRC updates byte-wise.
1314
+
1315
+ \param remainder The pre-update remainder
1316
+ \param new_dividend_bytes The address where the new bytes start
1317
+ \param new_dividend_byte_count The number of new bytes to read
1318
+
1319
+ \return The updated remainder
1320
+
1321
+ \todo Use this function somewhere so I can test it.
1322
+ */
1323
+ static value_type augmented_crc_update( value_type remainder, unsigned
1324
+ char const *new_dividend_bytes, std::size_t new_dividend_byte_count)
1325
+ {
1326
+ //static array_type const & table = base_type::get_table();
1327
+
1328
+ while ( new_dividend_byte_count-- )
1329
+ {
1330
+ // Without a table, process each byte explicitly
1331
+ augmented_crc_modulo_word_update( width_c::value, remainder,
1332
+ *new_dividend_bytes++, poly_c::value, CHAR_BIT, false );
1333
+ }
1334
+
1335
+ return remainder;
1336
+ }
1337
+
1338
+ /** \brief Compute the updated remainder after reading some bytes
1339
+
1340
+ The implementation reads from a table to speed-up applying
1341
+ unaugmented-CRC updates byte-wise.
1342
+
1343
+ \param remainder The pre-update remainder
1344
+ \param new_dividend_bytes The address where the new bytes start
1345
+ \param new_dividend_byte_count The number of new bytes to read
1346
+
1347
+ \return The updated remainder
1348
+ */
1349
+ static value_type crc_update( value_type remainder, unsigned char
1350
+ const *new_dividend_bytes, std::size_t new_dividend_byte_count)
1351
+ {
1352
+ //static array_type const & table = base_type::get_table();
1353
+
1354
+ while ( new_dividend_byte_count-- )
1355
+ {
1356
+ // Without a table, process each byte explicitly
1357
+ crc_modulo_word_update( width_c::value, remainder,
1358
+ *new_dividend_bytes++, poly_c::value, CHAR_BIT, false );
1359
+ }
1360
+
1361
+ return remainder;
1362
+ }
1363
+ };
1364
+
1365
+ /** \brief A mix-in class that handles reflected byte-fed, CRC algorithms
1366
+ for sub-byte parameters
1367
+
1368
+ This class template adds member functions #augmented_crc_update and
1369
+ #crc_update to update remainders from new input bytes. The bytes are
1370
+ reflected before processing.
1371
+
1372
+ \pre 0 \< \a Order \< \c CHAR_BIT
1373
+
1374
+ \tparam Order The order of the modulo-2 polynomial remainder and one
1375
+ less than the divisor's order.
1376
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
1377
+ polynomial. The highest-order coefficient is omitted and always
1378
+ assumed to be 1.
1379
+ */
1380
+ template < int Order, boost::uintmax_t TruncatedPolynomial >
1381
+ class reflected_sub_byte_crcs
1382
+ : public crc_table_t<Order, Order, TruncatedPolynomial, true>
1383
+ {
1384
+ typedef crc_table_t<Order, Order, TruncatedPolynomial, true>
1385
+ base_type;
1386
+
1387
+ public:
1388
+ typedef typename base_type::width_c width_c;
1389
+ typedef typename base_type::value_type value_type;
1390
+ typedef typename base_type::poly_c poly_c;
1391
+ typedef typename base_type::array_type array_type;
1392
+
1393
+ /** \brief Compute the updated remainder after reading some bytes
1394
+
1395
+ The implementation reads from a table to speed-up applying
1396
+ reflecting augmented-CRC updates byte-wise.
1397
+
1398
+ \param remainder The pre-update remainder; since the bytes are
1399
+ being reflected, this remainder also has to be reflected
1400
+ \param new_dividend_bytes The address where the new bytes start
1401
+ \param new_dividend_byte_count The number of new bytes to read
1402
+
1403
+ \return The updated, reflected remainder
1404
+
1405
+ \todo Use this function somewhere so I can test it.
1406
+ */
1407
+ static value_type augmented_crc_update( value_type remainder, unsigned
1408
+ char const *new_dividend_bytes, std::size_t new_dividend_byte_count)
1409
+ {
1410
+ //static array_type const & table = base_type::get_table();
1411
+
1412
+ remainder = reflect_sub_byte( remainder, width_c::value );
1413
+ while ( new_dividend_byte_count-- )
1414
+ {
1415
+ // Without a table, process each byte explicitly
1416
+ augmented_crc_modulo_word_update( width_c::value, remainder,
1417
+ *new_dividend_bytes++, poly_c::value, CHAR_BIT, true );
1418
+ }
1419
+ remainder = reflect_sub_byte( remainder, width_c::value );
1420
+
1421
+ return remainder;
1422
+ }
1423
+
1424
+ /** \brief Compute the updated remainder after reading some bytes
1425
+
1426
+ The implementation reads from a table to speed-up applying
1427
+ reflected unaugmented-CRC updates byte-wise.
1428
+
1429
+ \param remainder The pre-update remainder; since the bytes are
1430
+ being reflected, this remainder also has to be reflected
1431
+ \param new_dividend_bytes The address where the new bytes start
1432
+ \param new_dividend_byte_count The number of new bytes to read
1433
+
1434
+ \return The updated, reflected remainder
1435
+ */
1436
+ static value_type crc_update( value_type remainder, unsigned char
1437
+ const *new_dividend_bytes, std::size_t new_dividend_byte_count)
1438
+ {
1439
+ //static array_type const & table = base_type::get_table();
1440
+
1441
+ remainder = reflect_sub_byte( remainder, width_c::value );
1442
+ while ( new_dividend_byte_count-- )
1443
+ {
1444
+ // Without a table, process each byte explicitly
1445
+ crc_modulo_word_update( width_c::value, remainder,
1446
+ *new_dividend_bytes++, poly_c::value, CHAR_BIT, true );
1447
+ }
1448
+ remainder = reflect_sub_byte( remainder, width_c::value );
1449
+
1450
+ return remainder;
1451
+ }
1452
+ };
1453
+
1454
+ /** \brief Mix-in class for byte-fed, table-driven CRC algorithms with
1455
+ sub-byte parameters
1456
+
1457
+ This class template adds member functions #augmented_crc_update and
1458
+ #crc_update to update remainders from new input bytes. The bytes may be
1459
+ reflected before processing, controlled by a compile-time parameter.
1460
+
1461
+ \pre 0 \< \a Order \< \c CHAR_BIT
1462
+
1463
+ \tparam Order The order of the modulo-2 polynomial remainder and one
1464
+ less than the divisor's order.
1465
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
1466
+ polynomial. The highest-order coefficient is omitted and always
1467
+ assumed to be 1.
1468
+ \tparam Reflect If \c false, read from the highest-order bit from a new
1469
+ input byte and go down, as normal. Otherwise, proceed from the
1470
+ lowest-order bit and go up.
1471
+ */
1472
+ template < int Order, boost::uintmax_t TruncatedPolynomial, bool Reflect >
1473
+ class sub_byte_crcs
1474
+ : public boost::conditional< Reflect,
1475
+ reflected_sub_byte_crcs<Order, TruncatedPolynomial>,
1476
+ direct_sub_byte_crcs<Order, TruncatedPolynomial> >::type
1477
+ { };
1478
+
1479
+ /** This class template adds member functions #augmented_crc_update and
1480
+ #crc_update to update remainders from new input bytes. The bytes may be
1481
+ reflected before processing, controlled by a compile-time parameter.
1482
+
1483
+ \pre 0 \< \a Order \<= \c std\::numeric_limits\<uintmax_t\>\::digits
1484
+
1485
+ \tparam Order The order of the modulo-2 polynomial remainder and one
1486
+ less than the divisor's order.
1487
+ \tparam TruncatedPolynomial The lowest coefficients of the divisor
1488
+ polynomial. The highest-order coefficient is omitted and always
1489
+ assumed to be 1.
1490
+ \tparam Reflect If \c false, read from the highest-order bit from a new
1491
+ input byte and go down, as normal. Otherwise, proceed from the
1492
+ lowest-order bit and go up.
1493
+ \tparam Id An extra differentiator if multiple copies of this class
1494
+ template are mixed-in as base classes. Defaults to 0 if omitted.
1495
+ */
1496
+ template < int Order, boost::uintmax_t TruncatedPolynomial, bool Reflect,
1497
+ int Id >
1498
+ class crc_driver
1499
+ : public boost::conditional< (Order < CHAR_BIT), sub_byte_crcs<Order,
1500
+ TruncatedPolynomial, Reflect>, byte_table_driven_crcs<Order,
1501
+ TruncatedPolynomial, Reflect> >::type
1502
+ {
1503
+ public:
1504
+ /** \brief The type to check for ID
1505
+
1506
+ This is a Boost integral constant indicating what ID number this
1507
+ instantiation used.
1508
+ */
1509
+ typedef boost::integral_constant<int, Id> id_type;
1510
+ };
1511
+
1512
+
1513
+ } // namespace detail
1514
+ //! \endcond
1515
+
1516
+
1517
+ // Simple CRC class function definitions -----------------------------------//
1518
+
1519
+ /** Constructs a \c crc_basic object with at least the required parameters to a
1520
+ particular CRC formula to be processed upon receiving input.
1521
+
1522
+ \param[in] truncated_polynomial The lowest coefficients of the divisor
1523
+ polynomial. The highest-order coefficient is omitted and always assumed
1524
+ to be 1. (\e Poly from the RMCA)
1525
+ \param[in] initial_remainder The (unaugmented) initial state of the
1526
+ polynomial remainder. Defaults to \c 0 if omitted. (\e Init from the
1527
+ RMCA)
1528
+ \param[in] final_xor_value The (XOR) bit-mask to be applied to the output
1529
+ remainder, after possible reflection but before returning. Defaults to
1530
+ \c 0 (i.e. no bit changes) if omitted. (\e XorOut from the RMCA)
1531
+ \param[in] reflect_input If \c true, input bytes are read lowest-order bit
1532
+ first, otherwise highest-order bit first. Defaults to \c false if
1533
+ omitted. (\e RefIn from the RMCA)
1534
+ \param[in] reflect_remainder If \c true, the output remainder is reflected
1535
+ before the XOR-mask. Defaults to \c false if omitted. (\e RefOut from
1536
+ the RMCA)
1537
+
1538
+ \post <code><var>truncated_polynomial</var> ==
1539
+ this-&gt;get_truncated_polynominal()</code>
1540
+ \post <code><var>initial_remainder</var> ==
1541
+ this-&gt;get_initial_remainder()</code>
1542
+ \post <code><var>final_xor_value</var> ==
1543
+ this-&gt;get_final_xor_value()</code>
1544
+ \post <code><var>reflect_input</var> ==
1545
+ this-&gt;get_reflect_input()</code>
1546
+ \post <code><var>reflect_remainder</var> ==
1547
+ this-&gt;get_reflect_remainder()</code>
1548
+ \post <code><var>initial_remainder</var> ==
1549
+ this-&gt;get_interim_remainder()</code>
1550
+ \post <code>(<var>reflect_remainder</var> ?
1551
+ REFLECT(<var>initial_remainder</var>) : <var>initial_remainder</var>) ^
1552
+ <var>final_xor_value</var> == this-&gt;checksum()</code>
1553
+ */
1554
+ template < std::size_t Bits >
1555
+ inline
1556
+ crc_basic<Bits>::crc_basic
1557
+ (
1558
+ value_type truncated_polynomial,
1559
+ value_type initial_remainder, // = 0
1560
+ value_type final_xor_value, // = 0
1561
+ bool reflect_input, // = false
1562
+ bool reflect_remainder // = false
1563
+ )
1564
+ : rem_( initial_remainder ), poly_( truncated_polynomial )
1565
+ , init_( initial_remainder ), final_( final_xor_value )
1566
+ , rft_in_( reflect_input ), rft_out_( reflect_remainder )
1567
+ {
1568
+ }
1569
+
1570
+ /** Returns a representation of the polynomial divisor. The value of the
1571
+ 2<sup>i</sup> bit is the value of the coefficient of the polynomial's
1572
+ x<sup>i</sup> term. The omitted bit for x<sup>(#bit_count)</sup> term is
1573
+ always 1.
1574
+
1575
+ \return The bit-packed list of coefficients. If the bit-length of
1576
+ #value_type exceeds #bit_count, the values of higher-placed bits should be
1577
+ ignored (even any for x<sup>(#bit_count)</sup>) since they're unregulated.
1578
+ */
1579
+ template < std::size_t Bits >
1580
+ inline
1581
+ typename crc_basic<Bits>::value_type
1582
+ crc_basic<Bits>::get_truncated_polynominal
1583
+ (
1584
+ ) const
1585
+ {
1586
+ return poly_;
1587
+ }
1588
+
1589
+ /** Returns a representation of the polynomial remainder before any input has
1590
+ been submitted. The value of the 2<sup>i</sup> bit is the value of the
1591
+ coefficient of the polynomial's x<sup>i</sup> term.
1592
+
1593
+ \return The bit-packed list of coefficients. If the bit-length of
1594
+ #value_type exceeds #bit_count, the values of higher-placed bits should be
1595
+ ignored since they're unregulated.
1596
+ */
1597
+ template < std::size_t Bits >
1598
+ inline
1599
+ typename crc_basic<Bits>::value_type
1600
+ crc_basic<Bits>::get_initial_remainder
1601
+ (
1602
+ ) const
1603
+ {
1604
+ return init_;
1605
+ }
1606
+
1607
+ /** Returns the mask to be used during creation of a checksum. The mask is used
1608
+ for an exclusive-or (XOR) operation applied bit-wise to the interim
1609
+ remainder representation (after any reflection, if #get_reflect_remainder()
1610
+ returns \c true).
1611
+
1612
+ \return The bit-mask. If the bit-length of #value_type exceeds #bit_count,
1613
+ the values of higher-placed bits should be ignored since they're
1614
+ unregulated.
1615
+ */
1616
+ template < std::size_t Bits >
1617
+ inline
1618
+ typename crc_basic<Bits>::value_type
1619
+ crc_basic<Bits>::get_final_xor_value
1620
+ (
1621
+ ) const
1622
+ {
1623
+ return final_;
1624
+ }
1625
+
1626
+ /** Returns a whether or not a submitted byte will be \"reflected\" before it is
1627
+ used to update the interim remainder. Only the byte-wise operations
1628
+ #process_byte, #process_block, and #process_bytes are affected.
1629
+
1630
+ \retval true Input bytes will be read starting from the lowest-order bit.
1631
+ \retval false Input bytes will be read starting from the highest-order bit.
1632
+ */
1633
+ template < std::size_t Bits >
1634
+ inline
1635
+ bool
1636
+ crc_basic<Bits>::get_reflect_input
1637
+ (
1638
+ ) const
1639
+ {
1640
+ return rft_in_;
1641
+ }
1642
+
1643
+ /** Indicates if the interim remainder will be \"reflected\" before it is passed
1644
+ to the XOR-mask stage when returning a checksum.
1645
+
1646
+ \retval true The interim remainder is reflected before further work.
1647
+ \retval false The interim remainder is applied to the XOR-mask as-is.
1648
+ */
1649
+ template < std::size_t Bits >
1650
+ inline
1651
+ bool
1652
+ crc_basic<Bits>::get_reflect_remainder
1653
+ (
1654
+ ) const
1655
+ {
1656
+ return rft_out_;
1657
+ }
1658
+
1659
+ /** Returns a representation of the polynomial remainder after all the input
1660
+ submissions since construction or the last #reset call. The value of the
1661
+ 2<sup>i</sup> bit is the value of the coefficient of the polynomial's
1662
+ x<sup>i</sup> term. If CRC processing gets interrupted here, retain the
1663
+ value returned, and use it to start up the next CRC computer where you left
1664
+ off (with #reset(value_type) or construction). The next computer has to
1665
+ have its other parameters compatible with this computer.
1666
+
1667
+ \return The bit-packed list of coefficients. If the bit-length of
1668
+ #value_type exceeds #bit_count, the values of higher-placed bits should be
1669
+ ignored since they're unregulated. No output processing (reflection or
1670
+ XOR mask) has been applied to the value.
1671
+ */
1672
+ template < std::size_t Bits >
1673
+ inline
1674
+ typename crc_basic<Bits>::value_type
1675
+ crc_basic<Bits>::get_interim_remainder
1676
+ (
1677
+ ) const
1678
+ {
1679
+ return rem_ & detail::low_bits_mask_c<bit_count>::value;
1680
+ }
1681
+
1682
+ /** Changes the interim polynomial remainder to \a new_rem, purging any
1683
+ influence previously submitted input has had. The value of the
1684
+ 2<sup>i</sup> bit is the value of the coefficient of the polynomial's
1685
+ x<sup>i</sup> term.
1686
+
1687
+ \param[in] new_rem The (unaugmented) state of the polynomial remainder
1688
+ starting from this point, with no output processing applied.
1689
+
1690
+ \post <code><var>new_rem</var> == this-&gt;get_interim_remainder()</code>
1691
+ \post <code>((this-&gt;get_reflect_remainder() ?
1692
+ REFLECT(<var>new_rem</var>) : <var>new_rem</var>) ^
1693
+ this-&gt;get_final_xor_value()) == this-&gt;checksum()</code>
1694
+ */
1695
+ template < std::size_t Bits >
1696
+ inline
1697
+ void
1698
+ crc_basic<Bits>::reset
1699
+ (
1700
+ value_type new_rem
1701
+ )
1702
+ {
1703
+ rem_ = new_rem;
1704
+ }
1705
+
1706
+ /** Changes the interim polynomial remainder to the initial remainder given
1707
+ during construction, purging any influence previously submitted input has
1708
+ had. The value of the 2<sup>i</sup> bit is the value of the coefficient of
1709
+ the polynomial's x<sup>i</sup> term.
1710
+
1711
+ \post <code>this-&gt;get_initial_remainder() ==
1712
+ this-&gt;get_interim_remainder()</code>
1713
+ \post <code>((this-&gt;get_reflect_remainder() ?
1714
+ REFLECT(this-&gt;get_initial_remainder()) :
1715
+ this-&gt;get_initial_remainder()) ^ this-&gt;get_final_xor_value())
1716
+ == this-&gt;checksum()</code>
1717
+ */
1718
+ template < std::size_t Bits >
1719
+ inline
1720
+ void
1721
+ crc_basic<Bits>::reset
1722
+ (
1723
+ )
1724
+ {
1725
+ this->reset( this->get_initial_remainder() );
1726
+ }
1727
+
1728
+ /** Updates the interim remainder with a single altered-CRC-division step.
1729
+
1730
+ \param[in] bit The new input bit.
1731
+
1732
+ \post The interim remainder is updated though a modulo-2 polynomial
1733
+ division, where the division steps are altered for unaugmented CRCs.
1734
+ */
1735
+ template < std::size_t Bits >
1736
+ inline
1737
+ void
1738
+ crc_basic<Bits>::process_bit
1739
+ (
1740
+ bool bit
1741
+ )
1742
+ {
1743
+ detail::crc_modulo_update( bit_count, rem_, bit, poly_ );
1744
+ }
1745
+
1746
+ /** Updates the interim remainder with several altered-CRC-division steps. Each
1747
+ bit is processed separately, starting from the one at the
1748
+ 2<sup><var>bit_length</var> - 1</sup> place, then proceeding down to the
1749
+ lowest-placed bit. Any order imposed by
1750
+ <code>this-&gt;get_reflect_input()</code> is ignored.
1751
+
1752
+ \pre 0 \< \a bit_length \<= \c CHAR_BIT
1753
+
1754
+ \param[in] bits The byte containing the new input bits.
1755
+ \param[in] bit_length The number of bits in the byte to be read.
1756
+
1757
+ \post The interim remainder is updated though \a bit_length modulo-2
1758
+ polynomial divisions, where the division steps are altered for unaugmented
1759
+ CRCs.
1760
+ */
1761
+ template < std::size_t Bits >
1762
+ void
1763
+ crc_basic<Bits>::process_bits
1764
+ (
1765
+ unsigned char bits,
1766
+ std::size_t bit_length
1767
+ )
1768
+ {
1769
+ // ignore the bits above the ones we want
1770
+ bits <<= CHAR_BIT - bit_length;
1771
+
1772
+ // compute the CRC for each bit, starting with the upper ones
1773
+ unsigned char const high_bit_mask = 1u << ( CHAR_BIT - 1u );
1774
+ for ( std::size_t i = bit_length ; i > 0u ; --i, bits <<= 1u )
1775
+ {
1776
+ process_bit( (bits & high_bit_mask) != 0 );
1777
+ }
1778
+ }
1779
+
1780
+ /** Updates the interim remainder with a byte's worth of altered-CRC-division
1781
+ steps. The bits within the byte are processed from the highest place down
1782
+ if <code>this-&gt;get_reflect_input()</code> is \c false, and lowest place
1783
+ up otherwise.
1784
+
1785
+ \param[in] byte The new input byte.
1786
+
1787
+ \post The interim remainder is updated though \c CHAR_BIT modulo-2
1788
+ polynomial divisions, where the division steps are altered for unaugmented
1789
+ CRCs.
1790
+ */
1791
+ template < std::size_t Bits >
1792
+ inline
1793
+ void
1794
+ crc_basic<Bits>::process_byte
1795
+ (
1796
+ unsigned char byte
1797
+ )
1798
+ {
1799
+ process_bits( (rft_in_ ? detail::reflect_byte( byte ) : byte), CHAR_BIT );
1800
+ }
1801
+
1802
+ /** Updates the interim remainder with several bytes' worth of
1803
+ altered-CRC-division steps. The bits within each byte are processed from
1804
+ the highest place down if <code>this-&gt;get_reflect_input()</code> is
1805
+ \c false, and lowest place up otherwise. The bytes themselves are processed
1806
+ starting from the one pointed by \a bytes_begin until \a bytes_end is
1807
+ reached through forward iteration, treating the two pointers as if they
1808
+ point to <code>unsigned char</code> objects.
1809
+
1810
+ \pre \a bytes_end has to equal \a bytes_begin if the latter is \c NULL or
1811
+ otherwise doesn't point to a valid buffer.
1812
+ \pre \a bytes_end, if not equal to \a bytes_begin, has to point within or
1813
+ one-byte-past the same buffer \a bytes_begin points into.
1814
+ \pre \a bytes_end has to be reachable from \a bytes_begin through a finite
1815
+ number of forward byte-pointer increments.
1816
+
1817
+ \param[in] bytes_begin The address where the memory block begins.
1818
+ \param[in] bytes_end Points to one-byte past the address of the memory
1819
+ block's last byte, or \a bytes_begin if no bytes are to be read.
1820
+
1821
+ \post The interim remainder is updated though <code>CHAR_BIT * (((unsigned
1822
+ char const *) bytes_end) - ((unsigned char const *) bytes_begin))</code>
1823
+ modulo-2 polynomial divisions, where the division steps are altered for
1824
+ unaugmented CRCs.
1825
+ */
1826
+ template < std::size_t Bits >
1827
+ void
1828
+ crc_basic<Bits>::process_block
1829
+ (
1830
+ void const * bytes_begin,
1831
+ void const * bytes_end
1832
+ )
1833
+ {
1834
+ for ( unsigned char const * p
1835
+ = static_cast<unsigned char const *>(bytes_begin) ; p < bytes_end ; ++p )
1836
+ {
1837
+ process_byte( *p );
1838
+ }
1839
+ }
1840
+
1841
+ /** Updates the interim remainder with several bytes' worth of
1842
+ altered-CRC-division steps. The bits within each byte are processed from
1843
+ the highest place down if <code>this-&gt;get_reflect_input()</code> is
1844
+ \c false, and lowest place up otherwise. The bytes themselves are processed
1845
+ starting from the one pointed by \a buffer, forward-iterated (as if the
1846
+ pointed-to objects were of <code>unsigned char</code>) until \a byte_count
1847
+ bytes are read.
1848
+
1849
+ \pre \a byte_count has to equal 0 if \a buffer is \c NULL or otherwise
1850
+ doesn't point to valid memory.
1851
+ \pre If \a buffer points within valid memory, then that block has to have
1852
+ at least \a byte_count more valid bytes allocated from that point.
1853
+
1854
+ \param[in] buffer The address where the memory block begins.
1855
+ \param[in] byte_count The number of bytes in the memory block.
1856
+
1857
+ \post The interim remainder is updated though <code>CHAR_BIT *
1858
+ <var>byte_count</var></code> modulo-2 polynomial divisions, where the
1859
+ division steps are altered for unaugmented CRCs.
1860
+ */
1861
+ template < std::size_t Bits >
1862
+ inline
1863
+ void
1864
+ crc_basic<Bits>::process_bytes
1865
+ (
1866
+ void const * buffer,
1867
+ std::size_t byte_count
1868
+ )
1869
+ {
1870
+ unsigned char const * const b = static_cast<unsigned char const *>(
1871
+ buffer );
1872
+
1873
+ process_block( b, b + byte_count );
1874
+ }
1875
+
1876
+ /** Computes the checksum of all the submitted bits since construction or the
1877
+ last call to #reset. The checksum will be the raw checksum, i.e. the
1878
+ (interim) remainder after all the modulo-2 polynomial division, plus any
1879
+ output processing.
1880
+
1881
+ \return <code>(this-&gt;get_reflect_remainder() ?
1882
+ REFLECT(this-&gt;get_interim_remainder()) :
1883
+ this-&gt;get_interim_remainder()) ^ this-&gt;get_final_xor_value()</code>
1884
+
1885
+ \note Since checksums are meant to be compared, any higher-placed bits
1886
+ (when the bit-length of #value_type exceeds #bit_count) will be set to 0.
1887
+ */
1888
+ template < std::size_t Bits >
1889
+ inline
1890
+ typename crc_basic<Bits>::value_type
1891
+ crc_basic<Bits>::checksum
1892
+ (
1893
+ ) const
1894
+ {
1895
+ return ( (rft_out_ ? detail::reflect_unsigned( rem_, bit_count ) :
1896
+ rem_) ^ final_ ) & detail::low_bits_mask_c<bit_count>::value;
1897
+ }
1898
+
1899
+
1900
+ // Optimized CRC class function definitions --------------------------------//
1901
+
1902
+ // Macro to compact code
1903
+ #define BOOST_CRC_OPTIMAL_NAME crc_optimal<Bits, TruncPoly, InitRem, \
1904
+ FinalXor, ReflectIn, ReflectRem>
1905
+
1906
+ /** Constructs a \c crc_optimal object with a particular CRC formula to be
1907
+ processed upon receiving input. The initial remainder may be overridden.
1908
+
1909
+ \param[in] init_rem The (unaugmented) initial state of the polynomial
1910
+ remainder. Defaults to #initial_remainder if omitted.
1911
+
1912
+ \post <code>#truncated_polynominal ==
1913
+ this-&gt;get_truncated_polynominal()</code>
1914
+ \post <code>#initial_remainder == this-&gt;get_initial_remainder()</code>
1915
+ \post <code>#final_xor_value == this-&gt;get_final_xor_value()</code>
1916
+ \post <code>#reflect_input == this-&gt;get_reflect_input()</code>
1917
+ \post <code>#reflect_remainder == this-&gt;get_reflect_remainder()</code>
1918
+ \post <code><var>init_rem</var> == this-&gt;get_interim_remainder()</code>
1919
+ \post <code>(#reflect_remainder ? REFLECT(<var>init_rem</var>) :
1920
+ <var>init_rem</var>) ^ #final_xor_value == this-&gt;checksum()</code>
1921
+ */
1922
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
1923
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
1924
+ bool ReflectIn, bool ReflectRem >
1925
+ inline
1926
+ BOOST_CRC_OPTIMAL_NAME::crc_optimal
1927
+ (
1928
+ value_type init_rem // = initial_remainder
1929
+ )
1930
+ : rem_( reflect_i_type::reflect_q(init_rem) )
1931
+ {
1932
+ }
1933
+
1934
+ //! \copydetails boost::crc_basic::get_truncated_polynominal
1935
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
1936
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
1937
+ bool ReflectIn, bool ReflectRem >
1938
+ inline
1939
+ typename BOOST_CRC_OPTIMAL_NAME::value_type
1940
+ BOOST_CRC_OPTIMAL_NAME::get_truncated_polynominal
1941
+ (
1942
+ ) const
1943
+ {
1944
+ return truncated_polynominal;
1945
+ }
1946
+
1947
+ //! \copydetails boost::crc_basic::get_initial_remainder
1948
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
1949
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
1950
+ bool ReflectIn, bool ReflectRem >
1951
+ inline
1952
+ typename BOOST_CRC_OPTIMAL_NAME::value_type
1953
+ BOOST_CRC_OPTIMAL_NAME::get_initial_remainder
1954
+ (
1955
+ ) const
1956
+ {
1957
+ return initial_remainder;
1958
+ }
1959
+
1960
+ //! \copydetails boost::crc_basic::get_final_xor_value
1961
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
1962
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
1963
+ bool ReflectIn, bool ReflectRem >
1964
+ inline
1965
+ typename BOOST_CRC_OPTIMAL_NAME::value_type
1966
+ BOOST_CRC_OPTIMAL_NAME::get_final_xor_value
1967
+ (
1968
+ ) const
1969
+ {
1970
+ return final_xor_value;
1971
+ }
1972
+
1973
+ //! \copydetails boost::crc_basic::get_reflect_input
1974
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
1975
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
1976
+ bool ReflectIn, bool ReflectRem >
1977
+ inline
1978
+ bool
1979
+ BOOST_CRC_OPTIMAL_NAME::get_reflect_input
1980
+ (
1981
+ ) const
1982
+ {
1983
+ return reflect_input;
1984
+ }
1985
+
1986
+ //! \copydetails boost::crc_basic::get_reflect_remainder
1987
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
1988
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
1989
+ bool ReflectIn, bool ReflectRem >
1990
+ inline
1991
+ bool
1992
+ BOOST_CRC_OPTIMAL_NAME::get_reflect_remainder
1993
+ (
1994
+ ) const
1995
+ {
1996
+ return reflect_remainder;
1997
+ }
1998
+
1999
+ //! \copydetails boost::crc_basic::get_interim_remainder
2000
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
2001
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
2002
+ bool ReflectIn, bool ReflectRem >
2003
+ inline
2004
+ typename BOOST_CRC_OPTIMAL_NAME::value_type
2005
+ BOOST_CRC_OPTIMAL_NAME::get_interim_remainder
2006
+ (
2007
+ ) const
2008
+ {
2009
+ // Interim remainder should be _un_-reflected, so we have to undo it.
2010
+ return reflect_i_type::reflect_q( rem_ ) &
2011
+ detail::low_bits_mask_c<bit_count>::value;
2012
+ }
2013
+
2014
+ /** Changes the interim polynomial remainder to \a new_rem, purging any
2015
+ influence previously submitted input has had. The value of the
2016
+ 2<sup>i</sup> bit is the value of the coefficient of the polynomial's
2017
+ x<sup>i</sup> term.
2018
+
2019
+ \param[in] new_rem The (unaugmented) state of the polynomial remainder
2020
+ starting from this point, with no output processing applied. Defaults to
2021
+ <code>this-&gt;get_initial_remainder()</code> if omitted.
2022
+
2023
+ \post <code><var>new_rem</var> == this-&gt;get_interim_remainder()</code>
2024
+ \post <code>((this-&gt;get_reflect_remainder() ?
2025
+ REFLECT(<var>new_rem</var>) : <var>new_rem</var>) ^
2026
+ this-&gt;get_final_xor_value()) == this-&gt;checksum()</code>
2027
+ */
2028
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
2029
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
2030
+ bool ReflectIn, bool ReflectRem >
2031
+ inline
2032
+ void
2033
+ BOOST_CRC_OPTIMAL_NAME::reset
2034
+ (
2035
+ value_type new_rem // = initial_remainder
2036
+ )
2037
+ {
2038
+ rem_ = reflect_i_type::reflect_q( new_rem );
2039
+ }
2040
+
2041
+ /** \copydetails boost::crc_basic::process_byte
2042
+
2043
+ \note Any modulo-2 polynomial divisions may use a table of pre-computed
2044
+ remainder changes (as XOR masks) to speed computation when reading data
2045
+ byte-wise.
2046
+ */
2047
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
2048
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
2049
+ bool ReflectIn, bool ReflectRem >
2050
+ inline
2051
+ void
2052
+ BOOST_CRC_OPTIMAL_NAME::process_byte
2053
+ (
2054
+ unsigned char byte
2055
+ )
2056
+ {
2057
+ process_bytes( &byte, sizeof(byte) );
2058
+ }
2059
+
2060
+ /** \copydetails boost::crc_basic::process_block
2061
+
2062
+ \note Any modulo-2 polynomial divisions may use a table of pre-computed
2063
+ remainder changes (as XOR masks) to speed computation when reading data
2064
+ byte-wise.
2065
+ */
2066
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
2067
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
2068
+ bool ReflectIn, bool ReflectRem >
2069
+ inline
2070
+ void
2071
+ BOOST_CRC_OPTIMAL_NAME::process_block
2072
+ (
2073
+ void const * bytes_begin,
2074
+ void const * bytes_end
2075
+ )
2076
+ {
2077
+ process_bytes( bytes_begin, static_cast<unsigned char const *>(bytes_end) -
2078
+ static_cast<unsigned char const *>(bytes_begin) );
2079
+ }
2080
+
2081
+ /** \copydetails boost::crc_basic::process_bytes
2082
+
2083
+ \note Any modulo-2 polynomial divisions may use a table of pre-computed
2084
+ remainder changes (as XOR masks) to speed computation when reading data
2085
+ byte-wise.
2086
+ */
2087
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
2088
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
2089
+ bool ReflectIn, bool ReflectRem >
2090
+ inline
2091
+ void
2092
+ BOOST_CRC_OPTIMAL_NAME::process_bytes
2093
+ (
2094
+ void const * buffer,
2095
+ std::size_t byte_count
2096
+ )
2097
+ {
2098
+ rem_ = crc_table_type::crc_update( rem_, static_cast<unsigned char const
2099
+ *>(buffer), byte_count );
2100
+ }
2101
+
2102
+ //! \copydetails boost::crc_basic::checksum
2103
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
2104
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
2105
+ bool ReflectIn, bool ReflectRem >
2106
+ inline
2107
+ typename BOOST_CRC_OPTIMAL_NAME::value_type
2108
+ BOOST_CRC_OPTIMAL_NAME::checksum
2109
+ (
2110
+ ) const
2111
+ {
2112
+ return ( reflect_o_type::reflect_q(rem_) ^ get_final_xor_value() )
2113
+ & detail::low_bits_mask_c<bit_count>::value;
2114
+ }
2115
+
2116
+ /** Updates the interim remainder with a byte's worth of altered-CRC-division
2117
+ steps. The bits within the byte are processed from the highest place down
2118
+ if <code>this-&gt;get_reflect_input()</code> is \c false, and lowest place
2119
+ up otherwise. This function is meant to present a function-object interface
2120
+ to code that wants to process a stream of bytes with
2121
+ <code>std::for_each</code> or similar range-processing algorithms. Since
2122
+ some of these algorithms takes their function object by value, make sure to
2123
+ copy back the result to this object so the updates can be remembered.
2124
+
2125
+ \param[in] byte The new input byte.
2126
+
2127
+ \post The interim remainder is updated though \c CHAR_BIT modulo-2
2128
+ polynomial divisions, where the division steps are altered for unaugmented
2129
+ CRCs.
2130
+
2131
+ \note Any modulo-2 polynomial divisions may use a table of pre-computed
2132
+ remainder changes (as XOR masks) to speed computation when reading data
2133
+ byte-wise.
2134
+ */
2135
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
2136
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
2137
+ bool ReflectIn, bool ReflectRem >
2138
+ inline
2139
+ void
2140
+ BOOST_CRC_OPTIMAL_NAME::operator ()
2141
+ (
2142
+ unsigned char byte
2143
+ )
2144
+ {
2145
+ process_byte( byte );
2146
+ }
2147
+
2148
+ /** Computes the checksum of all the submitted bits since construction or the
2149
+ last call to #reset. The checksum will be the raw checksum, i.e. the
2150
+ (interim) remainder after all the modulo-2 polynomial division, plus any
2151
+ output processing. This function is meant to present a function-object
2152
+ interface to code that wants to receive data like
2153
+ <code>std::generate_n</code> or similar data-processing algorithms. Note
2154
+ that if this object is used as a generator multiple times without an
2155
+ intervening mutating operation, the same value will always be returned.
2156
+
2157
+ \return <code>(this-&gt;get_reflect_remainder() ?
2158
+ REFLECT(this-&gt;get_interim_remainder()) :
2159
+ this-&gt;get_interim_remainder()) ^ this-&gt;get_final_xor_value()</code>
2160
+
2161
+ \note Since checksums are meant to be compared, any higher-placed bits
2162
+ (when the bit-length of #value_type exceeds #bit_count) will be set to 0.
2163
+ */
2164
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
2165
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
2166
+ bool ReflectIn, bool ReflectRem >
2167
+ inline
2168
+ typename BOOST_CRC_OPTIMAL_NAME::value_type
2169
+ BOOST_CRC_OPTIMAL_NAME::operator ()
2170
+ (
2171
+ ) const
2172
+ {
2173
+ return checksum();
2174
+ }
2175
+
2176
+
2177
+ // CRC computation function definition -------------------------------------//
2178
+
2179
+ /** Computes the polynomial remainder of a CRC run, assuming that \a buffer and
2180
+ \a byte_count describe a memory block representing the polynomial dividend.
2181
+ The division steps are altered so the result directly gives a checksum,
2182
+ without need to augment the memory block with scratch-space bytes. The
2183
+ first byte is considered the highest order, going down for subsequent bytes.
2184
+
2185
+ \pre 0 \< \a Bits \<= \c std\::numeric_limits\<uintmax_t\>\::digits
2186
+
2187
+ \tparam Bits The order of the modulo-2 polynomial divisor. (\e Width from
2188
+ the RMCA)
2189
+ \tparam TruncPoly The lowest coefficients of the divisor polynomial. The
2190
+ highest-order coefficient is omitted and always assumed to be 1.
2191
+ (\e Poly from the RMCA)
2192
+ \tparam InitRem The (unaugmented) initial state of the polynomial
2193
+ remainder. (\e Init from the RMCA)
2194
+ \tparam FinalXor The (XOR) bit-mask to be applied to the output remainder,
2195
+ after possible reflection but before returning. (\e XorOut from the RMCA)
2196
+ \tparam ReflectIn If \c True, input bytes are read lowest-order bit first,
2197
+ otherwise highest-order bit first. (\e RefIn from the RMCA)
2198
+ \tparam ReflectRem If \c True, the output remainder is reflected before the
2199
+ XOR-mask. (\e RefOut from the RMCA)
2200
+
2201
+ \param[in] buffer The address where the memory block begins.
2202
+ \param[in] byte_count The number of bytes in the memory block.
2203
+
2204
+ \return The checksum, which is the last (interim) remainder plus any output
2205
+ processing.
2206
+
2207
+ \note Unaugmented-style CRC runs perform modulo-2 polynomial division in
2208
+ an altered order. The trailing \a Bits number of zero-valued bits needed
2209
+ to extracted an (unprocessed) checksum is virtually moved to near the
2210
+ beginning of the message. This is OK since the XOR operation is
2211
+ commutative and associative. It also means that you can get a checksum
2212
+ anytime. Since data is being read byte-wise, a table of pre-computed
2213
+ remainder changes (as XOR masks) can be used to speed computation.
2214
+
2215
+ */
2216
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
2217
+ BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
2218
+ bool ReflectIn, bool ReflectRem >
2219
+ inline
2220
+ typename uint_t<Bits>::fast
2221
+ crc
2222
+ (
2223
+ void const * buffer,
2224
+ std::size_t byte_count
2225
+ )
2226
+ {
2227
+ BOOST_CRC_OPTIMAL_NAME computer;
2228
+ computer.process_bytes( buffer, byte_count );
2229
+ return computer.checksum();
2230
+ }
2231
+
2232
+
2233
+ // Augmented-message CRC computation function definition -------------------//
2234
+
2235
+ /** Computes the polynomial remainder of a CRC run, assuming that \a buffer and
2236
+ \a byte_count describe a memory block representing the polynomial dividend.
2237
+ The first byte is considered the highest order, going down for subsequent
2238
+ bytes. Within a byte, the highest-order bit is read first (corresponding to
2239
+ \e RefIn = \c False in the RMCA). Check the other parts of this function's
2240
+ documentation to see how a checksum can be gained and/or used.
2241
+
2242
+ \pre 0 \< \a Bits \<= \c std\::numeric_limit\<uintmax_t\>\::digits
2243
+
2244
+ \tparam Bits The order of the modulo-2 polynomial divisor. (\e Width from
2245
+ the RMCA)
2246
+ \tparam TruncPoly The lowest coefficients of the divisor polynomial. The
2247
+ highest-order coefficient is omitted and always assumed to be 1.
2248
+ (\e Poly from the RMCA)
2249
+
2250
+ \param[in] buffer The address where the memory block begins.
2251
+ \param[in] byte_count The number of bytes in the memory block.
2252
+ \param[in] initial_remainder The initial state of the polynomial
2253
+ remainder, defaulting to zero if omitted. If you are reading a memory
2254
+ block in multiple runs, put the return value of the previous run here.
2255
+ (Note that initial-remainders given by RMCA parameter lists, as
2256
+ \e Init, assume that the initial remainder is in its \b unaugmented state,
2257
+ so you would need to convert the value to make it suitable for this
2258
+ function. I currently don't provide a conversion routine.)
2259
+
2260
+ \return The interim remainder, if no augmentation is used. A special value
2261
+ if augmentation is used (see the notes). No output processing is done on
2262
+ the value. (In RMCA terms, \e RefOut is \c False and \e XorOut is \c 0.)
2263
+
2264
+ \note Augmented-style CRC runs use straight-up modulo-2 polynomial
2265
+ division. Since data is being read byte-wise, a table of pre-computed
2266
+ remainder changes (as XOR masks) can be used to speed computation.
2267
+ \note Reading just a memory block will yield an interim remainder, and not
2268
+ the final checksum. To get that checksum, allocate \a Bits / \c CHAR_BIT
2269
+ bytes directly after the block and fill them with zero values, then extend
2270
+ \a byte_count to include those extra bytes. A data block is corrupt if
2271
+ the return value doesn't equal your separately given checksum.
2272
+ \note Another way to perform a check is use the zero-byte extension method,
2273
+ but replace the zero values with your separately-given checksum. The
2274
+ checksum must be loaded in big-endian order. Here corruption, in either
2275
+ the data block or the given checksum, is confirmed if the return value is
2276
+ not zero.
2277
+ \note The two checksum techniques assume the CRC-run is performed bit-wise,
2278
+ while this function works byte-wise. That means that the techniques can
2279
+ be used only if \c CHAR_BIT divides \a Bits evenly!
2280
+ */
2281
+ template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly >
2282
+ typename uint_t<Bits>::fast
2283
+ augmented_crc
2284
+ (
2285
+ void const * buffer,
2286
+ std::size_t byte_count,
2287
+ typename uint_t<Bits>::fast initial_remainder // = 0u
2288
+ )
2289
+ {
2290
+ return detail::low_bits_mask_c<Bits>::value &
2291
+ detail::byte_table_driven_crcs<Bits, TruncPoly, false>::
2292
+ augmented_crc_update( initial_remainder, static_cast<unsigned char const
2293
+ *>(buffer), byte_count );
2294
+ }
2295
+
2296
+
2297
+ } // namespace boost
2298
+
2299
+
2300
+ // Undo header-private macros
2301
+ #undef BOOST_CRC_OPTIMAL_NAME
2302
+ #undef BOOST_CRC_PARM_TYPE
2303
+
2304
+
2305
+ #endif // BOOST_CRC_HPP
2306
+