passenger 5.0.24 → 5.0.25

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (1796) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +8 -18
  3. data/CHANGELOG +20 -0
  4. data/build/cplusplus_support.rb +3 -3
  5. data/build/cxx_dependency_map.rb +148 -96
  6. data/build/cxx_tests.rb +24 -12
  7. data/build/packaging.rb +1 -2
  8. data/dev/copy_boost_headers +32 -9
  9. data/resources/templates/standalone/config.erb +2 -0
  10. data/resources/templates/standalone/footer.erb +3 -0
  11. data/resources/templates/standalone/server.erb +7 -0
  12. data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +2 -2
  13. data/src/agent/Core/SpawningKit/DirectSpawner.h +3 -0
  14. data/src/agent/Core/UnionStation/Transaction.h +1 -15
  15. data/src/agent/README.md +15 -3
  16. data/src/agent/UstRouter/Controller.h +95 -90
  17. data/src/agent/UstRouter/FileSink.h +3 -2
  18. data/src/agent/UstRouter/LogSink.h +5 -6
  19. data/src/agent/UstRouter/RemoteSender.h +41 -12
  20. data/src/agent/UstRouter/RemoteSink.h +3 -2
  21. data/src/agent/UstRouter/Transaction.h +198 -66
  22. data/src/apache2_module/Configuration.cpp +57 -2
  23. data/src/apache2_module/Configuration.h +3 -1
  24. data/src/apache2_module/Configuration.hpp +3 -1
  25. data/src/apache2_module/Hooks.cpp +4 -2
  26. data/src/cxx_supportlib/Constants.h +1 -1
  27. data/src/cxx_supportlib/MemoryKit/palloc.h +1 -0
  28. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +1 -0
  29. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +4 -3
  30. data/src/cxx_supportlib/ServerKit/Server.h +1 -0
  31. data/src/cxx_supportlib/Utils/BufferedIO.h +21 -4
  32. data/src/cxx_supportlib/Utils/IOUtils.cpp +62 -12
  33. data/src/cxx_supportlib/Utils/StrIntUtils.cpp +3 -3
  34. data/src/cxx_supportlib/Utils/StrIntUtils.h +2 -2
  35. data/src/cxx_supportlib/WatchdogLauncher.cpp +13 -1
  36. data/src/cxx_supportlib/WatchdogLauncher.h +4 -1
  37. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/classification.hpp +312 -0
  38. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/concept.hpp +1 -1
  39. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/classification.hpp +353 -0
  40. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_format.hpp +1 -1
  41. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_format_all.hpp +1 -1
  42. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_format_store.hpp +1 -1
  43. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_iterator.hpp +87 -0
  44. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/finder.hpp +1 -8
  45. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/finder_regex.hpp +122 -0
  46. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/formatter.hpp +1 -1
  47. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/formatter_regex.hpp +61 -0
  48. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/predicate.hpp +77 -0
  49. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/trim.hpp +95 -0
  50. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/util.hpp +1 -1
  51. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/erase.hpp +1 -1
  52. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find.hpp +334 -0
  53. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find_format.hpp +1 -1
  54. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find_iterator.hpp +388 -0
  55. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +1 -1
  56. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/formatter.hpp +1 -1
  57. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/iter_find.hpp +193 -0
  58. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/join.hpp +145 -0
  59. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/predicate.hpp +475 -0
  60. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/predicate_facade.hpp +42 -0
  61. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/regex.hpp +646 -0
  62. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/regex_find_format.hpp +90 -0
  63. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/replace.hpp +1 -1
  64. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/sequence_traits.hpp +0 -73
  65. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/split.hpp +163 -0
  66. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std/list_traits.hpp +68 -0
  67. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std/rope_traits.hpp +81 -0
  68. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std/slist_traits.hpp +69 -0
  69. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std/string_traits.hpp +44 -0
  70. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/std_containers_traits.hpp +26 -0
  71. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/trim.hpp +398 -0
  72. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/trim_all.hpp +217 -0
  73. data/src/cxx_supportlib/vendor-modified/boost/align/align.hpp +20 -0
  74. data/src/cxx_supportlib/vendor-modified/boost/align/detail/address.hpp +29 -0
  75. data/src/cxx_supportlib/vendor-modified/boost/align/detail/align.hpp +40 -0
  76. data/src/cxx_supportlib/vendor-modified/boost/align/detail/align_cxx11.hpp +22 -0
  77. data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +29 -0
  78. data/src/cxx_supportlib/vendor-modified/boost/aligned_storage.hpp +1 -164
  79. data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +33 -84
  80. data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +1 -1
  81. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +83 -231
  82. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +33 -0
  83. data/src/cxx_supportlib/vendor-modified/boost/atomic/capabilities.hpp +161 -0
  84. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag.hpp +70 -0
  85. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_template.hpp +774 -0
  86. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +53 -0
  87. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_alpha.hpp +34 -0
  88. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_arm.hpp +56 -0
  89. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_atomic.hpp +134 -0
  90. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_ppc.hpp +36 -0
  91. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sparc.hpp +34 -0
  92. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sync.hpp +62 -0
  93. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_x86.hpp +52 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_linux_arm.hpp +35 -0
  95. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_msvc_arm.hpp +34 -0
  96. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_msvc_x86.hpp +50 -0
  97. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +57 -36
  98. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +140 -0
  99. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +297 -16
  100. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/link.hpp +58 -0
  101. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lockpool.hpp +30 -76
  102. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations.hpp +24 -0
  103. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_fwd.hpp +35 -0
  104. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_lockfree.hpp +30 -0
  105. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_cas_based.hpp +105 -0
  106. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_emulated.hpp +161 -0
  107. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_extending_cas_based.hpp +68 -0
  108. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_alpha.hpp +876 -0
  109. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm.hpp +973 -0
  110. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_atomic.hpp +395 -0
  111. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc.hpp +802 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sparc.hpp +240 -0
  113. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_sync.hpp +270 -0
  114. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86.hpp +514 -0
  115. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +616 -0
  116. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_linux_arm.hpp +178 -0
  117. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_arm.hpp +824 -0
  118. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_common.hpp +38 -0
  119. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_x86.hpp +928 -0
  120. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +43 -0
  121. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +91 -32
  122. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_type.hpp +280 -0
  123. data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +67 -0
  124. data/src/cxx_supportlib/vendor-modified/boost/bind.hpp +18 -1
  125. data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +74 -0
  126. data/src/cxx_supportlib/vendor-modified/boost/bind/arg.hpp +5 -5
  127. data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +507 -2
  128. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +214 -0
  129. data/src/cxx_supportlib/vendor-modified/boost/bind/make_adaptable.hpp +187 -0
  130. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_vw.hpp +130 -0
  131. data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +29 -36
  132. data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +304 -0
  133. data/src/cxx_supportlib/vendor-modified/boost/checked_delete.hpp +13 -65
  134. data/src/cxx_supportlib/vendor-modified/boost/chrono/config.hpp +9 -13
  135. data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +10 -4
  136. data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -2
  137. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/concept_def.hpp +0 -17
  138. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -1
  139. data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +0 -8
  140. data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +25 -26
  141. data/src/cxx_supportlib/vendor-modified/boost/config.hpp +9 -12
  142. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +17 -1
  143. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +36 -6
  144. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +135 -14
  145. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +41 -1
  146. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +48 -9
  147. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +33 -5
  148. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +36 -16
  149. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +121 -87
  150. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +39 -5
  151. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +13 -9
  152. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +327 -64
  153. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +44 -10
  154. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +38 -4
  155. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +0 -12
  156. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +36 -3
  157. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pgi.hpp +37 -1
  158. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +63 -23
  159. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +44 -13
  160. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +102 -128
  161. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +258 -0
  162. data/src/cxx_supportlib/vendor-modified/boost/config/platform/cloudabi.hpp +18 -0
  163. data/src/cxx_supportlib/vendor-modified/boost/config/platform/haiku.hpp +31 -0
  164. data/src/cxx_supportlib/vendor-modified/boost/config/platform/linux.hpp +2 -0
  165. data/src/cxx_supportlib/vendor-modified/boost/config/platform/macos.hpp +1 -1
  166. data/src/cxx_supportlib/vendor-modified/boost/config/platform/solaris.hpp +4 -1
  167. data/src/cxx_supportlib/vendor-modified/boost/config/select_compiler_config.hpp +43 -7
  168. data/src/cxx_supportlib/vendor-modified/boost/config/select_platform_config.hpp +32 -0
  169. data/src/cxx_supportlib/vendor-modified/boost/config/select_stdlib_config.hpp +28 -8
  170. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +58 -15
  171. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcomo.hpp +13 -2
  172. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +43 -0
  173. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +129 -14
  174. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/modena.hpp +13 -0
  175. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/msl.hpp +13 -9
  176. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/roguewave.hpp +12 -0
  177. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/sgi.hpp +14 -4
  178. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/stlport.hpp +13 -8
  179. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/vacpp.hpp +13 -3
  180. data/src/cxx_supportlib/vendor-modified/boost/config/suffix.hpp +159 -85
  181. data/src/cxx_supportlib/vendor-modified/boost/config/user.hpp +15 -6
  182. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +351 -0
  183. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +371 -0
  184. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +283 -213
  185. data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +195 -51
  186. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +840 -625
  187. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +166 -0
  188. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +24 -13
  189. data/src/cxx_supportlib/vendor-modified/boost/container/detail/addressof.hpp +41 -0
  190. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +289 -181
  191. data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +35 -0
  192. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +60 -0
  193. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +314 -0
  194. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocation_type.hpp +11 -7
  195. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +24 -25
  196. data/src/cxx_supportlib/vendor-modified/boost/container/detail/auto_link.hpp +51 -0
  197. data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_list.hpp +139 -0
  198. data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_slist.hpp +157 -0
  199. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +74 -0
  200. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +16 -14
  201. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_end.hpp +1 -5
  202. data/src/cxx_supportlib/vendor-modified/boost/container/detail/construct_in_place.hpp +62 -0
  203. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +1142 -0
  204. data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +61 -48
  205. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +293 -0
  206. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dlmalloc.hpp +103 -0
  207. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +335 -408
  208. data/src/cxx_supportlib/vendor-modified/boost/container/detail/function_detector.hpp +9 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/container/detail/hash_table.hpp +383 -0
  210. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +40 -0
  211. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator_to_raw_pointer.hpp +58 -0
  212. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +300 -83
  213. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +13 -3
  214. data/src/cxx_supportlib/vendor-modified/boost/container/detail/min_max.hpp +37 -0
  215. data/src/cxx_supportlib/vendor-modified/boost/container/detail/minimal_char_traits_header.hpp +32 -0
  216. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +45 -118
  217. data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +22 -10
  218. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +288 -0
  219. data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +75 -0
  220. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +115 -109
  221. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +157 -0
  222. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +33 -23
  223. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +62 -89
  224. data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +30 -0
  225. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common.hpp +11 -6
  226. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +102 -0
  227. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_resource.hpp +191 -0
  228. data/src/cxx_supportlib/vendor-modified/boost/container/detail/singleton.hpp +121 -0
  229. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +56 -0
  230. data/src/cxx_supportlib/vendor-modified/boost/container/detail/to_raw_pointer.hpp +33 -0
  231. data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +17 -13
  232. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +646 -595
  233. data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +44 -184
  234. data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +7 -3
  235. data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +9 -4
  236. data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +23 -5
  237. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +50 -15
  238. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +627 -287
  239. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +608 -657
  240. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +395 -376
  241. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +616 -625
  242. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +179 -0
  243. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +344 -0
  244. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +80 -0
  245. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/deque.hpp +43 -0
  246. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_map.hpp +63 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_set.hpp +59 -0
  248. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/global_resource.hpp +66 -0
  249. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/list.hpp +43 -0
  250. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/map.hpp +63 -0
  251. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +101 -0
  252. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +180 -0
  253. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +166 -0
  254. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/pool_options.hpp +52 -0
  255. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +193 -0
  256. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/set.hpp +59 -0
  257. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/slist.hpp +43 -0
  258. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/small_vector.hpp +43 -0
  259. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/stable_vector.hpp +43 -0
  260. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/string.hpp +48 -0
  261. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +138 -0
  262. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/unsynchronized_pool_resource.hpp +194 -0
  263. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/vector.hpp +43 -0
  264. data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +423 -1019
  265. data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator_fwd.hpp +23 -35
  266. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +520 -626
  267. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +416 -407
  268. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +574 -0
  269. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +711 -470
  270. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +314 -145
  271. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +477 -282
  272. data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +63 -3
  273. data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +169 -0
  274. data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_fwd.hpp +73 -0
  275. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +1660 -945
  276. data/src/cxx_supportlib/vendor-modified/boost/core/addressof.hpp +162 -0
  277. data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +69 -0
  278. data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +128 -0
  279. data/src/cxx_supportlib/vendor-modified/boost/core/enable_if.hpp +128 -0
  280. data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +154 -0
  281. data/src/cxx_supportlib/vendor-modified/boost/core/ignore_unused.hpp +70 -0
  282. data/src/cxx_supportlib/vendor-modified/boost/core/is_same.hpp +40 -0
  283. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +171 -0
  284. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +56 -0
  285. data/src/cxx_supportlib/vendor-modified/boost/core/no_exceptions_support.hpp +44 -0
  286. data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +48 -0
  287. data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +44 -0
  288. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +301 -0
  289. data/src/cxx_supportlib/vendor-modified/boost/{detail/scoped_enum_emulation.hpp → core/scoped_enum.hpp} +19 -164
  290. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +60 -0
  291. data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +151 -0
  292. data/src/cxx_supportlib/vendor-modified/boost/core/underlying_type.hpp +79 -0
  293. data/src/cxx_supportlib/vendor-modified/boost/cstdint.hpp +132 -95
  294. data/src/cxx_supportlib/vendor-modified/boost/current_function.hpp +8 -5
  295. data/src/cxx_supportlib/vendor-modified/boost/date_time/adjust_functors.hpp +1 -1
  296. data/src/cxx_supportlib/vendor-modified/boost/date_time/c_local_time_adjustor.hpp +69 -0
  297. data/src/cxx_supportlib/vendor-modified/boost/date_time/c_time.hpp +3 -3
  298. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +1 -1
  299. data/src/cxx_supportlib/vendor-modified/boost/date_time/constrained_value.hpp +1 -1
  300. data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +3 -3
  301. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_clock_device.hpp +7 -7
  302. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_defs.hpp +1 -1
  303. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration.hpp +1 -1
  304. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration_types.hpp +1 -1
  305. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_facet.hpp +1 -1
  306. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_format_simple.hpp +1 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting.hpp +1 -1
  308. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting_limited.hpp +1 -1
  309. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_formatting_locales.hpp +1 -1
  310. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_generator_formatter.hpp +1 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_generator_parser.hpp +1 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_generators.hpp +1 -1
  313. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_iterator.hpp +1 -1
  314. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_names_put.hpp +1 -1
  315. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_parsing.hpp +1 -3
  316. data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_rules.hpp +1 -1
  317. data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_transition_generators.hpp +75 -0
  318. data/src/cxx_supportlib/vendor-modified/boost/date_time/filetime_functions.hpp +1 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/date_time/format_date_parser.hpp +11 -7
  320. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/conversion.hpp +1 -1
  321. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters.hpp +1 -1
  322. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/formatters_limited.hpp +1 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_calendar.hpp +1 -1
  324. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +1 -1
  325. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day.hpp +1 -1
  326. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day_of_year.hpp +1 -1
  327. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration.hpp +1 -1
  328. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration_types.hpp +1 -1
  329. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_facet.hpp +352 -0
  330. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_month.hpp +1 -1
  331. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_serialize.hpp +517 -0
  332. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_weekday.hpp +1 -1
  333. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_year.hpp +1 -1
  334. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_ymd.hpp +1 -1
  335. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/gregorian.hpp +1 -1
  336. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/gregorian_io.hpp +1 -1
  337. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/gregorian_types.hpp +1 -1
  338. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/parsers.hpp +1 -1
  339. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.hpp +1 -1
  340. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.ipp +6 -6
  341. data/src/cxx_supportlib/vendor-modified/boost/date_time/int_adapter.hpp +3 -3
  342. data/src/cxx_supportlib/vendor-modified/boost/date_time/iso_format.hpp +1 -1
  343. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/conversion.hpp +34 -0
  344. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/custom_time_zone.hpp +169 -0
  345. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/date_duration_operators.hpp +115 -0
  346. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/dst_transition_day_rules.hpp +77 -0
  347. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_date_time.hpp +528 -0
  348. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_time.hpp +24 -0
  349. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_time_io.hpp +184 -0
  350. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_time_types.hpp +52 -0
  351. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/posix_time_zone.hpp +474 -0
  352. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/tz_database.hpp +32 -0
  353. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time_adjustor.hpp +218 -0
  354. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_timezone_defs.hpp +193 -0
  355. data/src/cxx_supportlib/vendor-modified/boost/date_time/locale_config.hpp +1 -1
  356. data/src/cxx_supportlib/vendor-modified/boost/date_time/microsec_time_clock.hpp +2 -2
  357. data/src/cxx_supportlib/vendor-modified/boost/date_time/parse_format_base.hpp +1 -1
  358. data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +1 -1
  359. data/src/cxx_supportlib/vendor-modified/boost/date_time/period_formatter.hpp +1 -1
  360. data/src/cxx_supportlib/vendor-modified/boost/date_time/period_parser.hpp +1 -1
  361. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/conversion.hpp +9 -1
  362. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/date_duration_operators.hpp +1 -1
  363. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time.hpp +1 -1
  364. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_config.hpp +1 -1
  365. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +4 -4
  366. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_io.hpp +1 -4
  367. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_legacy_io.hpp +153 -0
  368. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_system.hpp +1 -1
  369. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/ptime.hpp +1 -1
  370. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters.hpp +1 -1
  371. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_formatters_limited.hpp +212 -0
  372. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +1 -1
  373. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_period.hpp +1 -1
  374. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_serialize.hpp +201 -0
  375. data/src/cxx_supportlib/vendor-modified/boost/date_time/special_defs.hpp +1 -1
  376. data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_formatter.hpp +1 -1
  377. data/src/cxx_supportlib/vendor-modified/boost/date_time/string_convert.hpp +1 -2
  378. data/src/cxx_supportlib/vendor-modified/boost/date_time/string_parse_tree.hpp +1 -1
  379. data/src/cxx_supportlib/vendor-modified/boost/date_time/strings_from_facet.hpp +1 -3
  380. data/src/cxx_supportlib/vendor-modified/boost/date_time/time.hpp +3 -1
  381. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_clock.hpp +1 -1
  382. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_defs.hpp +1 -1
  383. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +3 -1
  384. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +3 -3
  385. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_formatting_streams.hpp +1 -1
  386. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_iterator.hpp +1 -1
  387. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +1 -1
  388. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_resolution_traits.hpp +6 -6
  389. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_counted.hpp +2 -2
  390. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_split.hpp +1 -1
  391. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_base.hpp +99 -0
  392. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_names.hpp +98 -0
  393. data/src/cxx_supportlib/vendor-modified/boost/date_time/tz_db_base.hpp +396 -0
  394. data/src/cxx_supportlib/vendor-modified/boost/date_time/wrapping_int.hpp +1 -1
  395. data/src/cxx_supportlib/vendor-modified/boost/date_time/year_month_day.hpp +1 -1
  396. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +139 -0
  397. data/src/cxx_supportlib/vendor-modified/boost/detail/container_fwd.hpp +1 -6
  398. data/src/cxx_supportlib/vendor-modified/boost/detail/endian.hpp +3 -118
  399. data/src/cxx_supportlib/vendor-modified/boost/detail/fenv.hpp +30 -3
  400. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -283
  401. data/src/cxx_supportlib/vendor-modified/boost/detail/iterator.hpp +9 -477
  402. data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +12 -82
  403. data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +0 -21
  404. data/src/cxx_supportlib/vendor-modified/boost/detail/sp_typeinfo.hpp +8 -107
  405. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +10 -1
  406. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +8 -3
  407. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +7 -9
  408. data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +2 -2
  409. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +16 -0
  410. data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +11 -12
  411. data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +37 -0
  412. data/src/cxx_supportlib/vendor-modified/boost/function/function0.hpp +12 -0
  413. data/src/cxx_supportlib/vendor-modified/boost/function/function1.hpp +12 -0
  414. data/src/cxx_supportlib/vendor-modified/boost/function/function10.hpp +12 -0
  415. data/src/cxx_supportlib/vendor-modified/boost/function/function2.hpp +12 -0
  416. data/src/cxx_supportlib/vendor-modified/boost/function/function3.hpp +12 -0
  417. data/src/cxx_supportlib/vendor-modified/boost/function/function4.hpp +12 -0
  418. data/src/cxx_supportlib/vendor-modified/boost/function/function5.hpp +12 -0
  419. data/src/cxx_supportlib/vendor-modified/boost/function/function6.hpp +12 -0
  420. data/src/cxx_supportlib/vendor-modified/boost/function/function7.hpp +12 -0
  421. data/src/cxx_supportlib/vendor-modified/boost/function/function8.hpp +12 -0
  422. data/src/cxx_supportlib/vendor-modified/boost/function/function9.hpp +12 -0
  423. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +6 -24
  424. data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +1 -2
  425. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +35 -30
  426. data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +45 -0
  427. data/src/cxx_supportlib/vendor-modified/boost/function/gen_function_N.pl +26 -0
  428. data/src/cxx_supportlib/vendor-modified/boost/functional/hash/detail/float_functions.hpp +4 -4
  429. data/src/cxx_supportlib/vendor-modified/boost/functional/hash/detail/hash_float.hpp +22 -28
  430. data/src/cxx_supportlib/vendor-modified/boost/functional/hash/detail/limits.hpp +3 -2
  431. data/src/cxx_supportlib/vendor-modified/boost/functional/hash/extensions.hpp +5 -66
  432. data/src/cxx_supportlib/vendor-modified/boost/functional/hash/hash.hpp +77 -48
  433. data/src/cxx_supportlib/vendor-modified/boost/functional/hash/hash_fwd.hpp +3 -7
  434. data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +5 -1
  435. data/src/cxx_supportlib/vendor-modified/boost/get_pointer.hpp +28 -0
  436. data/src/cxx_supportlib/vendor-modified/boost/integer.hpp +25 -24
  437. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_ct.hpp +102 -0
  438. data/src/cxx_supportlib/vendor-modified/boost/integer_fwd.hpp +23 -0
  439. data/src/cxx_supportlib/vendor-modified/boost/integer_traits.hpp +1 -6
  440. data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +47 -55
  441. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +655 -2197
  442. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set_hook.hpp +16 -22
  443. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +376 -1605
  444. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +329 -601
  445. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +982 -0
  446. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set_hook.hpp +17 -27
  447. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +2101 -0
  448. data/src/cxx_supportlib/vendor-modified/boost/intrusive/{detail/tree_algorithms.hpp → bstree_algorithms.hpp} +973 -684
  449. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +121 -66
  450. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +30 -28
  451. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +22 -15
  452. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algo_type.hpp +50 -0
  453. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/algorithm.hpp +90 -0
  454. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +48 -61
  455. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/array_initializer.hpp +95 -0
  456. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/assert.hpp +6 -2
  457. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +19 -24
  458. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +184 -0
  459. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +104 -8
  460. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +2 -3
  461. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_end.hpp +1 -1
  462. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +69 -0
  463. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +235 -39
  464. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/empty_node_checker.hpp +44 -0
  465. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +48 -0
  466. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +88 -0
  467. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/function_detector.hpp +8 -4
  468. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +107 -95
  469. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/get_value_traits.hpp +222 -0
  470. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/has_member_function_callable_with.hpp +279 -296
  471. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +122 -85
  472. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +186 -0
  473. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +121 -0
  474. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/is_stateful_value_traits.hpp +9 -5
  475. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +155 -0
  476. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +99 -0
  477. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +133 -0
  478. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +14 -139
  479. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +295 -0
  480. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/minimal_less_equal_header.hpp +30 -0
  481. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/minimal_pair_header.hpp +30 -0
  482. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +160 -337
  483. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +105 -0
  484. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_holder.hpp +35 -0
  485. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_to_value.hpp +130 -0
  486. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +34 -11
  487. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/pointer_element.hpp +168 -0
  488. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +22 -19
  489. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/reverse_iterator.hpp +144 -0
  490. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +50 -0
  491. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +84 -0
  492. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +124 -0
  493. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +14 -117
  494. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/std_fwd.hpp +43 -0
  495. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/to_raw_pointer.hpp +46 -0
  496. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +18 -20
  497. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +171 -0
  498. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +13 -133
  499. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +89 -0
  500. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/uncast.hpp +55 -0
  501. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +22 -6
  502. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +2006 -1615
  503. data/src/cxx_supportlib/vendor-modified/boost/intrusive/intrusive_fwd.hpp +450 -229
  504. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +17 -2
  505. data/src/cxx_supportlib/vendor-modified/boost/intrusive/link_mode.hpp +21 -4
  506. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +253 -282
  507. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +17 -20
  508. data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +21 -7
  509. data/src/cxx_supportlib/vendor-modified/boost/intrusive/options.hpp +94 -648
  510. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +374 -0
  511. data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +10 -4
  512. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +16 -8
  513. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +188 -0
  514. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +97 -44
  515. data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +29 -4
  516. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +366 -1592
  517. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +297 -639
  518. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +619 -2187
  519. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +16 -22
  520. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +661 -2252
  521. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +468 -1493
  522. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +163 -594
  523. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +326 -307
  524. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +16 -21
  525. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +686 -2238
  526. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +425 -1575
  527. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +422 -703
  528. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +440 -1122
  529. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +158 -406
  530. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +558 -2257
  531. data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +14 -2
  532. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +476 -1611
  533. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +36 -27
  534. data/src/cxx_supportlib/vendor-modified/boost/iterator.hpp +3 -42
  535. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +4 -13
  536. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +0 -1
  537. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +2 -5
  538. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +15 -22
  539. data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +8 -4
  540. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +59 -64
  541. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +77 -50
  542. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +13 -22
  543. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +318 -212
  544. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +17 -49
  545. data/src/cxx_supportlib/vendor-modified/boost/iterator/{detail/minimum_category.hpp → minimum_category.hpp} +24 -45
  546. data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +10 -5
  547. data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +17 -18
  548. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +29 -2649
  549. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +101 -0
  550. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +498 -0
  551. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +787 -0
  552. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +194 -0
  553. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +197 -0
  554. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +58 -0
  555. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +46 -0
  556. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +294 -0
  557. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +40 -0
  558. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +212 -0
  559. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/c_regex_traits.cpp +24 -11
  560. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cpp_regex_traits.cpp +3 -3
  561. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +40 -40
  562. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +14 -17
  563. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +3 -3
  564. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_raw_buffer.cpp +3 -3
  565. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_traits_defaults.cpp +2 -2
  566. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +8 -4
  567. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wc_regex_traits.cpp +24 -11
  568. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +11 -14
  569. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +3 -420
  570. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +2 -1
  571. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once.cpp +3 -5
  572. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +0 -6
  573. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +173 -77
  574. data/src/cxx_supportlib/vendor-modified/boost/math/policies/policy.hpp +83 -33
  575. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +11 -1
  576. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/fpclassify.hpp +42 -12
  577. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +196 -18
  578. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/sign.hpp +52 -8
  579. data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +111 -13
  580. data/src/cxx_supportlib/vendor-modified/boost/math/tools/promotion.hpp +40 -8
  581. data/src/cxx_supportlib/vendor-modified/boost/math/tools/real_cast.hpp +3 -1
  582. data/src/cxx_supportlib/vendor-modified/boost/math/tools/user.hpp +8 -0
  583. data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +9 -5
  584. data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +233 -0
  585. data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +10 -3
  586. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +223 -54
  587. data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +201 -0
  588. data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +6 -10
  589. data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_end.hpp +2 -10
  590. data/src/cxx_supportlib/vendor-modified/boost/move/detail/fwd_macros.hpp +661 -0
  591. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +73 -0
  592. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +468 -62
  593. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +120 -0
  594. data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +206 -129
  595. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +30 -0
  596. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_end.hpp +14 -0
  597. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +1078 -0
  598. data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +591 -0
  599. data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +55 -0
  600. data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +33 -19
  601. data/src/cxx_supportlib/vendor-modified/boost/move/make_unique.hpp +237 -0
  602. data/src/cxx_supportlib/vendor-modified/boost/move/move.hpp +9 -1
  603. data/src/cxx_supportlib/vendor-modified/boost/move/traits.hpp +30 -95
  604. data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +871 -0
  605. data/src/cxx_supportlib/vendor-modified/boost/move/utility.hpp +53 -98
  606. data/src/cxx_supportlib/vendor-modified/boost/move/utility_core.hpp +317 -0
  607. data/src/cxx_supportlib/vendor-modified/boost/mpl/O1_size.hpp +3 -3
  608. data/src/cxx_supportlib/vendor-modified/boost/mpl/O1_size_fwd.hpp +3 -3
  609. data/src/cxx_supportlib/vendor-modified/boost/mpl/accumulate.hpp +3 -3
  610. data/src/cxx_supportlib/vendor-modified/boost/mpl/advance.hpp +3 -3
  611. data/src/cxx_supportlib/vendor-modified/boost/mpl/advance_fwd.hpp +3 -3
  612. data/src/cxx_supportlib/vendor-modified/boost/mpl/alias.hpp +3 -3
  613. data/src/cxx_supportlib/vendor-modified/boost/mpl/always.hpp +6 -7
  614. data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +5 -5
  615. data/src/cxx_supportlib/vendor-modified/boost/mpl/apply.hpp +3 -3
  616. data/src/cxx_supportlib/vendor-modified/boost/mpl/apply_fwd.hpp +3 -3
  617. data/src/cxx_supportlib/vendor-modified/boost/mpl/apply_wrap.hpp +3 -3
  618. data/src/cxx_supportlib/vendor-modified/boost/mpl/arg.hpp +3 -3
  619. data/src/cxx_supportlib/vendor-modified/boost/mpl/arg_fwd.hpp +3 -3
  620. data/src/cxx_supportlib/vendor-modified/boost/mpl/arithmetic.hpp +3 -3
  621. data/src/cxx_supportlib/vendor-modified/boost/mpl/as_sequence.hpp +3 -3
  622. data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +6 -5
  623. data/src/cxx_supportlib/vendor-modified/boost/mpl/at.hpp +3 -3
  624. data/src/cxx_supportlib/vendor-modified/boost/mpl/at_fwd.hpp +3 -3
  625. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/O1_size_impl.hpp +3 -3
  626. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/adl_barrier.hpp +3 -3
  627. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/advance_backward.hpp +3 -3
  628. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/advance_forward.hpp +3 -3
  629. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/apply_1st.hpp +3 -3
  630. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/arg_typedef.hpp +3 -3
  631. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/arithmetic_op.hpp +3 -3
  632. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/arity.hpp +3 -3
  633. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/arity_spec.hpp +3 -3
  634. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/at_impl.hpp +3 -3
  635. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/back_impl.hpp +3 -3
  636. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/basic_bind.hpp +3 -3
  637. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/begin_end_impl.hpp +3 -3
  638. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/clear_impl.hpp +3 -3
  639. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/common_name_wknd.hpp +3 -3
  640. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/comparison_op.hpp +3 -3
  641. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/adl.hpp +3 -3
  642. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/arrays.hpp +3 -3
  643. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bcc.hpp +1 -1
  644. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bind.hpp +3 -3
  645. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/compiler.hpp +3 -3
  646. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ctps.hpp +3 -3
  647. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/dependent_nttp.hpp +3 -3
  648. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp +3 -3
  649. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/dtp.hpp +3 -3
  650. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/eti.hpp +3 -3
  651. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/forwarding.hpp +3 -3
  652. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/gcc.hpp +3 -3
  653. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/gpu.hpp +35 -0
  654. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/has_apply.hpp +3 -3
  655. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/has_xxx.hpp +3 -3
  656. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/integral.hpp +3 -3
  657. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/intel.hpp +3 -3
  658. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/lambda.hpp +3 -3
  659. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/msvc.hpp +3 -3
  660. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/msvc_typename.hpp +3 -3
  661. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/nttp.hpp +3 -3
  662. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/operators.hpp +4 -3
  663. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/overload_resolution.hpp +3 -3
  664. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/pp_counter.hpp +3 -3
  665. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/preprocessor.hpp +3 -3
  666. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/static_constant.hpp +3 -3
  667. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ttp.hpp +3 -3
  668. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/typeof.hpp +3 -3
  669. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/use_preprocessed.hpp +3 -3
  670. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/workaround.hpp +3 -3
  671. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/contains_impl.hpp +3 -3
  672. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/count_args.hpp +3 -3
  673. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/count_impl.hpp +3 -3
  674. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/empty_impl.hpp +3 -3
  675. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/erase_impl.hpp +3 -3
  676. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/erase_key_impl.hpp +3 -3
  677. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/filter_iter.hpp +3 -3
  678. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_impl.hpp +3 -3
  679. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_impl_body.hpp +3 -3
  680. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_op.hpp +3 -3
  681. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_pred.hpp +3 -3
  682. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/front_impl.hpp +3 -3
  683. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/full_lambda.hpp +3 -3
  684. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_apply.hpp +3 -3
  685. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_begin.hpp +3 -3
  686. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_key_impl.hpp +3 -3
  687. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_rebind.hpp +3 -3
  688. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_size.hpp +3 -3
  689. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_tag.hpp +3 -3
  690. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_type.hpp +3 -3
  691. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/include_preprocessed.hpp +3 -3
  692. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/insert_impl.hpp +3 -3
  693. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/insert_range_impl.hpp +22 -19
  694. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/inserter_algorithm.hpp +3 -3
  695. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/integral_wrapper.hpp +4 -4
  696. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/is_msvc_eti_arg.hpp +3 -3
  697. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/iter_apply.hpp +3 -3
  698. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/iter_fold_if_impl.hpp +3 -3
  699. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/iter_fold_impl.hpp +3 -3
  700. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/iter_push_front.hpp +3 -3
  701. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/joint_iter.hpp +3 -3
  702. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_arity_param.hpp +3 -3
  703. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_no_ctps.hpp +3 -3
  704. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_spec.hpp +3 -3
  705. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_support.hpp +3 -3
  706. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/largest_int.hpp +3 -3
  707. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/logical_op.hpp +3 -3
  708. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_dtw.hpp +3 -3
  709. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_eti_base.hpp +3 -3
  710. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_is_class.hpp +3 -3
  711. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_never_true.hpp +3 -3
  712. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/msvc_type.hpp +3 -3
  713. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na.hpp +3 -3
  714. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +3 -3
  715. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_fwd.hpp +3 -3
  716. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_spec.hpp +3 -3
  717. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/nested_type_wknd.hpp +3 -3
  718. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/nttp_decl.hpp +3 -3
  719. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/numeric_cast_utils.hpp +3 -3
  720. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/numeric_op.hpp +3 -3
  721. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/order_impl.hpp +3 -3
  722. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/overload_names.hpp +3 -3
  723. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/partition_op.hpp +3 -3
  724. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/pop_back_impl.hpp +3 -3
  725. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/pop_front_impl.hpp +3 -3
  726. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/add.hpp +3 -3
  727. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/def_params_tail.hpp +3 -3
  728. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/default_params.hpp +3 -3
  729. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/enum.hpp +3 -3
  730. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/ext_params.hpp +3 -3
  731. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/filter_params.hpp +3 -3
  732. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/is_seq.hpp +3 -3
  733. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/params.hpp +3 -3
  734. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/partial_spec_params.hpp +3 -3
  735. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/range.hpp +11 -4
  736. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/repeat.hpp +3 -3
  737. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/sub.hpp +3 -3
  738. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/token_equal.hpp +3 -3
  739. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/tuple.hpp +3 -3
  740. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +3 -3
  741. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/push_back_impl.hpp +3 -3
  742. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/push_front_impl.hpp +3 -3
  743. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/O1_size.hpp +3 -3
  744. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/back.hpp +3 -3
  745. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/empty.hpp +3 -3
  746. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/front.hpp +3 -3
  747. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/iterator.hpp +3 -3
  748. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/size.hpp +3 -3
  749. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/range_c/tag.hpp +3 -3
  750. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/reverse_fold_impl.hpp +3 -3
  751. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/reverse_fold_impl_body.hpp +3 -3
  752. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/reverse_iter_fold_impl.hpp +3 -3
  753. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/sequence_wrapper.hpp +3 -3
  754. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/shift_op.hpp +3 -3
  755. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/single_element_iter.hpp +3 -3
  756. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/size_impl.hpp +3 -3
  757. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/sort_impl.hpp +3 -3
  758. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/static_cast.hpp +3 -3
  759. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/template_arity.hpp +3 -3
  760. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/template_arity_fwd.hpp +3 -3
  761. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/test.hpp +3 -3
  762. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/test/assert.hpp +3 -3
  763. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/test/data.hpp +3 -3
  764. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/test/test_case.hpp +3 -3
  765. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/traits_lambda_spec.hpp +3 -3
  766. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/transform_iter.hpp +3 -3
  767. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/type_wrapper.hpp +3 -3
  768. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/unwrap.hpp +7 -3
  769. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/value_wknd.hpp +3 -3
  770. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/yes_no.hpp +3 -3
  771. data/src/cxx_supportlib/vendor-modified/boost/mpl/back.hpp +3 -3
  772. data/src/cxx_supportlib/vendor-modified/boost/mpl/back_fwd.hpp +3 -3
  773. data/src/cxx_supportlib/vendor-modified/boost/mpl/back_inserter.hpp +3 -3
  774. data/src/cxx_supportlib/vendor-modified/boost/mpl/base.hpp +3 -3
  775. data/src/cxx_supportlib/vendor-modified/boost/mpl/begin.hpp +3 -3
  776. data/src/cxx_supportlib/vendor-modified/boost/mpl/begin_end.hpp +3 -3
  777. data/src/cxx_supportlib/vendor-modified/boost/mpl/begin_end_fwd.hpp +3 -3
  778. data/src/cxx_supportlib/vendor-modified/boost/mpl/bind.hpp +3 -3
  779. data/src/cxx_supportlib/vendor-modified/boost/mpl/bind_fwd.hpp +3 -3
  780. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +5 -5
  781. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +5 -5
  782. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitwise.hpp +3 -3
  783. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitxor.hpp +3 -3
  784. data/src/cxx_supportlib/vendor-modified/boost/mpl/bool.hpp +4 -4
  785. data/src/cxx_supportlib/vendor-modified/boost/mpl/bool_fwd.hpp +3 -3
  786. data/src/cxx_supportlib/vendor-modified/boost/mpl/clear.hpp +3 -3
  787. data/src/cxx_supportlib/vendor-modified/boost/mpl/clear_fwd.hpp +3 -3
  788. data/src/cxx_supportlib/vendor-modified/boost/mpl/comparison.hpp +3 -3
  789. data/src/cxx_supportlib/vendor-modified/boost/mpl/contains.hpp +3 -3
  790. data/src/cxx_supportlib/vendor-modified/boost/mpl/contains_fwd.hpp +3 -3
  791. data/src/cxx_supportlib/vendor-modified/boost/mpl/copy.hpp +3 -3
  792. data/src/cxx_supportlib/vendor-modified/boost/mpl/copy_if.hpp +3 -3
  793. data/src/cxx_supportlib/vendor-modified/boost/mpl/count.hpp +3 -3
  794. data/src/cxx_supportlib/vendor-modified/boost/mpl/count_fwd.hpp +3 -3
  795. data/src/cxx_supportlib/vendor-modified/boost/mpl/count_if.hpp +3 -3
  796. data/src/cxx_supportlib/vendor-modified/boost/mpl/deque.hpp +3 -3
  797. data/src/cxx_supportlib/vendor-modified/boost/mpl/deref.hpp +3 -3
  798. data/src/cxx_supportlib/vendor-modified/boost/mpl/distance.hpp +3 -3
  799. data/src/cxx_supportlib/vendor-modified/boost/mpl/distance_fwd.hpp +3 -3
  800. data/src/cxx_supportlib/vendor-modified/boost/mpl/divides.hpp +3 -3
  801. data/src/cxx_supportlib/vendor-modified/boost/mpl/empty.hpp +3 -3
  802. data/src/cxx_supportlib/vendor-modified/boost/mpl/empty_base.hpp +13 -9
  803. data/src/cxx_supportlib/vendor-modified/boost/mpl/empty_fwd.hpp +3 -3
  804. data/src/cxx_supportlib/vendor-modified/boost/mpl/empty_sequence.hpp +5 -4
  805. data/src/cxx_supportlib/vendor-modified/boost/mpl/end.hpp +3 -3
  806. data/src/cxx_supportlib/vendor-modified/boost/mpl/equal.hpp +3 -3
  807. data/src/cxx_supportlib/vendor-modified/boost/mpl/equal_to.hpp +3 -3
  808. data/src/cxx_supportlib/vendor-modified/boost/mpl/erase.hpp +3 -3
  809. data/src/cxx_supportlib/vendor-modified/boost/mpl/erase_fwd.hpp +3 -3
  810. data/src/cxx_supportlib/vendor-modified/boost/mpl/erase_key.hpp +3 -3
  811. data/src/cxx_supportlib/vendor-modified/boost/mpl/erase_key_fwd.hpp +3 -3
  812. data/src/cxx_supportlib/vendor-modified/boost/mpl/eval_if.hpp +6 -6
  813. data/src/cxx_supportlib/vendor-modified/boost/mpl/filter_view.hpp +3 -3
  814. data/src/cxx_supportlib/vendor-modified/boost/mpl/find.hpp +3 -3
  815. data/src/cxx_supportlib/vendor-modified/boost/mpl/find_if.hpp +3 -3
  816. data/src/cxx_supportlib/vendor-modified/boost/mpl/fold.hpp +3 -3
  817. data/src/cxx_supportlib/vendor-modified/boost/mpl/for_each.hpp +11 -4
  818. data/src/cxx_supportlib/vendor-modified/boost/mpl/front.hpp +3 -3
  819. data/src/cxx_supportlib/vendor-modified/boost/mpl/front_fwd.hpp +3 -3
  820. data/src/cxx_supportlib/vendor-modified/boost/mpl/front_inserter.hpp +3 -3
  821. data/src/cxx_supportlib/vendor-modified/boost/mpl/greater.hpp +3 -3
  822. data/src/cxx_supportlib/vendor-modified/boost/mpl/greater_equal.hpp +3 -3
  823. data/src/cxx_supportlib/vendor-modified/boost/mpl/has_key.hpp +3 -3
  824. data/src/cxx_supportlib/vendor-modified/boost/mpl/has_key_fwd.hpp +3 -3
  825. data/src/cxx_supportlib/vendor-modified/boost/mpl/has_xxx.hpp +12 -5
  826. data/src/cxx_supportlib/vendor-modified/boost/mpl/identity.hpp +3 -3
  827. data/src/cxx_supportlib/vendor-modified/boost/mpl/if.hpp +3 -3
  828. data/src/cxx_supportlib/vendor-modified/boost/mpl/index_if.hpp +3 -3
  829. data/src/cxx_supportlib/vendor-modified/boost/mpl/index_of.hpp +3 -3
  830. data/src/cxx_supportlib/vendor-modified/boost/mpl/inherit.hpp +3 -3
  831. data/src/cxx_supportlib/vendor-modified/boost/mpl/inherit_linearly.hpp +3 -3
  832. data/src/cxx_supportlib/vendor-modified/boost/mpl/insert.hpp +3 -3
  833. data/src/cxx_supportlib/vendor-modified/boost/mpl/insert_fwd.hpp +3 -3
  834. data/src/cxx_supportlib/vendor-modified/boost/mpl/insert_range.hpp +3 -3
  835. data/src/cxx_supportlib/vendor-modified/boost/mpl/insert_range_fwd.hpp +3 -3
  836. data/src/cxx_supportlib/vendor-modified/boost/mpl/inserter.hpp +3 -3
  837. data/src/cxx_supportlib/vendor-modified/boost/mpl/int.hpp +3 -3
  838. data/src/cxx_supportlib/vendor-modified/boost/mpl/int_fwd.hpp +3 -3
  839. data/src/cxx_supportlib/vendor-modified/boost/mpl/integral_c.hpp +3 -3
  840. data/src/cxx_supportlib/vendor-modified/boost/mpl/integral_c_fwd.hpp +3 -3
  841. data/src/cxx_supportlib/vendor-modified/boost/mpl/integral_c_tag.hpp +3 -3
  842. data/src/cxx_supportlib/vendor-modified/boost/mpl/is_placeholder.hpp +3 -3
  843. data/src/cxx_supportlib/vendor-modified/boost/mpl/is_sequence.hpp +3 -3
  844. data/src/cxx_supportlib/vendor-modified/boost/mpl/iter_fold.hpp +3 -3
  845. data/src/cxx_supportlib/vendor-modified/boost/mpl/iter_fold_if.hpp +3 -3
  846. data/src/cxx_supportlib/vendor-modified/boost/mpl/iterator_category.hpp +3 -3
  847. data/src/cxx_supportlib/vendor-modified/boost/mpl/iterator_range.hpp +3 -3
  848. data/src/cxx_supportlib/vendor-modified/boost/mpl/iterator_tags.hpp +3 -3
  849. data/src/cxx_supportlib/vendor-modified/boost/mpl/joint_view.hpp +3 -3
  850. data/src/cxx_supportlib/vendor-modified/boost/mpl/key_type.hpp +3 -3
  851. data/src/cxx_supportlib/vendor-modified/boost/mpl/key_type_fwd.hpp +3 -3
  852. data/src/cxx_supportlib/vendor-modified/boost/mpl/lambda.hpp +3 -3
  853. data/src/cxx_supportlib/vendor-modified/boost/mpl/lambda_fwd.hpp +3 -3
  854. data/src/cxx_supportlib/vendor-modified/boost/mpl/less.hpp +3 -3
  855. data/src/cxx_supportlib/vendor-modified/boost/mpl/less_equal.hpp +3 -3
  856. data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/arity.hpp +3 -3
  857. data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/list.hpp +3 -3
  858. data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/map.hpp +3 -3
  859. data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/set.hpp +3 -3
  860. data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/unrolling.hpp +3 -3
  861. data/src/cxx_supportlib/vendor-modified/boost/mpl/limits/vector.hpp +3 -3
  862. data/src/cxx_supportlib/vendor-modified/boost/mpl/list.hpp +3 -3
  863. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/O1_size.hpp +3 -3
  864. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/begin_end.hpp +3 -3
  865. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/clear.hpp +3 -3
  866. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/empty.hpp +3 -3
  867. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/front.hpp +3 -3
  868. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/include_preprocessed.hpp +3 -3
  869. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/item.hpp +3 -3
  870. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/iterator.hpp +3 -3
  871. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/numbered.hpp +3 -3
  872. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/numbered_c.hpp +3 -3
  873. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/pop_front.hpp +3 -3
  874. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/push_back.hpp +3 -3
  875. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/push_front.hpp +3 -3
  876. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/size.hpp +3 -3
  877. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/aux_/tag.hpp +3 -3
  878. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list0.hpp +3 -3
  879. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list0_c.hpp +3 -3
  880. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list10.hpp +3 -3
  881. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list10_c.hpp +3 -3
  882. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list20.hpp +3 -3
  883. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list20_c.hpp +3 -3
  884. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list30.hpp +3 -3
  885. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list30_c.hpp +3 -3
  886. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list40.hpp +3 -3
  887. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list40_c.hpp +3 -3
  888. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list50.hpp +3 -3
  889. data/src/cxx_supportlib/vendor-modified/boost/mpl/list/list50_c.hpp +3 -3
  890. data/src/cxx_supportlib/vendor-modified/boost/mpl/list_c.hpp +3 -3
  891. data/src/cxx_supportlib/vendor-modified/boost/mpl/logical.hpp +3 -3
  892. data/src/cxx_supportlib/vendor-modified/boost/mpl/long.hpp +3 -3
  893. data/src/cxx_supportlib/vendor-modified/boost/mpl/long_fwd.hpp +3 -3
  894. data/src/cxx_supportlib/vendor-modified/boost/mpl/lower_bound.hpp +3 -3
  895. data/src/cxx_supportlib/vendor-modified/boost/mpl/map.hpp +3 -3
  896. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/at_impl.hpp +3 -3
  897. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/begin_end_impl.hpp +3 -3
  898. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/clear_impl.hpp +3 -3
  899. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/contains_impl.hpp +3 -3
  900. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/empty_impl.hpp +3 -3
  901. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/erase_impl.hpp +3 -3
  902. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/erase_key_impl.hpp +3 -3
  903. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/has_key_impl.hpp +3 -3
  904. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/include_preprocessed.hpp +3 -3
  905. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/insert_impl.hpp +3 -3
  906. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/insert_range_impl.hpp +41 -0
  907. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/item.hpp +6 -3
  908. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/iterator.hpp +3 -3
  909. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/key_type_impl.hpp +3 -3
  910. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/map0.hpp +3 -3
  911. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/numbered.hpp +3 -3
  912. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/size_impl.hpp +3 -3
  913. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/tag.hpp +3 -3
  914. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/aux_/value_type_impl.hpp +3 -3
  915. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map0.hpp +4 -3
  916. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map10.hpp +3 -3
  917. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map20.hpp +3 -3
  918. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map30.hpp +3 -3
  919. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map40.hpp +3 -3
  920. data/src/cxx_supportlib/vendor-modified/boost/mpl/map/map50.hpp +3 -3
  921. data/src/cxx_supportlib/vendor-modified/boost/mpl/math/fixed_c.hpp +3 -3
  922. data/src/cxx_supportlib/vendor-modified/boost/mpl/math/is_even.hpp +3 -3
  923. data/src/cxx_supportlib/vendor-modified/boost/mpl/math/rational_c.hpp +3 -3
  924. data/src/cxx_supportlib/vendor-modified/boost/mpl/max.hpp +3 -3
  925. data/src/cxx_supportlib/vendor-modified/boost/mpl/max_element.hpp +3 -3
  926. data/src/cxx_supportlib/vendor-modified/boost/mpl/min.hpp +3 -3
  927. data/src/cxx_supportlib/vendor-modified/boost/mpl/min_element.hpp +3 -3
  928. data/src/cxx_supportlib/vendor-modified/boost/mpl/min_max.hpp +3 -3
  929. data/src/cxx_supportlib/vendor-modified/boost/mpl/minus.hpp +3 -3
  930. data/src/cxx_supportlib/vendor-modified/boost/mpl/modulus.hpp +3 -3
  931. data/src/cxx_supportlib/vendor-modified/boost/mpl/multiplies.hpp +3 -3
  932. data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/count_impl.hpp +3 -3
  933. data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/insert_impl.hpp +3 -3
  934. data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/item.hpp +3 -3
  935. data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/multiset0.hpp +3 -3
  936. data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/aux_/tag.hpp +3 -3
  937. data/src/cxx_supportlib/vendor-modified/boost/mpl/multiset/multiset0.hpp +3 -3
  938. data/src/cxx_supportlib/vendor-modified/boost/mpl/negate.hpp +3 -3
  939. data/src/cxx_supportlib/vendor-modified/boost/mpl/next.hpp +3 -3
  940. data/src/cxx_supportlib/vendor-modified/boost/mpl/next_prior.hpp +3 -3
  941. data/src/cxx_supportlib/vendor-modified/boost/mpl/not.hpp +3 -3
  942. data/src/cxx_supportlib/vendor-modified/boost/mpl/not_equal_to.hpp +3 -3
  943. data/src/cxx_supportlib/vendor-modified/boost/mpl/numeric_cast.hpp +3 -3
  944. data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +5 -5
  945. data/src/cxx_supportlib/vendor-modified/boost/mpl/order.hpp +3 -3
  946. data/src/cxx_supportlib/vendor-modified/boost/mpl/order_fwd.hpp +3 -3
  947. data/src/cxx_supportlib/vendor-modified/boost/mpl/pair.hpp +3 -3
  948. data/src/cxx_supportlib/vendor-modified/boost/mpl/pair_view.hpp +3 -3
  949. data/src/cxx_supportlib/vendor-modified/boost/mpl/partition.hpp +3 -3
  950. data/src/cxx_supportlib/vendor-modified/boost/mpl/placeholders.hpp +3 -3
  951. data/src/cxx_supportlib/vendor-modified/boost/mpl/plus.hpp +3 -3
  952. data/src/cxx_supportlib/vendor-modified/boost/mpl/pop_back.hpp +3 -3
  953. data/src/cxx_supportlib/vendor-modified/boost/mpl/pop_back_fwd.hpp +3 -3
  954. data/src/cxx_supportlib/vendor-modified/boost/mpl/pop_front.hpp +3 -3
  955. data/src/cxx_supportlib/vendor-modified/boost/mpl/pop_front_fwd.hpp +3 -3
  956. data/src/cxx_supportlib/vendor-modified/boost/mpl/print.hpp +7 -6
  957. data/src/cxx_supportlib/vendor-modified/boost/mpl/prior.hpp +3 -3
  958. data/src/cxx_supportlib/vendor-modified/boost/mpl/protect.hpp +3 -3
  959. data/src/cxx_supportlib/vendor-modified/boost/mpl/push_back.hpp +3 -3
  960. data/src/cxx_supportlib/vendor-modified/boost/mpl/push_back_fwd.hpp +3 -3
  961. data/src/cxx_supportlib/vendor-modified/boost/mpl/push_front.hpp +3 -3
  962. data/src/cxx_supportlib/vendor-modified/boost/mpl/push_front_fwd.hpp +3 -3
  963. data/src/cxx_supportlib/vendor-modified/boost/mpl/quote.hpp +3 -3
  964. data/src/cxx_supportlib/vendor-modified/boost/mpl/range_c.hpp +3 -3
  965. data/src/cxx_supportlib/vendor-modified/boost/mpl/remove.hpp +3 -3
  966. data/src/cxx_supportlib/vendor-modified/boost/mpl/remove_if.hpp +3 -3
  967. data/src/cxx_supportlib/vendor-modified/boost/mpl/replace.hpp +3 -3
  968. data/src/cxx_supportlib/vendor-modified/boost/mpl/replace_if.hpp +3 -3
  969. data/src/cxx_supportlib/vendor-modified/boost/mpl/reverse.hpp +3 -3
  970. data/src/cxx_supportlib/vendor-modified/boost/mpl/reverse_fold.hpp +3 -3
  971. data/src/cxx_supportlib/vendor-modified/boost/mpl/reverse_iter_fold.hpp +3 -3
  972. data/src/cxx_supportlib/vendor-modified/boost/mpl/same_as.hpp +3 -3
  973. data/src/cxx_supportlib/vendor-modified/boost/mpl/sequence_tag.hpp +3 -3
  974. data/src/cxx_supportlib/vendor-modified/boost/mpl/sequence_tag_fwd.hpp +3 -3
  975. data/src/cxx_supportlib/vendor-modified/boost/mpl/set.hpp +3 -3
  976. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/at_impl.hpp +3 -3
  977. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/begin_end_impl.hpp +3 -3
  978. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/clear_impl.hpp +3 -3
  979. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/empty_impl.hpp +3 -3
  980. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/erase_impl.hpp +3 -3
  981. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/erase_key_impl.hpp +3 -3
  982. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/has_key_impl.hpp +3 -3
  983. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/include_preprocessed.hpp +3 -3
  984. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/insert_impl.hpp +3 -3
  985. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/insert_range_impl.hpp +41 -0
  986. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/item.hpp +8 -6
  987. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/iterator.hpp +3 -3
  988. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/key_type_impl.hpp +3 -3
  989. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/numbered.hpp +3 -3
  990. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/numbered_c.hpp +3 -3
  991. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/set0.hpp +3 -3
  992. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/size_impl.hpp +3 -3
  993. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/tag.hpp +3 -3
  994. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/aux_/value_type_impl.hpp +3 -3
  995. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set0.hpp +4 -3
  996. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set0_c.hpp +3 -3
  997. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set10.hpp +3 -3
  998. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set10_c.hpp +3 -3
  999. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set20.hpp +3 -3
  1000. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set20_c.hpp +3 -3
  1001. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set30.hpp +3 -3
  1002. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set30_c.hpp +3 -3
  1003. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set40.hpp +3 -3
  1004. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set40_c.hpp +3 -3
  1005. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set50.hpp +3 -3
  1006. data/src/cxx_supportlib/vendor-modified/boost/mpl/set/set50_c.hpp +3 -3
  1007. data/src/cxx_supportlib/vendor-modified/boost/mpl/set_c.hpp +3 -3
  1008. data/src/cxx_supportlib/vendor-modified/boost/mpl/shift_left.hpp +3 -3
  1009. data/src/cxx_supportlib/vendor-modified/boost/mpl/shift_right.hpp +3 -3
  1010. data/src/cxx_supportlib/vendor-modified/boost/mpl/single_view.hpp +3 -3
  1011. data/src/cxx_supportlib/vendor-modified/boost/mpl/size.hpp +3 -3
  1012. data/src/cxx_supportlib/vendor-modified/boost/mpl/size_fwd.hpp +3 -3
  1013. data/src/cxx_supportlib/vendor-modified/boost/mpl/size_t.hpp +3 -3
  1014. data/src/cxx_supportlib/vendor-modified/boost/mpl/size_t_fwd.hpp +3 -3
  1015. data/src/cxx_supportlib/vendor-modified/boost/mpl/sizeof.hpp +3 -3
  1016. data/src/cxx_supportlib/vendor-modified/boost/mpl/sort.hpp +3 -3
  1017. data/src/cxx_supportlib/vendor-modified/boost/mpl/stable_partition.hpp +3 -3
  1018. data/src/cxx_supportlib/vendor-modified/boost/mpl/string.hpp +2 -2
  1019. data/src/cxx_supportlib/vendor-modified/boost/mpl/switch.hpp +3 -3
  1020. data/src/cxx_supportlib/vendor-modified/boost/mpl/tag.hpp +3 -3
  1021. data/src/cxx_supportlib/vendor-modified/boost/mpl/times.hpp +3 -3
  1022. data/src/cxx_supportlib/vendor-modified/boost/mpl/transform.hpp +3 -3
  1023. data/src/cxx_supportlib/vendor-modified/boost/mpl/transform_view.hpp +3 -3
  1024. data/src/cxx_supportlib/vendor-modified/boost/mpl/unique.hpp +3 -3
  1025. data/src/cxx_supportlib/vendor-modified/boost/mpl/unpack_args.hpp +3 -3
  1026. data/src/cxx_supportlib/vendor-modified/boost/mpl/upper_bound.hpp +3 -3
  1027. data/src/cxx_supportlib/vendor-modified/boost/mpl/value_type.hpp +3 -3
  1028. data/src/cxx_supportlib/vendor-modified/boost/mpl/value_type_fwd.hpp +3 -3
  1029. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector.hpp +3 -3
  1030. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/O1_size.hpp +3 -3
  1031. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/at.hpp +3 -3
  1032. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/back.hpp +3 -3
  1033. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/begin_end.hpp +3 -3
  1034. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/clear.hpp +3 -3
  1035. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/empty.hpp +3 -3
  1036. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/front.hpp +3 -3
  1037. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/include_preprocessed.hpp +3 -3
  1038. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/item.hpp +3 -3
  1039. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/iterator.hpp +3 -3
  1040. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/numbered.hpp +3 -3
  1041. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/numbered_c.hpp +3 -3
  1042. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/pop_back.hpp +3 -3
  1043. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/pop_front.hpp +3 -3
  1044. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/push_back.hpp +3 -3
  1045. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/push_front.hpp +3 -3
  1046. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/size.hpp +3 -3
  1047. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/tag.hpp +3 -3
  1048. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/vector0.hpp +3 -3
  1049. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector0.hpp +3 -3
  1050. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector0_c.hpp +3 -3
  1051. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector10.hpp +3 -3
  1052. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector10_c.hpp +3 -3
  1053. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector20.hpp +3 -3
  1054. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector20_c.hpp +3 -3
  1055. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector30.hpp +3 -3
  1056. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector30_c.hpp +3 -3
  1057. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector40.hpp +3 -3
  1058. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector40_c.hpp +3 -3
  1059. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector50.hpp +3 -3
  1060. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/vector50_c.hpp +3 -3
  1061. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector_c.hpp +3 -3
  1062. data/src/cxx_supportlib/vendor-modified/boost/mpl/void.hpp +3 -3
  1063. data/src/cxx_supportlib/vendor-modified/boost/mpl/void_fwd.hpp +3 -3
  1064. data/src/cxx_supportlib/vendor-modified/boost/mpl/zip_view.hpp +3 -3
  1065. data/src/cxx_supportlib/vendor-modified/boost/next_prior.hpp +118 -4
  1066. data/src/cxx_supportlib/vendor-modified/boost/noncopyable.hpp +12 -43
  1067. data/src/cxx_supportlib/vendor-modified/boost/none.hpp +32 -1
  1068. data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +18 -2
  1069. data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +9 -37
  1070. data/src/cxx_supportlib/vendor-modified/boost/optional/bad_optional_access.hpp +32 -0
  1071. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +660 -84
  1072. data/src/cxx_supportlib/vendor-modified/boost/optional/optional_fwd.hpp +3 -2
  1073. data/src/cxx_supportlib/vendor-modified/boost/optional/optional_io.hpp +94 -0
  1074. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/arg_list.hpp +4 -27
  1075. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/cast.hpp +2 -4
  1076. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/parenthesized_type.hpp +0 -84
  1077. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/set.hpp +1 -2
  1078. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tagged_argument.hpp +2 -2
  1079. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +0 -6
  1080. data/src/cxx_supportlib/vendor-modified/boost/parameter/binding.hpp +2 -28
  1081. data/src/cxx_supportlib/vendor-modified/boost/parameter/keyword.hpp +0 -30
  1082. data/src/cxx_supportlib/vendor-modified/boost/parameter/name.hpp +5 -15
  1083. data/src/cxx_supportlib/vendor-modified/boost/parameter/preprocessor.hpp +6 -107
  1084. data/src/cxx_supportlib/vendor-modified/boost/parameter/value_type.hpp +2 -28
  1085. data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +1 -1
  1086. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +12 -12
  1087. data/src/cxx_supportlib/vendor-modified/boost/predef.h +24 -0
  1088. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +32 -0
  1089. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/alpha.h +59 -0
  1090. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +70 -0
  1091. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/blackfin.h +46 -0
  1092. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/convex.h +65 -0
  1093. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ia64.h +49 -0
  1094. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/m68k.h +82 -0
  1095. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/mips.h +73 -0
  1096. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/parisc.h +64 -0
  1097. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ppc.h +72 -0
  1098. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/pyramid.h +42 -0
  1099. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/rs6k.h +56 -0
  1100. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sparc.h +54 -0
  1101. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/superh.h +67 -0
  1102. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys370.h +43 -0
  1103. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys390.h +43 -0
  1104. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86.h +38 -0
  1105. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/32.h +87 -0
  1106. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/64.h +50 -0
  1107. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/z.h +42 -0
  1108. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +43 -0
  1109. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/borland.h +63 -0
  1110. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/clang.h +56 -0
  1111. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/comeau.h +61 -0
  1112. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +66 -0
  1113. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/diab.h +56 -0
  1114. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/digitalmars.h +56 -0
  1115. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/dignus.h +56 -0
  1116. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/edg.h +56 -0
  1117. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ekopath.h +57 -0
  1118. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc.h +68 -0
  1119. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc_xml.h +53 -0
  1120. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/greenhills.h +66 -0
  1121. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/hp_acc.h +61 -0
  1122. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/iar.h +56 -0
  1123. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ibm.h +72 -0
  1124. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/intel.h +65 -0
  1125. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/kai.h +56 -0
  1126. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/llvm.h +57 -0
  1127. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metaware.h +53 -0
  1128. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metrowerks.h +77 -0
  1129. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/microtec.h +53 -0
  1130. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/mpw.h +63 -0
  1131. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/palm.h +56 -0
  1132. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/pgi.h +60 -0
  1133. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sgi_mipspro.h +66 -0
  1134. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sunpro.h +76 -0
  1135. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/tendra.h +53 -0
  1136. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/visualc.h +91 -0
  1137. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/watcom.h +56 -0
  1138. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/_cassert.h +17 -0
  1139. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/_exception.h +15 -0
  1140. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/comp_detected.h +10 -0
  1141. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +26 -0
  1142. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/os_detected.h +10 -0
  1143. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/platform_detected.h +10 -0
  1144. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/test.h +17 -0
  1145. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/test_def.h +71 -0
  1146. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware.h +16 -0
  1147. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd.h +107 -0
  1148. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm.h +57 -0
  1149. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm/versions.h +32 -0
  1150. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc.h +69 -0
  1151. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc/versions.h +51 -0
  1152. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86.h +123 -0
  1153. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86/versions.h +129 -0
  1154. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd.h +87 -0
  1155. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd/versions.h +51 -0
  1156. data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +17 -0
  1157. data/src/cxx_supportlib/vendor-modified/boost/predef/language/objc.h +42 -0
  1158. data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdc.h +53 -0
  1159. data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdcpp.h +121 -0
  1160. data/src/cxx_supportlib/vendor-modified/boost/predef/library.h +16 -0
  1161. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c.h +20 -0
  1162. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/_prefix.h +13 -0
  1163. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/gnu.h +61 -0
  1164. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/uc.h +47 -0
  1165. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/vms.h +47 -0
  1166. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/zos.h +56 -0
  1167. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std.h +25 -0
  1168. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/_prefix.h +23 -0
  1169. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/cxx.h +46 -0
  1170. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/dinkumware.h +52 -0
  1171. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/libcomo.h +47 -0
  1172. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/modena.h +45 -0
  1173. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msl.h +53 -0
  1174. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/roguewave.h +56 -0
  1175. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/sgi.h +51 -0
  1176. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stdcpp3.h +53 -0
  1177. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stlport.h +59 -0
  1178. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/vacpp.h +44 -0
  1179. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +89 -0
  1180. data/src/cxx_supportlib/vendor-modified/boost/predef/os.h +33 -0
  1181. data/src/cxx_supportlib/vendor-modified/boost/predef/os/aix.h +66 -0
  1182. data/src/cxx_supportlib/vendor-modified/boost/predef/os/amigaos.h +46 -0
  1183. data/src/cxx_supportlib/vendor-modified/boost/predef/os/android.h +45 -0
  1184. data/src/cxx_supportlib/vendor-modified/boost/predef/os/beos.h +45 -0
  1185. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd.h +103 -0
  1186. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/bsdi.h +48 -0
  1187. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/dragonfly.h +50 -0
  1188. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/free.h +60 -0
  1189. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/net.h +84 -0
  1190. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/open.h +171 -0
  1191. data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +45 -0
  1192. data/src/cxx_supportlib/vendor-modified/boost/predef/os/haiku.h +46 -0
  1193. data/src/cxx_supportlib/vendor-modified/boost/predef/os/hpux.h +47 -0
  1194. data/src/cxx_supportlib/vendor-modified/boost/predef/os/ios.h +51 -0
  1195. data/src/cxx_supportlib/vendor-modified/boost/predef/os/irix.h +46 -0
  1196. data/src/cxx_supportlib/vendor-modified/boost/predef/os/linux.h +46 -0
  1197. data/src/cxx_supportlib/vendor-modified/boost/predef/os/macos.h +65 -0
  1198. data/src/cxx_supportlib/vendor-modified/boost/predef/os/os400.h +45 -0
  1199. data/src/cxx_supportlib/vendor-modified/boost/predef/os/qnxnto.h +59 -0
  1200. data/src/cxx_supportlib/vendor-modified/boost/predef/os/solaris.h +46 -0
  1201. data/src/cxx_supportlib/vendor-modified/boost/predef/os/unix.h +76 -0
  1202. data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +52 -0
  1203. data/src/cxx_supportlib/vendor-modified/boost/predef/os/windows.h +51 -0
  1204. data/src/cxx_supportlib/vendor-modified/boost/predef/other.h +16 -0
  1205. data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +204 -0
  1206. data/src/cxx_supportlib/vendor-modified/boost/predef/platform.h +21 -0
  1207. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw.h +69 -0
  1208. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_desktop.h +45 -0
  1209. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_phone.h +43 -0
  1210. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_runtime.h +45 -0
  1211. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_store.h +43 -0
  1212. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +15 -0
  1213. data/src/cxx_supportlib/vendor-modified/boost/predef/version_number.h +53 -0
  1214. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/dec.hpp +1 -0
  1215. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/detail/get_data.hpp +55 -0
  1216. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/push_back.hpp +3 -1
  1217. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/push_front.hpp +3 -1
  1218. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_list.hpp +17 -3
  1219. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_seq.hpp +16 -3
  1220. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_tuple.hpp +12 -1
  1221. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +11 -12
  1222. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/detail/is_empty.hpp +55 -0
  1223. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/empty.hpp +2 -0
  1224. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/identity.hpp +4 -0
  1225. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty.hpp +17 -4
  1226. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty_or_1.hpp +2 -1
  1227. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty_variadic.hpp +57 -0
  1228. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/library.hpp +1 -0
  1229. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_array.hpp +33 -1
  1230. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_tuple.hpp +27 -4
  1231. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation.hpp +2 -0
  1232. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/detail/is_begin_parens.hpp +48 -0
  1233. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/is_begin_parens.hpp +51 -0
  1234. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/remove_parens.hpp +39 -0
  1235. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/for.hpp +19 -1
  1236. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq.hpp +1 -0
  1237. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/binary_transform.hpp +10 -2
  1238. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/is_empty.hpp +49 -0
  1239. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each.hpp +57 -10
  1240. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each_i.hpp +58 -10
  1241. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/replace.hpp +18 -2
  1242. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/rest_n.hpp +19 -3
  1243. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/size.hpp +1 -0
  1244. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/variadic_seq_to_seq.hpp +28 -0
  1245. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple.hpp +8 -1
  1246. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/detail/is_single_return.hpp +28 -0
  1247. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/eat.hpp +10 -1
  1248. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/elem.hpp +12 -2
  1249. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/insert.hpp +37 -0
  1250. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_back.hpp +64 -0
  1251. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_front.hpp +65 -0
  1252. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_back.hpp +31 -0
  1253. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_front.hpp +32 -0
  1254. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/rem.hpp +18 -3
  1255. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/remove.hpp +64 -0
  1256. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/replace.hpp +37 -0
  1257. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/reverse.hpp +4 -1
  1258. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_array.hpp +3 -1
  1259. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_list.hpp +3 -1
  1260. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_seq.hpp +6 -1
  1261. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/is_single_return.hpp +28 -0
  1262. data/src/cxx_supportlib/vendor-modified/boost/range/algorithm/equal.hpp +5 -3
  1263. data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +1 -1
  1264. data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +5 -13
  1265. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +35 -15
  1266. data/src/cxx_supportlib/vendor-modified/boost/range/config.hpp +9 -7
  1267. data/src/cxx_supportlib/vendor-modified/boost/range/const_iterator.hpp +39 -30
  1268. data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +4 -3
  1269. data/src/cxx_supportlib/vendor-modified/boost/range/detail/extract_optional_type.hpp +21 -25
  1270. data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +66 -0
  1271. data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +11 -0
  1272. data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +132 -0
  1273. data/src/cxx_supportlib/vendor-modified/boost/range/difference_type.hpp +20 -2
  1274. data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +1 -1
  1275. data/src/cxx_supportlib/vendor-modified/boost/range/empty.hpp +1 -1
  1276. data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +5 -13
  1277. data/src/cxx_supportlib/vendor-modified/boost/range/functions.hpp +1 -1
  1278. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +83 -0
  1279. data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +36 -34
  1280. data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +481 -251
  1281. data/src/cxx_supportlib/vendor-modified/boost/range/mutable_iterator.hpp +41 -29
  1282. data/src/cxx_supportlib/vendor-modified/boost/range/range_fwd.hpp +63 -0
  1283. data/src/cxx_supportlib/vendor-modified/boost/range/rbegin.hpp +1 -1
  1284. data/src/cxx_supportlib/vendor-modified/boost/range/rend.hpp +1 -1
  1285. data/src/cxx_supportlib/vendor-modified/boost/range/reverse_iterator.hpp +5 -3
  1286. data/src/cxx_supportlib/vendor-modified/boost/range/size.hpp +30 -6
  1287. data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +18 -12
  1288. data/src/cxx_supportlib/vendor-modified/boost/range/value_type.hpp +1 -5
  1289. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/abs.hpp +4 -4
  1290. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/gcd.hpp +1 -1
  1291. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/lcm.hpp +1 -1
  1292. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/sign.hpp +4 -4
  1293. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/overflow_helpers.hpp +1 -1
  1294. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio.hpp +63 -3
  1295. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_fwd.hpp +25 -0
  1296. data/src/cxx_supportlib/vendor-modified/boost/ref.hpp +12 -184
  1297. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +51 -9
  1298. data/src/cxx_supportlib/vendor-modified/boost/regex/mfc.hpp +30 -34
  1299. data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +2 -2
  1300. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +10 -7
  1301. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +11 -5
  1302. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +18 -19
  1303. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +25 -38
  1304. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +211 -14
  1305. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +161 -106
  1306. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +7 -7
  1307. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +9 -9
  1308. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +24 -21
  1309. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +3 -3
  1310. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -1
  1311. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +24 -19
  1312. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +1 -1
  1313. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +46 -20
  1314. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +38 -14
  1315. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +206 -31
  1316. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +122 -16
  1317. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +2 -2
  1318. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +1 -1
  1319. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +15 -15
  1320. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +1 -1
  1321. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +3 -3
  1322. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +1 -1
  1323. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +2 -2
  1324. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +4 -4
  1325. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +2 -2
  1326. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +5 -5
  1327. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +6 -15
  1328. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +10 -10
  1329. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +10 -4
  1330. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +5 -4
  1331. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +23 -3
  1332. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +75 -71
  1333. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +2 -2
  1334. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +6 -15
  1335. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +43 -41
  1336. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +103 -172
  1337. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_allocator.hpp +318 -0
  1338. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_count_impl.hpp +67 -0
  1339. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_traits.hpp +16 -9
  1340. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_utility.hpp +106 -70
  1341. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +36 -59
  1342. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_nt.hpp +59 -0
  1343. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/{atomic_count_pthreads.hpp → atomic_count_pt.hpp} +5 -4
  1344. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +62 -0
  1345. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_std_atomic.hpp +60 -0
  1346. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/operator_bool.hpp +2 -1
  1347. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +116 -10
  1348. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_convertible.hpp +1 -0
  1349. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +15 -1
  1350. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +140 -0
  1351. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +16 -15
  1352. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +137 -0
  1353. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +21 -4
  1354. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_disable_deprecated.hpp +40 -0
  1355. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_forward.hpp +13 -0
  1356. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_if_array.hpp +8 -5
  1357. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_nullptr_t.hpp +1 -1
  1358. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +10 -1
  1359. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +1 -0
  1360. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pool.hpp +2 -2
  1361. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_std_atomic.hpp +83 -0
  1362. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +30 -2
  1363. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +10 -0
  1364. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +12 -0
  1365. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +80 -169
  1366. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +121 -118
  1367. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +10 -0
  1368. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +8 -6
  1369. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +54 -12
  1370. data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +4 -19
  1371. data/src/cxx_supportlib/vendor-modified/boost/swap.hpp +11 -6
  1372. data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +1 -0
  1373. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +467 -0
  1374. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +1 -2
  1375. data/src/cxx_supportlib/vendor-modified/boost/thread/barrier.hpp +222 -36
  1376. data/src/cxx_supportlib/vendor-modified/boost/thread/caller_context.hpp +59 -0
  1377. data/src/cxx_supportlib/vendor-modified/boost/thread/completion_latch.hpp +4 -11
  1378. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_adaptor.hpp +209 -0
  1379. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_base.hpp +202 -0
  1380. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_views.hpp +165 -0
  1381. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +223 -0
  1382. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +223 -0
  1383. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_adaptor.hpp +209 -0
  1384. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_base.hpp +202 -0
  1385. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_op_status.hpp +46 -0
  1386. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_views.hpp +155 -0
  1387. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_bounded_queue.hpp +725 -0
  1388. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_deque.hpp +327 -0
  1389. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_priority_queue.hpp +369 -0
  1390. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_queue.hpp +335 -0
  1391. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_timed_queue.hpp +466 -0
  1392. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/deque.hpp +45 -0
  1393. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/devector.hpp +102 -0
  1394. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/functional.hpp +49 -0
  1395. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/list.hpp +35 -0
  1396. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory.hpp +61 -0
  1397. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_arg.hpp +41 -0
  1398. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_traits.hpp +35 -0
  1399. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/config.hpp +16 -0
  1400. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/default_delete.hpp +41 -0
  1401. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/pointer_traits.hpp +35 -0
  1402. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/scoped_allocator.hpp +35 -0
  1403. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/shared_ptr.hpp +42 -0
  1404. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/unique_ptr.hpp +28 -0
  1405. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +45 -0
  1406. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/tuple.hpp +49 -0
  1407. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/vector.hpp +35 -0
  1408. data/src/cxx_supportlib/vendor-modified/boost/thread/cv_status.hpp +1 -1
  1409. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +32 -4
  1410. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/counter.hpp +17 -4
  1411. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/delete.hpp +2 -1
  1412. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/function_wrapper.hpp +93 -0
  1413. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +373 -120
  1414. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoker.hpp +762 -0
  1415. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/is_convertible.hpp +4 -3
  1416. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/memory.hpp +11 -119
  1417. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +116 -4
  1418. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +234 -0
  1419. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +41 -16
  1420. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_group.hpp +4 -3
  1421. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/variadic_footer.hpp +10 -0
  1422. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/variadic_header.hpp +19 -0
  1423. data/src/cxx_supportlib/vendor-modified/boost/thread/exceptional_ptr.hpp +44 -0
  1424. data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +4 -4
  1425. data/src/cxx_supportlib/vendor-modified/boost/thread/executor.hpp +15 -0
  1426. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +318 -0
  1427. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/detail/priority_executor_base.hpp +77 -0
  1428. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/detail/scheduled_executor_base.hpp +66 -0
  1429. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor.hpp +148 -0
  1430. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor_adaptor.hpp +136 -0
  1431. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/generic_executor_ref.hpp +213 -0
  1432. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/inline_executor.hpp +171 -0
  1433. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/loop_executor.hpp +205 -0
  1434. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduled_thread_pool.hpp +48 -0
  1435. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduler.hpp +271 -0
  1436. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduling_adaptor.hpp +51 -0
  1437. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor.hpp +216 -0
  1438. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor_cont.hpp +170 -0
  1439. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/thread_executor.hpp +157 -0
  1440. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/work.hpp +30 -0
  1441. data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/config/inline_namespace.hpp +23 -0
  1442. data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/exception_list.hpp +16 -0
  1443. data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v1/exception_list.hpp +70 -0
  1444. data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v1/inline_namespace.hpp +28 -0
  1445. data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/inline_namespace.hpp +29 -0
  1446. data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/task_region.hpp +316 -0
  1447. data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/task_region.hpp +16 -0
  1448. data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +2 -2
  1449. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +3327 -1705
  1450. data/src/cxx_supportlib/vendor-modified/boost/thread/futures/future_error.hpp +98 -0
  1451. data/src/cxx_supportlib/vendor-modified/boost/thread/{future_error_code.hpp → futures/future_error_code.hpp} +7 -7
  1452. data/src/cxx_supportlib/vendor-modified/boost/thread/futures/future_status.hpp +30 -0
  1453. data/src/cxx_supportlib/vendor-modified/boost/thread/futures/is_future_type.hpp +21 -0
  1454. data/src/cxx_supportlib/vendor-modified/boost/thread/futures/launch.hpp +31 -0
  1455. data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_all.hpp +74 -0
  1456. data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +161 -0
  1457. data/src/cxx_supportlib/vendor-modified/boost/thread/latch.hpp +43 -15
  1458. data/src/cxx_supportlib/vendor-modified/boost/thread/lock_types.hpp +45 -41
  1459. data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_adapter.hpp +28 -28
  1460. data/src/cxx_supportlib/vendor-modified/boost/thread/once.hpp +1 -1
  1461. data/src/cxx_supportlib/vendor-modified/boost/thread/ostream_buffer.hpp +45 -0
  1462. data/src/cxx_supportlib/vendor-modified/boost/thread/poly_lockable.hpp +2 -2
  1463. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +101 -56
  1464. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +141 -47
  1465. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +20 -13
  1466. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once.hpp +4 -4
  1467. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once_atomic.hpp +4 -4
  1468. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +11 -8
  1469. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +39 -10
  1470. data/src/cxx_supportlib/vendor-modified/boost/thread/scoped_thread.hpp +15 -11
  1471. data/src/cxx_supportlib/vendor-modified/boost/thread/shared_mutex.hpp +1 -0
  1472. data/src/cxx_supportlib/vendor-modified/boost/thread/sync_bounded_queue.hpp +2 -580
  1473. data/src/cxx_supportlib/vendor-modified/boost/thread/sync_queue.hpp +2 -502
  1474. data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +78 -11
  1475. data/src/cxx_supportlib/vendor-modified/boost/thread/testable_mutex.hpp +4 -0
  1476. data/src/cxx_supportlib/vendor-modified/boost/thread/thread_pool.hpp +15 -0
  1477. data/src/cxx_supportlib/vendor-modified/boost/thread/tss.hpp +8 -8
  1478. data/src/cxx_supportlib/vendor-modified/boost/thread/user_scheduler.hpp +202 -0
  1479. data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +6 -6
  1480. data/src/cxx_supportlib/vendor-modified/boost/thread/v2/thread.hpp +73 -1
  1481. data/src/cxx_supportlib/vendor-modified/boost/thread/with_lock_guard.hpp +234 -0
  1482. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +7 -5
  1483. data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +3 -17
  1484. data/src/cxx_supportlib/vendor-modified/boost/token_iterator.hpp +14 -14
  1485. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +14 -5
  1486. data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +1 -24
  1487. data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_const.hpp +9 -10
  1488. data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_cv.hpp +2 -9
  1489. data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_lvalue_reference.hpp +8 -7
  1490. data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_pointer.hpp +6 -17
  1491. data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_reference.hpp +14 -62
  1492. data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_rvalue_reference.hpp +5 -7
  1493. data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_volatile.hpp +2 -9
  1494. data/src/cxx_supportlib/vendor-modified/boost/type_traits/aligned_storage.hpp +134 -9
  1495. data/src/cxx_supportlib/vendor-modified/boost/type_traits/alignment_of.hpp +9 -18
  1496. data/src/cxx_supportlib/vendor-modified/boost/type_traits/{detail/wrap.hpp → alignment_traits.hpp} +7 -10
  1497. data/src/cxx_supportlib/vendor-modified/boost/type_traits/arithmetic_traits.hpp +20 -0
  1498. data/src/cxx_supportlib/vendor-modified/boost/type_traits/array_traits.hpp +15 -0
  1499. data/src/cxx_supportlib/vendor-modified/boost/type_traits/broken_compiler_spec.hpp +9 -105
  1500. data/src/cxx_supportlib/vendor-modified/boost/type_traits/common_type.hpp +118 -131
  1501. data/src/cxx_supportlib/vendor-modified/boost/type_traits/conditional.hpp +20 -0
  1502. data/src/cxx_supportlib/vendor-modified/boost/type_traits/config.hpp +5 -60
  1503. data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_cv.hpp +34 -0
  1504. data/src/cxx_supportlib/vendor-modified/boost/type_traits/decay.hpp +12 -13
  1505. data/src/cxx_supportlib/vendor-modified/boost/type_traits/declval.hpp +44 -0
  1506. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/bool_trait_def.hpp +9 -26
  1507. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/bool_trait_undef.hpp +2 -2
  1508. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +212 -0
  1509. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_type_impl.hpp +107 -0
  1510. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/composite_member_pointer_type.hpp +113 -0
  1511. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/composite_pointer_type.hpp +153 -0
  1512. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +72 -0
  1513. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_binary_operator.hpp +12 -19
  1514. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +12 -19
  1515. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +14 -19
  1516. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/ice_and.hpp +7 -0
  1517. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/ice_eq.hpp +7 -0
  1518. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/ice_not.hpp +7 -0
  1519. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/ice_or.hpp +7 -0
  1520. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_helper.hpp +13 -57
  1521. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_tester.hpp +13 -218
  1522. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +13 -107
  1523. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +15 -974
  1524. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/mp_defer.hpp +56 -0
  1525. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/template_arity_spec.hpp +6 -21
  1526. data/src/cxx_supportlib/vendor-modified/boost/type_traits/extent.hpp +138 -0
  1527. data/src/cxx_supportlib/vendor-modified/boost/type_traits/floating_point_promotion.hpp +20 -0
  1528. data/src/cxx_supportlib/vendor-modified/boost/type_traits/function_traits.hpp +0 -62
  1529. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_and.hpp +49 -0
  1530. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_and_assign.hpp +55 -0
  1531. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_or.hpp +49 -0
  1532. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_or_assign.hpp +55 -0
  1533. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_xor.hpp +49 -0
  1534. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_bit_xor_assign.hpp +55 -0
  1535. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_complement.hpp +32 -0
  1536. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +31 -0
  1537. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_divides.hpp +40 -0
  1538. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_divides_assign.hpp +47 -0
  1539. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_equal_to.hpp +49 -0
  1540. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_greater.hpp +49 -0
  1541. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_greater_equal.hpp +49 -0
  1542. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_left_shift.hpp +19 -19
  1543. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_left_shift_assign.hpp +55 -0
  1544. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_less.hpp +49 -0
  1545. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_less_equal.hpp +49 -0
  1546. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_logical_and.hpp +40 -0
  1547. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_logical_not.hpp +32 -0
  1548. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_logical_or.hpp +40 -0
  1549. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +60 -0
  1550. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +65 -0
  1551. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_modulus.hpp +49 -0
  1552. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_modulus_assign.hpp +55 -0
  1553. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_multiplies.hpp +40 -0
  1554. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_multiplies_assign.hpp +47 -0
  1555. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_negate.hpp +25 -0
  1556. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_new_operator.hpp +147 -0
  1557. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_not_equal_to.hpp +49 -0
  1558. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_assign.hpp +57 -18
  1559. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_constructor.hpp +43 -24
  1560. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_copy.hpp +52 -23
  1561. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_destructor.hpp +47 -0
  1562. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_operator.hpp +51 -0
  1563. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus.hpp +54 -0
  1564. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +66 -0
  1565. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +44 -0
  1566. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +44 -0
  1567. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +44 -0
  1568. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +44 -0
  1569. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_right_shift.hpp +19 -19
  1570. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_right_shift_assign.hpp +55 -0
  1571. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_assign.hpp +23 -29
  1572. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_constructor.hpp +31 -25
  1573. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_copy.hpp +34 -36
  1574. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_destructor.hpp +21 -22
  1575. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +40 -25
  1576. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +45 -25
  1577. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_unary_minus.hpp +25 -0
  1578. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_unary_plus.hpp +23 -0
  1579. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_virtual_destructor.hpp +26 -0
  1580. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +86 -33
  1581. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_promotion.hpp +181 -0
  1582. data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +116 -41
  1583. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_abstract.hpp +6 -10
  1584. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_arithmetic.hpp +3 -32
  1585. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_array.hpp +12 -60
  1586. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_assignable.hpp +76 -0
  1587. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_base_and_derived.hpp +9 -19
  1588. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_base_of.hpp +8 -20
  1589. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_base_of_tr1.hpp +37 -0
  1590. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_class.hpp +17 -43
  1591. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complex.hpp +24 -0
  1592. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_compound.hpp +2 -24
  1593. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_const.hpp +8 -127
  1594. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_constructible.hpp +80 -0
  1595. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_convertible.hpp +94 -98
  1596. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +141 -0
  1597. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +187 -0
  1598. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_default_constructible.hpp +64 -0
  1599. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_destructible.hpp +60 -0
  1600. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_empty.hpp +8 -117
  1601. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_enum.hpp +19 -42
  1602. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +30 -0
  1603. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_float.hpp +2 -9
  1604. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_floating_point.hpp +12 -9
  1605. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +9 -18
  1606. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_fundamental.hpp +2 -21
  1607. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_integral.hpp +43 -37
  1608. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_lvalue_reference.hpp +8 -76
  1609. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +18 -34
  1610. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_object_pointer.hpp +24 -0
  1611. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_pointer.hpp +8 -79
  1612. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +32 -35
  1613. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +43 -41
  1614. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_object.hpp +7 -32
  1615. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_pod.hpp +14 -101
  1616. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_pointer.hpp +12 -127
  1617. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_polymorphic.hpp +122 -0
  1618. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_reference.hpp +6 -21
  1619. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -8
  1620. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_same.hpp +4 -66
  1621. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_scalar.hpp +3 -31
  1622. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_signed.hpp +83 -60
  1623. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_stateless.hpp +8 -23
  1624. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_union.hpp +6 -32
  1625. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unsigned.hpp +85 -57
  1626. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +105 -0
  1627. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_void.hpp +7 -19
  1628. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_volatile.hpp +8 -115
  1629. data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_signed.hpp +35 -57
  1630. data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_unsigned.hpp +34 -57
  1631. data/src/cxx_supportlib/vendor-modified/boost/type_traits/promote.hpp +20 -0
  1632. data/src/cxx_supportlib/vendor-modified/boost/type_traits/rank.hpp +86 -0
  1633. data/src/cxx_supportlib/vendor-modified/boost/type_traits/reference_traits.hpp +15 -0
  1634. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_all_extents.hpp +35 -0
  1635. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_bounds.hpp +4 -31
  1636. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_const.hpp +8 -65
  1637. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv.hpp +13 -57
  1638. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_extent.hpp +35 -0
  1639. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_pointer.hpp +8 -23
  1640. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_reference.hpp +5 -21
  1641. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_volatile.hpp +7 -61
  1642. data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_identity.hpp +22 -0
  1643. data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +101 -239
  1644. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +100 -0
  1645. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +61 -0
  1646. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +34 -0
  1647. data/src/cxx_supportlib/vendor-modified/boost/typeof/incr_registration_group.hpp +14 -0
  1648. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +118 -0
  1649. data/src/cxx_supportlib/vendor-modified/boost/typeof/integral_template_param.hpp +80 -0
  1650. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +121 -0
  1651. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +283 -0
  1652. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +38 -0
  1653. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions.hpp +50 -0
  1654. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +135 -0
  1655. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +62 -0
  1656. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +32 -0
  1657. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/bitset.hpp +15 -0
  1658. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/complex.hpp +15 -0
  1659. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/deque.hpp +17 -0
  1660. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/fstream.hpp +27 -0
  1661. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +55 -0
  1662. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iostream.hpp +18 -0
  1663. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/istream.hpp +21 -0
  1664. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iterator.hpp +58 -0
  1665. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/list.hpp +17 -0
  1666. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/locale.hpp +40 -0
  1667. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/map.hpp +23 -0
  1668. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +17 -0
  1669. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/ostream.hpp +18 -0
  1670. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/queue.hpp +17 -0
  1671. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/set.hpp +22 -0
  1672. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/sstream.hpp +32 -0
  1673. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/stack.hpp +17 -0
  1674. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/streambuf.hpp +17 -0
  1675. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +24 -0
  1676. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/utility.hpp +15 -0
  1677. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/valarray.hpp +21 -0
  1678. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/vector.hpp +17 -0
  1679. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +160 -0
  1680. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +149 -0
  1681. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +27 -0
  1682. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_template_param.hpp +37 -0
  1683. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +186 -0
  1684. data/src/cxx_supportlib/vendor-modified/boost/typeof/unsupported.hpp +29 -0
  1685. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +166 -0
  1686. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +321 -0
  1687. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +471 -0
  1688. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +621 -0
  1689. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +171 -0
  1690. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocate.hpp +42 -34
  1691. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/buckets.hpp +108 -56
  1692. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/equivalent.hpp +30 -24
  1693. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/extract_key.hpp +21 -16
  1694. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +3 -3
  1695. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/table.hpp +45 -33
  1696. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/unique.hpp +21 -15
  1697. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/util.hpp +8 -2
  1698. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +11 -6
  1699. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +3 -3
  1700. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +11 -6
  1701. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +3 -3
  1702. data/src/cxx_supportlib/vendor-modified/boost/unordered_map.hpp +3 -2
  1703. data/src/cxx_supportlib/vendor-modified/boost/unordered_set.hpp +3 -2
  1704. data/src/cxx_supportlib/vendor-modified/boost/utility.hpp +21 -0
  1705. data/src/cxx_supportlib/vendor-modified/boost/utility/addressof.hpp +11 -96
  1706. data/src/cxx_supportlib/vendor-modified/boost/utility/base_from_member.hpp +171 -0
  1707. data/src/cxx_supportlib/vendor-modified/boost/utility/binary.hpp +708 -0
  1708. data/src/cxx_supportlib/vendor-modified/boost/utility/declval.hpp +5 -41
  1709. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_iterate.hpp +18 -5
  1710. data/src/cxx_supportlib/vendor-modified/boost/utility/empty_deleter.hpp +43 -0
  1711. data/src/cxx_supportlib/vendor-modified/boost/utility/enable_if.hpp +10 -112
  1712. data/src/cxx_supportlib/vendor-modified/boost/utility/explicit_operator_bool.hpp +17 -0
  1713. data/src/cxx_supportlib/vendor-modified/boost/utility/identity_type.hpp +46 -0
  1714. data/src/cxx_supportlib/vendor-modified/boost/utility/in_place_factory.hpp +2 -4
  1715. data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +25 -9
  1716. data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +536 -0
  1717. data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref_fwd.hpp +37 -0
  1718. data/src/cxx_supportlib/vendor-modified/boost/utility/swap.hpp +10 -48
  1719. data/src/cxx_supportlib/vendor-modified/boost/utility/typed_in_place_factory.hpp +77 -0
  1720. data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +281 -0
  1721. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +6 -6
  1722. data/src/cxx_supportlib/vendor-modified/boost/visit_each.hpp +0 -2
  1723. data/src/cxx_supportlib/vendor-modified/modp_b64.cpp +3 -1
  1724. data/src/nginx_module/Configuration.c +157 -6
  1725. data/src/nginx_module/Configuration.h +3 -1
  1726. data/src/nginx_module/ContentHandler.c +2 -1
  1727. data/src/nginx_module/ngx_http_passenger_module.c +27 -46
  1728. data/src/nodejs_supportlib/phusion_passenger/log_express.js +1 -1
  1729. data/src/ruby_supportlib/phusion_passenger.rb +1 -1
  1730. data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +102 -0
  1731. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +20 -3
  1732. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +36 -3
  1733. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +1 -0
  1734. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +3 -1
  1735. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/LICENSE.md +1 -1
  1736. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core.rb +7 -0
  1737. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/api.rb +28 -0
  1738. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/request_reporter/misc.rb +4 -0
  1739. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/spec_helper.rb +18 -0
  1740. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/transaction.rb +1 -10
  1741. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/version_data.rb +4 -4
  1742. metadata +609 -62
  1743. data/src/agent/UstRouter/DataStoreId.h +0 -184
  1744. data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/output.0 +0 -15374
  1745. data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/output.1 +0 -15374
  1746. data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/output.2 +0 -15374
  1747. data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/requests +0 -568
  1748. data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/traces.0 +0 -3104
  1749. data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/traces.1 +0 -3104
  1750. data/src/cxx_supportlib/vendor-copy/libuv/autom4te.cache/traces.2 +0 -699
  1751. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/base.hpp +0 -585
  1752. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas32strong.hpp +0 -885
  1753. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas32weak.hpp +0 -947
  1754. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas64strong.hpp +0 -443
  1755. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-alpha.hpp +0 -368
  1756. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-armv6plus.hpp +0 -252
  1757. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-cas.hpp +0 -157
  1758. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-ppc.hpp +0 -2850
  1759. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-sparcv9.hpp +0 -1259
  1760. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc-x86.hpp +0 -1766
  1761. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/generic-cas.hpp +0 -206
  1762. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/linux-arm.hpp +0 -189
  1763. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type-classification.hpp +0 -45
  1764. data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithms.hpp +0 -84
  1765. data/src/cxx_supportlib/vendor-modified/boost/container/detail/memory_util.hpp +0 -83
  1766. data/src/cxx_supportlib/vendor-modified/boost/container/detail/preprocessor.hpp +0 -232
  1767. data/src/cxx_supportlib/vendor-modified/boost/container/detail/utilities.hpp +0 -1141
  1768. data/src/cxx_supportlib/vendor-modified/boost/detail/is_incrementable.hpp +0 -134
  1769. data/src/cxx_supportlib/vendor-modified/boost/detail/is_xxx.hpp +0 -61
  1770. data/src/cxx_supportlib/vendor-modified/boost/detail/limits.hpp +0 -449
  1771. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/attribute_noreturn.hpp +0 -17
  1772. data/src/cxx_supportlib/vendor-modified/boost/indirect_reference.hpp +0 -43
  1773. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/clear_on_destructor_base.hpp +0 -36
  1774. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/memory_util.hpp +0 -288
  1775. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/preprocessor.hpp +0 -52
  1776. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/utilities.hpp +0 -858
  1777. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set_hook.hpp +0 -292
  1778. data/src/cxx_supportlib/vendor-modified/boost/libs/atomic/lockpool.cpp +0 -24
  1779. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/local_free_on_destruction.hpp +0 -40
  1780. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/timeconv.inl +0 -151
  1781. data/src/cxx_supportlib/vendor-modified/boost/math/common_factor_ct.hpp +0 -180
  1782. data/src/cxx_supportlib/vendor-modified/boost/math_fwd.hpp +0 -108
  1783. data/src/cxx_supportlib/vendor-modified/boost/parameter.hpp +0 -21
  1784. data/src/cxx_supportlib/vendor-modified/boost/pointee.hpp +0 -74
  1785. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/allocate_array_helper.hpp +0 -169
  1786. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/array_deleter.hpp +0 -124
  1787. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/make_array_helper.hpp +0 -157
  1788. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/async_func.hpp +0 -571
  1789. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_type_imp.hpp +0 -333
  1790. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/cv_traits_impl.hpp +0 -97
  1791. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/false_result.hpp +0 -28
  1792. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/size_t_trait_def.hpp +0 -60
  1793. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/size_t_trait_undef.hpp +0 -16
  1794. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/type_trait_def.hpp +0 -67
  1795. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/type_trait_undef.hpp +0 -19
  1796. data/src/cxx_supportlib/vendor-modified/boost/units/detail/utility.hpp +0 -104
@@ -1,6 +1,6 @@
1
1
  //////////////////////////////////////////////////////////////////////////////
2
2
  //
3
- // (C) Copyright Ion Gaztanaga 2011-2012. Distributed under the Boost
3
+ // (C) Copyright Ion Gaztanaga 2015-2015. Distributed under the Boost
4
4
  // Software License, Version 1.0. (See accompanying file
5
5
  // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
6
  //
@@ -11,70 +11,58 @@
11
11
  #ifndef BOOST_CONTAINER_ALLOCATOR_SCOPED_ALLOCATOR_FWD_HPP
12
12
  #define BOOST_CONTAINER_ALLOCATOR_SCOPED_ALLOCATOR_FWD_HPP
13
13
 
14
- #if (defined MSC_VER) && (_MSC_VER >= 1200)
14
+ //! \file
15
+ //! This header file forward declares boost::container::scoped_allocator_adaptor
16
+
17
+ #ifndef BOOST_CONFIG_HPP
18
+ # include <boost/config.hpp>
19
+ #endif
20
+
21
+ #if defined(BOOST_HAS_PRAGMA_ONCE)
15
22
  # pragma once
16
23
  #endif
17
24
 
18
25
  #include <boost/container/detail/config_begin.hpp>
19
26
  #include <boost/container/detail/workaround.hpp>
27
+ #include <boost/container/detail/std_fwd.hpp>
28
+ #include <boost/container/uses_allocator_fwd.hpp>
20
29
 
21
30
  #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
22
- #include <boost/container/detail/preprocessor.hpp>
23
- #include <boost/container/detail/type_traits.hpp>
31
+ #include <boost/move/detail/fwd_macros.hpp>
24
32
  #endif
25
33
 
26
34
  namespace boost { namespace container {
27
35
 
28
- ///@cond
36
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
29
37
 
30
38
  #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
31
39
 
32
40
  #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST)
33
41
 
34
- template <typename OuterAlloc, typename ...InnerAllocs>
35
- class scoped_allocator_adaptor;
42
+ template <typename OuterAlloc, typename ...InnerAllocs>
43
+ class scoped_allocator_adaptor;
36
44
 
37
45
  #else // #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST)
38
46
 
39
- template <typename ...InnerAllocs>
40
- class scoped_allocator_adaptor;
47
+ template <typename ...InnerAllocs>
48
+ class scoped_allocator_adaptor;
41
49
 
42
- template <typename OuterAlloc, typename ...InnerAllocs>
43
- class scoped_allocator_adaptor<OuterAlloc, InnerAllocs...>;
50
+ template <typename OuterAlloc, typename ...InnerAllocs>
51
+ class scoped_allocator_adaptor<OuterAlloc, InnerAllocs...>;
44
52
 
45
53
  #endif // #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST)
46
54
 
47
-
48
55
  #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
49
56
 
50
- template <typename OuterAlloc
51
- BOOST_PP_ENUM_TRAILING( BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS
52
- , BOOST_CONTAINER_PP_TEMPLATE_PARAM_WITH_DEFAULT, container_detail::nat)
53
- >
54
- class scoped_allocator_adaptor;
57
+ template <typename OuterAlloc, BOOST_MOVE_CLASSDFLT9>
58
+ class scoped_allocator_adaptor;
55
59
 
56
60
  #endif
57
61
 
58
- ///@endcond
59
-
60
- //! The allocator_arg_t struct is an empty structure type used as a unique type to
61
- //! disambiguate constructor and function overloading. Specifically, several types
62
- //! have constructors with allocator_arg_t as the first argument, immediately followed
63
- //! by an argument of a type that satisfies the Allocator requirements
64
- struct allocator_arg_t{};
65
-
66
- //! A instance of type allocator_arg_t
67
- //!
68
- static const allocator_arg_t allocator_arg = allocator_arg_t();
69
-
70
- template <class T>
71
- struct constructible_with_allocator_suffix;
72
62
 
73
- template <class T>
74
- struct constructible_with_allocator_prefix;
63
+ #else //BOOST_CONTAINER_DOXYGEN_INVOKED
75
64
 
76
- template <typename T, typename Alloc>
77
- struct uses_allocator;
65
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
78
66
 
79
67
  }} // namespace boost { namespace container {
80
68
 
@@ -1,6 +1,6 @@
1
1
  //////////////////////////////////////////////////////////////////////////////
2
2
  //
3
- // (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
3
+ // (C) Copyright Ion Gaztanaga 2005-2013. Distributed under the Boost
4
4
  // Software License, Version 1.0. (See accompanying file
5
5
  // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
6
  //
@@ -11,40 +11,42 @@
11
11
  #ifndef BOOST_CONTAINER_SET_HPP
12
12
  #define BOOST_CONTAINER_SET_HPP
13
13
 
14
- #if (defined _MSC_VER) && (_MSC_VER >= 1200)
14
+ #ifndef BOOST_CONFIG_HPP
15
+ # include <boost/config.hpp>
16
+ #endif
17
+
18
+ #if defined(BOOST_HAS_PRAGMA_ONCE)
15
19
  # pragma once
16
20
  #endif
17
21
 
18
22
  #include <boost/container/detail/config_begin.hpp>
19
23
  #include <boost/container/detail/workaround.hpp>
24
+ // container
20
25
  #include <boost/container/container_fwd.hpp>
21
-
22
- #include <utility>
23
- #include <functional>
24
- #include <memory>
25
-
26
- #include <boost/move/utility.hpp>
27
- #include <boost/move/detail/move_helpers.hpp>
26
+ // container/detail
28
27
  #include <boost/container/detail/mpl.hpp>
29
28
  #include <boost/container/detail/tree.hpp>
30
- #include <boost/move/utility.hpp>
31
- #ifndef BOOST_CONTAINER_PERFECT_FORWARDING
32
- #include <boost/container/detail/preprocessor.hpp>
29
+ #include <boost/container/new_allocator.hpp> //new_allocator
30
+ // intrusive/detail
31
+ #include <boost/intrusive/detail/minimal_pair_header.hpp> //pair
32
+ #include <boost/intrusive/detail/minimal_less_equal_header.hpp>//less, equal
33
+ // move
34
+ #include <boost/move/traits.hpp>
35
+ #include <boost/move/utility_core.hpp>
36
+ // move/detail
37
+ #include <boost/move/detail/move_helpers.hpp>
38
+ #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
39
+ #include <boost/move/detail/fwd_macros.hpp>
40
+ #endif
41
+ // std
42
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
43
+ #include <initializer_list>
33
44
  #endif
34
45
 
35
46
  namespace boost {
36
47
  namespace container {
37
48
 
38
- /// @cond
39
- // Forward declarations of operators < and ==, needed for friend declaration.
40
- template <class Key, class Compare, class Allocator>
41
- inline bool operator==(const set<Key,Compare,Allocator>& x,
42
- const set<Key,Compare,Allocator>& y);
43
-
44
- template <class Key, class Compare, class Allocator>
45
- inline bool operator<(const set<Key,Compare,Allocator>& x,
46
- const set<Key,Compare,Allocator>& y);
47
- /// @endcond
49
+ #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
48
50
 
49
51
  //! A set is a kind of associative container that supports unique keys (contains at
50
52
  //! most one of each key value) and provides for fast retrieval of the keys themselves.
@@ -53,20 +55,27 @@ inline bool operator<(const set<Key,Compare,Allocator>& x,
53
55
  //! A set satisfies all of the requirements of a container and of a reversible container
54
56
  //! , and of an associative container. A set also provides most operations described in
55
57
  //! for unique keys.
56
- #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
57
- template <class Key, class Compare = std::less<Key>, class Allocator = std::allocator<Key> >
58
+ //!
59
+ //! \tparam Key is the type to be inserted in the set, which is also the key_type
60
+ //! \tparam Compare is the comparison functor used to order keys
61
+ //! \tparam Allocator is the allocator to be used to allocate memory for this container
62
+ //! \tparam SetOptions is an packed option type generated using using boost::container::tree_assoc_options.
63
+ template <class Key, class Compare = std::less<Key>, class Allocator = new_allocator<Key>, class SetOptions = tree_assoc_defaults >
58
64
  #else
59
- template <class Key, class Compare, class Allocator>
65
+ template <class Key, class Compare, class Allocator, class SetOptions>
60
66
  #endif
61
67
  class set
68
+ ///@cond
69
+ : public container_detail::tree
70
+ < Key, Key, container_detail::identity<Key>, Compare, Allocator, SetOptions>
71
+ ///@endcond
62
72
  {
63
- /// @cond
73
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
64
74
  private:
65
75
  BOOST_COPYABLE_AND_MOVABLE(set)
66
- typedef container_detail::rbtree<Key, Key,
67
- container_detail::identity<Key>, Compare, Allocator> tree_t;
68
- tree_t m_tree; // red-black tree representing set
69
- /// @endcond
76
+ typedef container_detail::tree
77
+ < Key, Key, container_detail::identity<Key>, Compare, Allocator, SetOptions> base_t;
78
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
70
79
 
71
80
  public:
72
81
  //////////////////////////////////////////////
@@ -78,6 +87,7 @@ class set
78
87
  typedef Key value_type;
79
88
  typedef Compare key_compare;
80
89
  typedef Compare value_compare;
90
+ typedef ::boost::container::allocator_traits<Allocator> allocator_traits_type;
81
91
  typedef typename ::boost::container::allocator_traits<Allocator>::pointer pointer;
82
92
  typedef typename ::boost::container::allocator_traits<Allocator>::const_pointer const_pointer;
83
93
  typedef typename ::boost::container::allocator_traits<Allocator>::reference reference;
@@ -85,11 +95,11 @@ class set
85
95
  typedef typename ::boost::container::allocator_traits<Allocator>::size_type size_type;
86
96
  typedef typename ::boost::container::allocator_traits<Allocator>::difference_type difference_type;
87
97
  typedef Allocator allocator_type;
88
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::stored_allocator_type) stored_allocator_type;
89
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::iterator) iterator;
90
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::const_iterator) const_iterator;
91
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::reverse_iterator) reverse_iterator;
92
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::const_reverse_iterator) const_reverse_iterator;
98
+ typedef typename BOOST_CONTAINER_IMPDEF(base_t::stored_allocator_type) stored_allocator_type;
99
+ typedef typename BOOST_CONTAINER_IMPDEF(base_t::iterator) iterator;
100
+ typedef typename BOOST_CONTAINER_IMPDEF(base_t::const_iterator) const_iterator;
101
+ typedef typename BOOST_CONTAINER_IMPDEF(base_t::reverse_iterator) reverse_iterator;
102
+ typedef typename BOOST_CONTAINER_IMPDEF(base_t::const_reverse_iterator) const_reverse_iterator;
93
103
 
94
104
  //////////////////////////////////////////////
95
105
  //
@@ -101,7 +111,7 @@ class set
101
111
  //!
102
112
  //! <b>Complexity</b>: Constant.
103
113
  set()
104
- : m_tree()
114
+ : base_t()
105
115
  {}
106
116
 
107
117
  //! <b>Effects</b>: Constructs an empty set using the specified comparison object
@@ -110,7 +120,14 @@ class set
110
120
  //! <b>Complexity</b>: Constant.
111
121
  explicit set(const Compare& comp,
112
122
  const allocator_type& a = allocator_type())
113
- : m_tree(comp, a)
123
+ : base_t(comp, a)
124
+ {}
125
+
126
+ //! <b>Effects</b>: Constructs an empty set using the specified allocator object.
127
+ //!
128
+ //! <b>Complexity</b>: Constant.
129
+ explicit set(const allocator_type& a)
130
+ : base_t(a)
114
131
  {}
115
132
 
116
133
  //! <b>Effects</b>: Constructs an empty set using the specified comparison object and
@@ -121,7 +138,17 @@ class set
121
138
  template <class InputIterator>
122
139
  set(InputIterator first, InputIterator last, const Compare& comp = Compare(),
123
140
  const allocator_type& a = allocator_type())
124
- : m_tree(true, first, last, comp, a)
141
+ : base_t(true, first, last, comp, a)
142
+ {}
143
+
144
+ //! <b>Effects</b>: Constructs an empty set using the specified
145
+ //! allocator, and inserts elements from the range [first ,last ).
146
+ //!
147
+ //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
148
+ //! comp and otherwise N logN, where N is last - first.
149
+ template <class InputIterator>
150
+ set(InputIterator first, InputIterator last, const allocator_type& a)
151
+ : base_t(true, first, last, key_compare(), a)
125
152
  {}
126
153
 
127
154
  //! <b>Effects</b>: Constructs an empty set using the specified comparison object and
@@ -132,17 +159,54 @@ class set
132
159
  //! unique values.
133
160
  //!
134
161
  //! <b>Complexity</b>: Linear in N.
162
+ //!
163
+ //! <b>Note</b>: Non-standard extension.
135
164
  template <class InputIterator>
136
165
  set( ordered_unique_range_t, InputIterator first, InputIterator last
137
166
  , const Compare& comp = Compare(), const allocator_type& a = allocator_type())
138
- : m_tree(ordered_range, first, last, comp, a)
167
+ : base_t(ordered_range, first, last, comp, a)
139
168
  {}
140
169
 
170
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
171
+ //! <b>Effects</b>: Constructs an empty set using the specified comparison object and
172
+ //! allocator, and inserts elements from the range [il.begin(), il.end()).
173
+ //!
174
+ //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
175
+ //! comp and otherwise N logN, where N is il.begin() - il.end().
176
+ set(std::initializer_list<value_type> il, const Compare& comp = Compare(), const allocator_type& a = allocator_type())
177
+ : base_t(true, il.begin(), il.end(), comp, a)
178
+ {}
179
+
180
+ //! <b>Effects</b>: Constructs an empty set using the specified
181
+ //! allocator, and inserts elements from the range [il.begin(), il.end()).
182
+ //!
183
+ //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
184
+ //! comp and otherwise N logN, where N is il.begin() - il.end().
185
+ set(std::initializer_list<value_type> il, const allocator_type& a)
186
+ : base_t(true, il.begin(), il.end(), Compare(), a)
187
+ {}
188
+
189
+ //! <b>Effects</b>: Constructs an empty set using the specified comparison object and
190
+ //! allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function
191
+ //! is more efficient than the normal range creation for ordered ranges.
192
+ //!
193
+ //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
194
+ //! unique values.
195
+ //!
196
+ //! <b>Complexity</b>: Linear in N.
197
+ //!
198
+ //! <b>Note</b>: Non-standard extension.
199
+ set( ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp = Compare()
200
+ , const allocator_type& a = allocator_type())
201
+ : base_t(ordered_range, il.begin(), il.end(), comp, a)
202
+ {}
203
+ #endif
204
+
141
205
  //! <b>Effects</b>: Copy constructs a set.
142
206
  //!
143
207
  //! <b>Complexity</b>: Linear in x.size().
144
208
  set(const set& x)
145
- : m_tree(x.m_tree)
209
+ : base_t(static_cast<const base_t&>(x))
146
210
  {}
147
211
 
148
212
  //! <b>Effects</b>: Move constructs a set. Constructs *this using x's resources.
@@ -151,14 +215,14 @@ class set
151
215
  //!
152
216
  //! <b>Postcondition</b>: x is emptied.
153
217
  set(BOOST_RV_REF(set) x)
154
- : m_tree(boost::move(x.m_tree))
218
+ : base_t(BOOST_MOVE_BASE(base_t, x))
155
219
  {}
156
220
 
157
221
  //! <b>Effects</b>: Copy constructs a set using the specified allocator.
158
222
  //!
159
223
  //! <b>Complexity</b>: Linear in x.size().
160
224
  set(const set& x, const allocator_type &a)
161
- : m_tree(x.m_tree, a)
225
+ : base_t(static_cast<const base_t&>(x), a)
162
226
  {}
163
227
 
164
228
  //! <b>Effects</b>: Move constructs a set using the specified allocator.
@@ -166,27 +230,47 @@ class set
166
230
  //!
167
231
  //! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
168
232
  set(BOOST_RV_REF(set) x, const allocator_type &a)
169
- : m_tree(boost::move(x.m_tree), a)
233
+ : base_t(BOOST_MOVE_BASE(base_t, x), a)
170
234
  {}
171
235
 
172
236
  //! <b>Effects</b>: Makes *this a copy of x.
173
237
  //!
174
238
  //! <b>Complexity</b>: Linear in x.size().
175
239
  set& operator=(BOOST_COPY_ASSIGN_REF(set) x)
176
- { m_tree = x.m_tree; return *this; }
240
+ { return static_cast<set&>(this->base_t::operator=(static_cast<const base_t&>(x))); }
177
241
 
178
242
  //! <b>Effects</b>: this->swap(x.get()).
179
243
  //!
180
- //! <b>Complexity</b>: Constant.
244
+ //! <b>Throws</b>: If allocator_traits_type::propagate_on_container_move_assignment
245
+ //! is false and (allocation throws or value_type's move constructor throws)
246
+ //!
247
+ //! <b>Complexity</b>: Constant if allocator_traits_type::
248
+ //! propagate_on_container_move_assignment is true or
249
+ //! this->get>allocator() == x.get_allocator(). Linear otherwise.
181
250
  set& operator=(BOOST_RV_REF(set) x)
182
- { m_tree = boost::move(x.m_tree); return *this; }
251
+ BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
252
+ && boost::container::container_detail::is_nothrow_move_assignable<Compare>::value )
253
+ { return static_cast<set&>(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); }
254
+
255
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
256
+ //! <b>Effects</b>: Copy all elements from il to *this.
257
+ //!
258
+ //! <b>Complexity</b>: Linear in il.size().
259
+ set& operator=(std::initializer_list<value_type> il)
260
+ {
261
+ this->clear();
262
+ insert(il.begin(), il.end());
263
+ return *this;
264
+ }
265
+ #endif
266
+
267
+ #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
183
268
 
184
- //! <b>Effects</b>: Returns a copy of the Allocator that
269
+ //! <b>Effects</b>: Returns a copy of the allocator that
185
270
  //! was passed to the object's constructor.
186
271
  //!
187
272
  //! <b>Complexity</b>: Constant.
188
- allocator_type get_allocator() const
189
- { return m_tree.get_allocator(); }
273
+ allocator_type get_allocator() const;
190
274
 
191
275
  //! <b>Effects</b>: Returns a reference to the internal allocator.
192
276
  //!
@@ -195,8 +279,7 @@ class set
195
279
  //! <b>Complexity</b>: Constant.
196
280
  //!
197
281
  //! <b>Note</b>: Non-standard extension.
198
- const stored_allocator_type &get_stored_allocator() const
199
- { return m_tree.get_stored_allocator(); }
282
+ stored_allocator_type &get_stored_allocator();
200
283
 
201
284
  //! <b>Effects</b>: Returns a reference to the internal allocator.
202
285
  //!
@@ -205,107 +288,89 @@ class set
205
288
  //! <b>Complexity</b>: Constant.
206
289
  //!
207
290
  //! <b>Note</b>: Non-standard extension.
208
- stored_allocator_type &get_stored_allocator()
209
- { return m_tree.get_stored_allocator(); }
210
-
211
- //////////////////////////////////////////////
212
- //
213
- // capacity
214
- //
215
- //////////////////////////////////////////////
291
+ const stored_allocator_type &get_stored_allocator() const;
216
292
 
217
293
  //! <b>Effects</b>: Returns an iterator to the first element contained in the container.
218
294
  //!
219
295
  //! <b>Throws</b>: Nothing.
220
296
  //!
221
297
  //! <b>Complexity</b>: Constant
222
- iterator begin()
223
- { return m_tree.begin(); }
298
+ iterator begin();
224
299
 
225
300
  //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
226
301
  //!
227
302
  //! <b>Throws</b>: Nothing.
228
303
  //!
229
304
  //! <b>Complexity</b>: Constant.
230
- const_iterator begin() const
231
- { return m_tree.begin(); }
305
+ const_iterator begin() const;
232
306
 
233
- //! <b>Effects</b>: Returns an iterator to the end of the container.
307
+ //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
234
308
  //!
235
309
  //! <b>Throws</b>: Nothing.
236
310
  //!
237
311
  //! <b>Complexity</b>: Constant.
238
- iterator end()
239
- { return m_tree.end(); }
312
+ const_iterator cbegin() const;
240
313
 
241
- //! <b>Effects</b>: Returns a const_iterator to the end of the container.
314
+ //! <b>Effects</b>: Returns an iterator to the end of the container.
242
315
  //!
243
316
  //! <b>Throws</b>: Nothing.
244
317
  //!
245
318
  //! <b>Complexity</b>: Constant.
246
- const_iterator end() const
247
- { return m_tree.end(); }
319
+ iterator end();
248
320
 
249
- //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
250
- //! of the reversed container.
321
+ //! <b>Effects</b>: Returns a const_iterator to the end of the container.
251
322
  //!
252
323
  //! <b>Throws</b>: Nothing.
253
324
  //!
254
325
  //! <b>Complexity</b>: Constant.
255
- reverse_iterator rbegin()
256
- { return m_tree.rbegin(); }
326
+ const_iterator end() const;
257
327
 
258
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
259
- //! of the reversed container.
328
+ //! <b>Effects</b>: Returns a const_iterator to the end of the container.
260
329
  //!
261
330
  //! <b>Throws</b>: Nothing.
262
331
  //!
263
332
  //! <b>Complexity</b>: Constant.
264
- const_reverse_iterator rbegin() const
265
- { return m_tree.rbegin(); }
333
+ const_iterator cend() const;
266
334
 
267
- //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
335
+ //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
268
336
  //! of the reversed container.
269
337
  //!
270
338
  //! <b>Throws</b>: Nothing.
271
339
  //!
272
340
  //! <b>Complexity</b>: Constant.
273
- reverse_iterator rend()
274
- { return m_tree.rend(); }
341
+ reverse_iterator rbegin();
275
342
 
276
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
343
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
277
344
  //! of the reversed container.
278
345
  //!
279
346
  //! <b>Throws</b>: Nothing.
280
347
  //!
281
348
  //! <b>Complexity</b>: Constant.
282
- const_reverse_iterator rend() const
283
- { return m_tree.rend(); }
349
+ const_reverse_iterator rbegin() const;
284
350
 
285
- //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
351
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
352
+ //! of the reversed container.
286
353
  //!
287
354
  //! <b>Throws</b>: Nothing.
288
355
  //!
289
356
  //! <b>Complexity</b>: Constant.
290
- const_iterator cbegin() const
291
- { return m_tree.cbegin(); }
357
+ const_reverse_iterator crbegin() const;
292
358
 
293
- //! <b>Effects</b>: Returns a const_iterator to the end of the container.
359
+ //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
360
+ //! of the reversed container.
294
361
  //!
295
362
  //! <b>Throws</b>: Nothing.
296
363
  //!
297
364
  //! <b>Complexity</b>: Constant.
298
- const_iterator cend() const
299
- { return m_tree.cend(); }
365
+ reverse_iterator rend();
300
366
 
301
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
367
+ //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
302
368
  //! of the reversed container.
303
369
  //!
304
370
  //! <b>Throws</b>: Nothing.
305
371
  //!
306
372
  //! <b>Complexity</b>: Constant.
307
- const_reverse_iterator crbegin() const
308
- { return m_tree.crbegin(); }
373
+ const_reverse_iterator rend() const;
309
374
 
310
375
  //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
311
376
  //! of the reversed container.
@@ -313,46 +378,31 @@ class set
313
378
  //! <b>Throws</b>: Nothing.
314
379
  //!
315
380
  //! <b>Complexity</b>: Constant.
316
- const_reverse_iterator crend() const
317
- { return m_tree.crend(); }
318
-
319
- //////////////////////////////////////////////
320
- //
321
- // capacity
322
- //
323
- //////////////////////////////////////////////
381
+ const_reverse_iterator crend() const;
324
382
 
325
383
  //! <b>Effects</b>: Returns true if the container contains no elements.
326
384
  //!
327
385
  //! <b>Throws</b>: Nothing.
328
386
  //!
329
387
  //! <b>Complexity</b>: Constant.
330
- bool empty() const
331
- { return m_tree.empty(); }
388
+ bool empty() const;
332
389
 
333
390
  //! <b>Effects</b>: Returns the number of the elements contained in the container.
334
391
  //!
335
392
  //! <b>Throws</b>: Nothing.
336
393
  //!
337
394
  //! <b>Complexity</b>: Constant.
338
- size_type size() const
339
- { return m_tree.size(); }
395
+ size_type size() const;
340
396
 
341
397
  //! <b>Effects</b>: Returns the largest possible size of the container.
342
398
  //!
343
399
  //! <b>Throws</b>: Nothing.
344
400
  //!
345
401
  //! <b>Complexity</b>: Constant.
346
- size_type max_size() const
347
- { return m_tree.max_size(); }
402
+ size_type max_size() const;
403
+ #endif // #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
348
404
 
349
- //////////////////////////////////////////////
350
- //
351
- // modifiers
352
- //
353
- //////////////////////////////////////////////
354
-
355
- #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
405
+ #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
356
406
 
357
407
  //! <b>Effects</b>: Inserts an object x of type Key constructed with
358
408
  //! std::forward<Args>(args)... if and only if there is
@@ -369,8 +419,8 @@ class set
369
419
  //!
370
420
  //! <b>Complexity</b>: Logarithmic.
371
421
  template <class... Args>
372
- std::pair<iterator,bool> emplace(Args&&... args)
373
- { return m_tree.emplace_unique(boost::forward<Args>(args)...); }
422
+ std::pair<iterator,bool> emplace(BOOST_FWD_REF(Args)... args)
423
+ { return this->base_t::emplace_unique(boost::forward<Args>(args)...); }
374
424
 
375
425
  //! <b>Effects</b>: Inserts an object of type Key constructed with
376
426
  //! std::forward<Args>(args)... if and only if there is
@@ -382,26 +432,24 @@ class set
382
432
  //!
383
433
  //! <b>Complexity</b>: Logarithmic.
384
434
  template <class... Args>
385
- iterator emplace_hint(const_iterator hint, Args&&... args)
386
- { return m_tree.emplace_hint_unique(hint, boost::forward<Args>(args)...); }
387
-
388
- #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING
389
-
390
- #define BOOST_PP_LOCAL_MACRO(n) \
391
- BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \
392
- std::pair<iterator,bool> emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \
393
- { return m_tree.emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \
394
- \
395
- BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \
396
- iterator emplace_hint(const_iterator hint \
397
- BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \
398
- { return m_tree.emplace_hint_unique(hint \
399
- BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _));} \
400
- //!
401
- #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS)
402
- #include BOOST_PP_LOCAL_ITERATE()
435
+ iterator emplace_hint(const_iterator p, BOOST_FWD_REF(Args)... args)
436
+ { return this->base_t::emplace_hint_unique(p, boost::forward<Args>(args)...); }
437
+
438
+ #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
439
+
440
+ #define BOOST_CONTAINER_SET_EMPLACE_CODE(N) \
441
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
442
+ std::pair<iterator,bool> emplace(BOOST_MOVE_UREF##N)\
443
+ { return this->base_t::emplace_unique(BOOST_MOVE_FWD##N); }\
444
+ \
445
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
446
+ iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
447
+ { return this->base_t::emplace_hint_unique(hint BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\
448
+ //
449
+ BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_SET_EMPLACE_CODE)
450
+ #undef BOOST_CONTAINER_SET_EMPLACE_CODE
403
451
 
404
- #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING
452
+ #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
405
453
 
406
454
  #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
407
455
  //! <b>Effects</b>: Inserts x if and only if there is no element in the container
@@ -448,9 +496,9 @@ class set
448
496
  //! <b>Returns</b>: An iterator pointing to the element with key equivalent to the key of x.
449
497
  //!
450
498
  //! <b>Complexity</b>: Logarithmic.
451
- iterator insert(const_iterator position, value_type &&x);
499
+ iterator insert(const_iterator p, value_type &&x);
452
500
  #else
453
- BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator)
501
+ BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator)
454
502
  #endif
455
503
 
456
504
  //! <b>Requires</b>: first, last are not iterators into *this.
@@ -461,7 +509,18 @@ class set
461
509
  //! <b>Complexity</b>: At most N log(size()+N) (N is the distance from first to last)
462
510
  template <class InputIterator>
463
511
  void insert(InputIterator first, InputIterator last)
464
- { m_tree.insert_unique(first, last); }
512
+ { this->base_t::insert_unique(first, last); }
513
+
514
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
515
+ //! <b>Effects</b>: inserts each element from the range [il.begin(),il.end()) if and only
516
+ //! if there is no element with key equivalent to the key of that element.
517
+ //!
518
+ //! <b>Complexity</b>: At most N log(size()+N) (N is the distance from il.begin() to il.end())
519
+ void insert(std::initializer_list<value_type> il)
520
+ { this->base_t::insert_unique(il.begin(), il.end()); }
521
+ #endif
522
+
523
+ #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
465
524
 
466
525
  //! <b>Effects</b>: Erases the element pointed to by p.
467
526
  //!
@@ -470,24 +529,21 @@ class set
470
529
  //! returns end().
471
530
  //!
472
531
  //! <b>Complexity</b>: Amortized constant time
473
- iterator erase(const_iterator p)
474
- { return m_tree.erase(p); }
532
+ iterator erase(const_iterator p);
475
533
 
476
534
  //! <b>Effects</b>: Erases all elements in the container with key equivalent to x.
477
535
  //!
478
536
  //! <b>Returns</b>: Returns the number of erased elements.
479
537
  //!
480
538
  //! <b>Complexity</b>: log(size()) + count(k)
481
- size_type erase(const key_type& x)
482
- { return m_tree.erase(x); }
539
+ size_type erase(const key_type& x);
483
540
 
484
541
  //! <b>Effects</b>: Erases all the elements in the range [first, last).
485
542
  //!
486
543
  //! <b>Returns</b>: Returns last.
487
544
  //!
488
545
  //! <b>Complexity</b>: log(size())+N where N is the distance from first to last.
489
- iterator erase(const_iterator first, const_iterator last)
490
- { return m_tree.erase(first, last); }
546
+ iterator erase(const_iterator first, const_iterator last);
491
547
 
492
548
  //! <b>Effects</b>: Swaps the contents of *this and x.
493
549
  //!
@@ -495,178 +551,180 @@ class set
495
551
  //!
496
552
  //! <b>Complexity</b>: Constant.
497
553
  void swap(set& x)
498
- { m_tree.swap(x.m_tree); }
554
+ BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
555
+ && boost::container::container_detail::is_nothrow_swappable<Compare>::value );
499
556
 
500
557
  //! <b>Effects</b>: erase(a.begin(),a.end()).
501
558
  //!
502
559
  //! <b>Postcondition</b>: size() == 0.
503
560
  //!
504
561
  //! <b>Complexity</b>: linear in size().
505
- void clear()
506
- { m_tree.clear(); }
507
-
508
- //////////////////////////////////////////////
509
- //
510
- // observers
511
- //
512
- //////////////////////////////////////////////
562
+ void clear();
513
563
 
514
564
  //! <b>Effects</b>: Returns the comparison object out
515
565
  //! of which a was constructed.
516
566
  //!
517
567
  //! <b>Complexity</b>: Constant.
518
- key_compare key_comp() const
519
- { return m_tree.key_comp(); }
568
+ key_compare key_comp() const;
520
569
 
521
570
  //! <b>Effects</b>: Returns an object of value_compare constructed out
522
571
  //! of the comparison object.
523
572
  //!
524
573
  //! <b>Complexity</b>: Constant.
525
- value_compare value_comp() const
526
- { return m_tree.key_comp(); }
527
-
528
- //////////////////////////////////////////////
529
- //
530
- // set operations
531
- //
532
- //////////////////////////////////////////////
574
+ value_compare value_comp() const;
533
575
 
534
576
  //! <b>Returns</b>: An iterator pointing to an element with the key
535
577
  //! equivalent to x, or end() if such an element is not found.
536
578
  //!
537
579
  //! <b>Complexity</b>: Logarithmic.
538
- iterator find(const key_type& x)
539
- { return m_tree.find(x); }
580
+ iterator find(const key_type& x);
540
581
 
541
- //! <b>Returns</b>: Allocator const_iterator pointing to an element with the key
582
+ //! <b>Returns</b>: A const_iterator pointing to an element with the key
542
583
  //! equivalent to x, or end() if such an element is not found.
543
584
  //!
544
585
  //! <b>Complexity</b>: Logarithmic.
545
- const_iterator find(const key_type& x) const
546
- { return m_tree.find(x); }
586
+ const_iterator find(const key_type& x) const;
587
+
588
+ #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
547
589
 
548
590
  //! <b>Returns</b>: The number of elements with key equivalent to x.
549
591
  //!
550
592
  //! <b>Complexity</b>: log(size())+count(k)
551
593
  size_type count(const key_type& x) const
552
- { return m_tree.find(x) == m_tree.end() ? 0 : 1; }
594
+ { return static_cast<size_type>(this->base_t::find(x) != this->base_t::cend()); }
595
+
596
+ //! <b>Returns</b>: The number of elements with key equivalent to x.
597
+ //!
598
+ //! <b>Complexity</b>: log(size())+count(k)
599
+ size_type count(const key_type& x)
600
+ { return static_cast<size_type>(this->base_t::find(x) != this->base_t::end()); }
601
+
602
+ #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
553
603
 
554
604
  //! <b>Returns</b>: An iterator pointing to the first element with key not less
555
605
  //! than k, or a.end() if such an element is not found.
556
606
  //!
557
607
  //! <b>Complexity</b>: Logarithmic
558
- iterator lower_bound(const key_type& x)
559
- { return m_tree.lower_bound(x); }
608
+ iterator lower_bound(const key_type& x);
560
609
 
561
- //! <b>Returns</b>: Allocator const iterator pointing to the first element with key not
610
+ //! <b>Returns</b>: A const iterator pointing to the first element with key not
562
611
  //! less than k, or a.end() if such an element is not found.
563
612
  //!
564
613
  //! <b>Complexity</b>: Logarithmic
565
- const_iterator lower_bound(const key_type& x) const
566
- { return m_tree.lower_bound(x); }
614
+ const_iterator lower_bound(const key_type& x) const;
567
615
 
568
616
  //! <b>Returns</b>: An iterator pointing to the first element with key not less
569
617
  //! than x, or end() if such an element is not found.
570
618
  //!
571
619
  //! <b>Complexity</b>: Logarithmic
572
- iterator upper_bound(const key_type& x)
573
- { return m_tree.upper_bound(x); }
620
+ iterator upper_bound(const key_type& x);
574
621
 
575
- //! <b>Returns</b>: Allocator const iterator pointing to the first element with key not
622
+ //! <b>Returns</b>: A const iterator pointing to the first element with key not
576
623
  //! less than x, or end() if such an element is not found.
577
624
  //!
578
625
  //! <b>Complexity</b>: Logarithmic
579
- const_iterator upper_bound(const key_type& x) const
580
- { return m_tree.upper_bound(x); }
626
+ const_iterator upper_bound(const key_type& x) const;
627
+
628
+ #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
581
629
 
582
630
  //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
583
631
  //!
584
632
  //! <b>Complexity</b>: Logarithmic
585
633
  std::pair<iterator,iterator> equal_range(const key_type& x)
586
- { return m_tree.equal_range(x); }
634
+ { return this->base_t::lower_bound_range(x); }
587
635
 
588
636
  //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
589
637
  //!
590
638
  //! <b>Complexity</b>: Logarithmic
591
639
  std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
592
- { return m_tree.equal_range(x); }
640
+ { return this->base_t::lower_bound_range(x); }
593
641
 
594
- /// @cond
595
- template <class K1, class C1, class A1>
596
- friend bool operator== (const set<K1,C1,A1>&, const set<K1,C1,A1>&);
642
+ #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
597
643
 
598
- template <class K1, class C1, class A1>
599
- friend bool operator< (const set<K1,C1,A1>&, const set<K1,C1,A1>&);
644
+ //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
645
+ //!
646
+ //! <b>Complexity</b>: Logarithmic
647
+ std::pair<iterator,iterator> equal_range(const key_type& x);
600
648
 
601
- private:
602
- template <class KeyType>
603
- std::pair<iterator, bool> priv_insert(BOOST_FWD_REF(KeyType) x)
604
- { return m_tree.insert_unique(::boost::forward<KeyType>(x)); }
649
+ //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
650
+ //!
651
+ //! <b>Complexity</b>: Logarithmic
652
+ std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const;
605
653
 
606
- template <class KeyType>
607
- iterator priv_insert(const_iterator p, BOOST_FWD_REF(KeyType) x)
608
- { return m_tree.insert_unique(p, ::boost::forward<KeyType>(x)); }
609
- /// @endcond
610
- };
654
+ //! <b>Effects</b>: Rebalances the tree. It's a no-op for Red-Black and AVL trees.
655
+ //!
656
+ //! <b>Complexity</b>: Linear
657
+ void rebalance();
611
658
 
612
- template <class Key, class Compare, class Allocator>
613
- inline bool operator==(const set<Key,Compare,Allocator>& x,
614
- const set<Key,Compare,Allocator>& y)
615
- { return x.m_tree == y.m_tree; }
659
+ //! <b>Effects</b>: Returns true if x and y are equal
660
+ //!
661
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
662
+ friend bool operator==(const set& x, const set& y);
616
663
 
617
- template <class Key, class Compare, class Allocator>
618
- inline bool operator<(const set<Key,Compare,Allocator>& x,
619
- const set<Key,Compare,Allocator>& y)
620
- { return x.m_tree < y.m_tree; }
664
+ //! <b>Effects</b>: Returns true if x and y are unequal
665
+ //!
666
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
667
+ friend bool operator!=(const set& x, const set& y);
621
668
 
622
- template <class Key, class Compare, class Allocator>
623
- inline bool operator!=(const set<Key,Compare,Allocator>& x,
624
- const set<Key,Compare,Allocator>& y)
625
- { return !(x == y); }
669
+ //! <b>Effects</b>: Returns true if x is less than y
670
+ //!
671
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
672
+ friend bool operator<(const set& x, const set& y);
626
673
 
627
- template <class Key, class Compare, class Allocator>
628
- inline bool operator>(const set<Key,Compare,Allocator>& x,
629
- const set<Key,Compare,Allocator>& y)
630
- { return y < x; }
674
+ //! <b>Effects</b>: Returns true if x is greater than y
675
+ //!
676
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
677
+ friend bool operator>(const set& x, const set& y);
631
678
 
632
- template <class Key, class Compare, class Allocator>
633
- inline bool operator<=(const set<Key,Compare,Allocator>& x,
634
- const set<Key,Compare,Allocator>& y)
635
- { return !(y < x); }
679
+ //! <b>Effects</b>: Returns true if x is equal or less than y
680
+ //!
681
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
682
+ friend bool operator<=(const set& x, const set& y);
636
683
 
637
- template <class Key, class Compare, class Allocator>
638
- inline bool operator>=(const set<Key,Compare,Allocator>& x,
639
- const set<Key,Compare,Allocator>& y)
640
- { return !(x < y); }
684
+ //! <b>Effects</b>: Returns true if x is equal or greater than y
685
+ //!
686
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
687
+ friend bool operator>=(const set& x, const set& y);
641
688
 
642
- template <class Key, class Compare, class Allocator>
643
- inline void swap(set<Key,Compare,Allocator>& x, set<Key,Compare,Allocator>& y)
644
- { x.swap(y); }
689
+ //! <b>Effects</b>: x.swap(y)
690
+ //!
691
+ //! <b>Complexity</b>: Constant.
692
+ friend void swap(set& x, set& y);
645
693
 
646
- /// @cond
694
+ #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
695
+
696
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
697
+ private:
698
+ template <class KeyType>
699
+ std::pair<iterator, bool> priv_insert(BOOST_FWD_REF(KeyType) x)
700
+ { return this->base_t::insert_unique(::boost::forward<KeyType>(x)); }
701
+
702
+ template <class KeyType>
703
+ iterator priv_insert(const_iterator p, BOOST_FWD_REF(KeyType) x)
704
+ { return this->base_t::insert_unique(p, ::boost::forward<KeyType>(x)); }
705
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
706
+ };
707
+
708
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
647
709
 
648
710
  } //namespace container {
649
711
 
650
712
  //!has_trivial_destructor_after_move<> == true_type
651
713
  //!specialization for optimizations
652
- template <class Key, class C, class Allocator>
653
- struct has_trivial_destructor_after_move<boost::container::set<Key, C, Allocator> >
714
+ template <class Key, class Compare, class SetOptions, class Allocator>
715
+ struct has_trivial_destructor_after_move<boost::container::set<Key, Compare, Allocator, SetOptions> >
654
716
  {
655
- static const bool value = has_trivial_destructor_after_move<Allocator>::value && has_trivial_destructor_after_move<C>::value;
717
+ typedef typename ::boost::container::allocator_traits<Allocator>::pointer pointer;
718
+ static const bool value = ::boost::has_trivial_destructor_after_move<Allocator>::value &&
719
+ ::boost::has_trivial_destructor_after_move<pointer>::value &&
720
+ ::boost::has_trivial_destructor_after_move<Compare>::value;
656
721
  };
657
722
 
658
723
  namespace container {
659
724
 
660
- // Forward declaration of operators < and ==, needed for friend declaration.
725
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
661
726
 
662
- template <class Key, class Compare, class Allocator>
663
- inline bool operator==(const multiset<Key,Compare,Allocator>& x,
664
- const multiset<Key,Compare,Allocator>& y);
665
-
666
- template <class Key, class Compare, class Allocator>
667
- inline bool operator<(const multiset<Key,Compare,Allocator>& x,
668
- const multiset<Key,Compare,Allocator>& y);
669
- /// @endcond
727
+ #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
670
728
 
671
729
  //! A multiset is a kind of associative container that supports equivalent keys
672
730
  //! (possibly contains multiple copies of the same key value) and provides for
@@ -675,20 +733,27 @@ inline bool operator<(const multiset<Key,Compare,Allocator>& x,
675
733
  //! A multiset satisfies all of the requirements of a container and of a reversible
676
734
  //! container, and of an associative container). multiset also provides most operations
677
735
  //! described for duplicate keys.
678
- #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
679
- template <class Key, class Compare = std::less<Key>, class Allocator = std::allocator<Key> >
736
+ //!
737
+ //! \tparam Key is the type to be inserted in the set, which is also the key_type
738
+ //! \tparam Compare is the comparison functor used to order keys
739
+ //! \tparam Allocator is the allocator to be used to allocate memory for this container
740
+ //! \tparam MultiSetOptions is an packed option type generated using using boost::container::tree_assoc_options.
741
+ template <class Key, class Compare = std::less<Key>, class Allocator = new_allocator<Key>, class MultiSetOptions = tree_assoc_defaults >
680
742
  #else
681
- template <class Key, class Compare, class Allocator>
743
+ template <class Key, class Compare, class Allocator, class MultiSetOptions>
682
744
  #endif
683
745
  class multiset
684
- {
685
746
  /// @cond
747
+ : public container_detail::tree
748
+ <Key, Key,container_detail::identity<Key>, Compare, Allocator, MultiSetOptions>
749
+ /// @endcond
750
+ {
751
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
686
752
  private:
687
753
  BOOST_COPYABLE_AND_MOVABLE(multiset)
688
- typedef container_detail::rbtree<Key, Key,
689
- container_detail::identity<Key>, Compare, Allocator> tree_t;
690
- tree_t m_tree; // red-black tree representing multiset
691
- /// @endcond
754
+ typedef container_detail::tree
755
+ <Key, Key,container_detail::identity<Key>, Compare, Allocator, MultiSetOptions> base_t;
756
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
692
757
 
693
758
  public:
694
759
 
@@ -701,6 +766,7 @@ class multiset
701
766
  typedef Key value_type;
702
767
  typedef Compare key_compare;
703
768
  typedef Compare value_compare;
769
+ typedef ::boost::container::allocator_traits<Allocator> allocator_traits_type;
704
770
  typedef typename ::boost::container::allocator_traits<Allocator>::pointer pointer;
705
771
  typedef typename ::boost::container::allocator_traits<Allocator>::const_pointer const_pointer;
706
772
  typedef typename ::boost::container::allocator_traits<Allocator>::reference reference;
@@ -708,11 +774,11 @@ class multiset
708
774
  typedef typename ::boost::container::allocator_traits<Allocator>::size_type size_type;
709
775
  typedef typename ::boost::container::allocator_traits<Allocator>::difference_type difference_type;
710
776
  typedef Allocator allocator_type;
711
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::stored_allocator_type) stored_allocator_type;
712
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::iterator) iterator;
713
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::const_iterator) const_iterator;
714
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::reverse_iterator) reverse_iterator;
715
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::const_reverse_iterator) const_reverse_iterator;
777
+ typedef typename BOOST_CONTAINER_IMPDEF(base_t::stored_allocator_type) stored_allocator_type;
778
+ typedef typename BOOST_CONTAINER_IMPDEF(base_t::iterator) iterator;
779
+ typedef typename BOOST_CONTAINER_IMPDEF(base_t::const_iterator) const_iterator;
780
+ typedef typename BOOST_CONTAINER_IMPDEF(base_t::reverse_iterator) reverse_iterator;
781
+ typedef typename BOOST_CONTAINER_IMPDEF(base_t::const_reverse_iterator) const_reverse_iterator;
716
782
 
717
783
  //////////////////////////////////////////////
718
784
  //
@@ -720,33 +786,34 @@ class multiset
720
786
  //
721
787
  //////////////////////////////////////////////
722
788
 
723
- //! <b>Effects</b>: Constructs an empty multiset using the specified comparison
724
- //! object and allocator.
725
- //!
726
- //! <b>Complexity</b>: Constant.
789
+ //! @copydoc ::boost::container::set::set()
727
790
  multiset()
728
- : m_tree()
791
+ : base_t()
729
792
  {}
730
793
 
731
- //! <b>Effects</b>: Constructs an empty multiset using the specified comparison
732
- //! object and allocator.
733
- //!
734
- //! <b>Complexity</b>: Constant.
794
+ //! @copydoc ::boost::container::set::set(const Compare&, const allocator_type&)
735
795
  explicit multiset(const Compare& comp,
736
796
  const allocator_type& a = allocator_type())
737
- : m_tree(comp, a)
797
+ : base_t(comp, a)
738
798
  {}
739
799
 
740
- //! <b>Effects</b>: Constructs an empty multiset using the specified comparison object
741
- //! and allocator, and inserts elements from the range [first ,last ).
742
- //!
743
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
744
- //! comp and otherwise N logN, where N is last - first.
800
+ //! @copydoc ::boost::container::set::set(const allocator_type&)
801
+ explicit multiset(const allocator_type& a)
802
+ : base_t(a)
803
+ {}
804
+
805
+ //! @copydoc ::boost::container::set::set(InputIterator, InputIterator, const Compare& comp, const allocator_type&)
745
806
  template <class InputIterator>
746
807
  multiset(InputIterator first, InputIterator last,
747
808
  const Compare& comp = Compare(),
748
809
  const allocator_type& a = allocator_type())
749
- : m_tree(false, first, last, comp, a)
810
+ : base_t(false, first, last, comp, a)
811
+ {}
812
+
813
+ //! @copydoc ::boost::container::set::set(InputIterator, InputIterator, const allocator_type&)
814
+ template <class InputIterator>
815
+ multiset(InputIterator first, InputIterator last, const allocator_type& a)
816
+ : base_t(false, first, last, key_compare(), a)
750
817
  {}
751
818
 
752
819
  //! <b>Effects</b>: Constructs an empty multiset using the specified comparison object and
@@ -756,230 +823,130 @@ class multiset
756
823
  //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
757
824
  //!
758
825
  //! <b>Complexity</b>: Linear in N.
826
+ //!
827
+ //! <b>Note</b>: Non-standard extension.
759
828
  template <class InputIterator>
760
829
  multiset( ordered_range_t, InputIterator first, InputIterator last
761
830
  , const Compare& comp = Compare()
762
831
  , const allocator_type& a = allocator_type())
763
- : m_tree(ordered_range, first, last, comp, a)
832
+ : base_t(ordered_range, first, last, comp, a)
764
833
  {}
765
834
 
766
- //! <b>Effects</b>: Copy constructs a multiset.
767
- //!
768
- //! <b>Complexity</b>: Linear in x.size().
835
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
836
+ //! @copydoc ::boost::container::set::set(std::initializer_list<value_type>, const Compare& comp, const allocator_type&)
837
+ multiset(std::initializer_list<value_type> il, const Compare& comp = Compare(), const allocator_type& a = allocator_type())
838
+ : base_t(false, il.begin(), il.end(), comp, a)
839
+ {}
840
+
841
+ //! @copydoc ::boost::container::set::set(std::initializer_list<value_type>, const allocator_type&)
842
+ multiset(std::initializer_list<value_type> il, const allocator_type& a)
843
+ : base_t(false, il.begin(), il.end(), Compare(), a)
844
+ {}
845
+
846
+ //! @copydoc ::boost::container::set::set(ordered_unique_range_t, std::initializer_list<value_type>, const Compare& comp, const allocator_type&)
847
+ multiset(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp = Compare(), const allocator_type& a = allocator_type())
848
+ : base_t(ordered_range, il.begin(), il.end(), comp, a)
849
+ {}
850
+ #endif
851
+
852
+ //! @copydoc ::boost::container::set::set(const set &)
769
853
  multiset(const multiset& x)
770
- : m_tree(x.m_tree)
854
+ : base_t(static_cast<const base_t&>(x))
771
855
  {}
772
856
 
773
- //! <b>Effects</b>: Move constructs a multiset. Constructs *this using x's resources.
774
- //!
775
- //! <b>Complexity</b>: Constant.
776
- //!
777
- //! <b>Postcondition</b>: x is emptied.
857
+ //! @copydoc ::boost::container::set::set(set &&)
778
858
  multiset(BOOST_RV_REF(multiset) x)
779
- : m_tree(boost::move(x.m_tree))
859
+ : base_t(BOOST_MOVE_BASE(base_t, x))
780
860
  {}
781
861
 
782
- //! <b>Effects</b>: Copy constructs a multiset using the specified allocator.
783
- //!
784
- //! <b>Complexity</b>: Linear in x.size().
862
+ //! @copydoc ::boost::container::set::set(const set &, const allocator_type &)
785
863
  multiset(const multiset& x, const allocator_type &a)
786
- : m_tree(x.m_tree, a)
864
+ : base_t(static_cast<const base_t&>(x), a)
787
865
  {}
788
866
 
789
- //! <b>Effects</b>: Move constructs a multiset using the specified allocator.
790
- //! Constructs *this using x's resources.
791
- //!
792
- //! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
793
- //!
794
- //! <b>Postcondition</b>: x is emptied.
867
+ //! @copydoc ::boost::container::set::set(set &&, const allocator_type &)
795
868
  multiset(BOOST_RV_REF(multiset) x, const allocator_type &a)
796
- : m_tree(boost::move(x.m_tree), a)
869
+ : base_t(BOOST_MOVE_BASE(base_t, x), a)
797
870
  {}
798
871
 
799
- //! <b>Effects</b>: Makes *this a copy of x.
800
- //!
801
- //! <b>Complexity</b>: Linear in x.size().
872
+ //! @copydoc ::boost::container::set::operator=(const set &)
802
873
  multiset& operator=(BOOST_COPY_ASSIGN_REF(multiset) x)
803
- { m_tree = x.m_tree; return *this; }
874
+ { return static_cast<multiset&>(this->base_t::operator=(static_cast<const base_t&>(x))); }
804
875
 
805
- //! <b>Effects</b>: this->swap(x.get()).
806
- //!
807
- //! <b>Complexity</b>: Constant.
876
+ //! @copydoc ::boost::container::set::operator=(set &&)
808
877
  multiset& operator=(BOOST_RV_REF(multiset) x)
809
- { m_tree = boost::move(x.m_tree); return *this; }
810
-
811
- //! <b>Effects</b>: Returns a copy of the Allocator that
812
- //! was passed to the object's constructor.
813
- //!
814
- //! <b>Complexity</b>: Constant.
815
- allocator_type get_allocator() const
816
- { return m_tree.get_allocator(); }
817
-
818
- //! <b>Effects</b>: Returns a reference to the internal allocator.
819
- //!
820
- //! <b>Throws</b>: Nothing
821
- //!
822
- //! <b>Complexity</b>: Constant.
823
- //!
824
- //! <b>Note</b>: Non-standard extension.
825
- stored_allocator_type &get_stored_allocator()
826
- { return m_tree.get_stored_allocator(); }
878
+ BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
879
+ && boost::container::container_detail::is_nothrow_move_assignable<Compare>::value )
880
+ { return static_cast<multiset&>(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); }
881
+
882
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
883
+ //! @copydoc ::boost::container::set::operator=(std::initializer_list<value_type>)
884
+ multiset& operator=(std::initializer_list<value_type> il)
885
+ {
886
+ this->clear();
887
+ insert(il.begin(), il.end());
888
+ return *this;
889
+ }
890
+ #endif
891
+ #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
827
892
 
828
- //! <b>Effects</b>: Returns a reference to the internal allocator.
829
- //!
830
- //! <b>Throws</b>: Nothing
831
- //!
832
- //! <b>Complexity</b>: Constant.
833
- //!
834
- //! <b>Note</b>: Non-standard extension.
835
- const stored_allocator_type &get_stored_allocator() const
836
- { return m_tree.get_stored_allocator(); }
893
+ //! @copydoc ::boost::container::set::get_allocator()
894
+ allocator_type get_allocator() const;
837
895
 
838
- //////////////////////////////////////////////
839
- //
840
- // iterators
841
- //
842
- //////////////////////////////////////////////
896
+ //! @copydoc ::boost::container::set::get_stored_allocator()
897
+ stored_allocator_type &get_stored_allocator();
843
898
 
844
- //! <b>Effects</b>: Returns an iterator to the first element contained in the container.
845
- //!
846
- //! <b>Throws</b>: Nothing.
847
- //!
848
- //! <b>Complexity</b>: Constant.
849
- iterator begin()
850
- { return m_tree.begin(); }
899
+ //! @copydoc ::boost::container::set::get_stored_allocator() const
900
+ const stored_allocator_type &get_stored_allocator() const;
851
901
 
852
- //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
853
- //!
854
- //! <b>Throws</b>: Nothing.
855
- //!
856
- //! <b>Complexity</b>: Constant.
857
- const_iterator begin() const
858
- { return m_tree.begin(); }
902
+ //! @copydoc ::boost::container::set::begin()
903
+ iterator begin();
859
904
 
860
- //! <b>Effects</b>: Returns an iterator to the end of the container.
861
- //!
862
- //! <b>Throws</b>: Nothing.
863
- //!
864
- //! <b>Complexity</b>: Constant.
865
- iterator end()
866
- { return m_tree.end(); }
905
+ //! @copydoc ::boost::container::set::begin() const
906
+ const_iterator begin() const;
867
907
 
868
- //! <b>Effects</b>: Returns a const_iterator to the end of the container.
869
- //!
870
- //! <b>Throws</b>: Nothing.
871
- //!
872
- //! <b>Complexity</b>: Constant.
873
- const_iterator end() const
874
- { return m_tree.end(); }
908
+ //! @copydoc ::boost::container::set::cbegin() const
909
+ const_iterator cbegin() const;
875
910
 
876
- //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
877
- //! of the reversed container.
878
- //!
879
- //! <b>Throws</b>: Nothing.
880
- //!
881
- //! <b>Complexity</b>: Constant.
882
- reverse_iterator rbegin()
883
- { return m_tree.rbegin(); }
911
+ //! @copydoc ::boost::container::set::end()
912
+ iterator end() BOOST_NOEXCEPT_OR_NOTHROW;
884
913
 
885
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
886
- //! of the reversed container.
887
- //!
888
- //! <b>Throws</b>: Nothing.
889
- //!
890
- //! <b>Complexity</b>: Constant.
891
- const_reverse_iterator rbegin() const
892
- { return m_tree.rbegin(); }
914
+ //! @copydoc ::boost::container::set::end() const
915
+ const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW;
893
916
 
894
- //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
895
- //! of the reversed container.
896
- //!
897
- //! <b>Throws</b>: Nothing.
898
- //!
899
- //! <b>Complexity</b>: Constant.
900
- reverse_iterator rend()
901
- { return m_tree.rend(); }
917
+ //! @copydoc ::boost::container::set::cend() const
918
+ const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW;
902
919
 
903
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
904
- //! of the reversed container.
905
- //!
906
- //! <b>Throws</b>: Nothing.
907
- //!
908
- //! <b>Complexity</b>: Constant.
909
- const_reverse_iterator rend() const
910
- { return m_tree.rend(); }
920
+ //! @copydoc ::boost::container::set::rbegin()
921
+ reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW;
911
922
 
912
- //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
913
- //!
914
- //! <b>Throws</b>: Nothing.
915
- //!
916
- //! <b>Complexity</b>: Constant.
917
- const_iterator cbegin() const
918
- { return m_tree.cbegin(); }
923
+ //! @copydoc ::boost::container::set::rbegin() const
924
+ const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW;
919
925
 
920
- //! <b>Effects</b>: Returns a const_iterator to the end of the container.
921
- //!
922
- //! <b>Throws</b>: Nothing.
923
- //!
924
- //! <b>Complexity</b>: Constant.
925
- const_iterator cend() const
926
- { return m_tree.cend(); }
926
+ //! @copydoc ::boost::container::set::crbegin() const
927
+ const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW;
927
928
 
928
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
929
- //! of the reversed container.
930
- //!
931
- //! <b>Throws</b>: Nothing.
932
- //!
933
- //! <b>Complexity</b>: Constant.
934
- const_reverse_iterator crbegin() const
935
- { return m_tree.crbegin(); }
929
+ //! @copydoc ::boost::container::set::rend()
930
+ reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW;
936
931
 
937
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
938
- //! of the reversed container.
939
- //!
940
- //! <b>Throws</b>: Nothing.
941
- //!
942
- //! <b>Complexity</b>: Constant.
943
- const_reverse_iterator crend() const
944
- { return m_tree.crend(); }
932
+ //! @copydoc ::boost::container::set::rend() const
933
+ const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW;
945
934
 
946
- //////////////////////////////////////////////
947
- //
948
- // capacity
949
- //
950
- //////////////////////////////////////////////
935
+ //! @copydoc ::boost::container::set::crend() const
936
+ const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW;
951
937
 
952
- //! <b>Effects</b>: Returns true if the container contains no elements.
953
- //!
954
- //! <b>Throws</b>: Nothing.
955
- //!
956
- //! <b>Complexity</b>: Constant.
957
- bool empty() const
958
- { return m_tree.empty(); }
938
+ //! @copydoc ::boost::container::set::empty() const
939
+ bool empty() const;
959
940
 
960
- //! <b>Effects</b>: Returns the number of the elements contained in the container.
961
- //!
962
- //! <b>Throws</b>: Nothing.
963
- //!
964
- //! <b>Complexity</b>: Constant.
965
- size_type size() const
966
- { return m_tree.size(); }
941
+ //! @copydoc ::boost::container::set::size() const
942
+ size_type size() const;
967
943
 
968
- //! <b>Effects</b>: Returns the largest possible size of the container.
969
- //!
970
- //! <b>Throws</b>: Nothing.
971
- //!
972
- //! <b>Complexity</b>: Constant.
973
- size_type max_size() const
974
- { return m_tree.max_size(); }
944
+ //! @copydoc ::boost::container::set::max_size() const
945
+ size_type max_size() const;
975
946
 
976
- //////////////////////////////////////////////
977
- //
978
- // modifiers
979
- //
980
- //////////////////////////////////////////////
947
+ #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
981
948
 
982
- #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
949
+ #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
983
950
 
984
951
  //! <b>Effects</b>: Inserts an object of type Key constructed with
985
952
  //! std::forward<Args>(args)... and returns the iterator pointing to the
@@ -987,8 +954,8 @@ class multiset
987
954
  //!
988
955
  //! <b>Complexity</b>: Logarithmic.
989
956
  template <class... Args>
990
- iterator emplace(Args&&... args)
991
- { return m_tree.emplace_equal(boost::forward<Args>(args)...); }
957
+ iterator emplace(BOOST_FWD_REF(Args)... args)
958
+ { return this->base_t::emplace_equal(boost::forward<Args>(args)...); }
992
959
 
993
960
  //! <b>Effects</b>: Inserts an object of type Key constructed with
994
961
  //! std::forward<Args>(args)...
@@ -999,29 +966,24 @@ class multiset
999
966
  //! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
1000
967
  //! is inserted right before p.
1001
968
  template <class... Args>
1002
- iterator emplace_hint(const_iterator hint, Args&&... args)
1003
- { return m_tree.emplace_hint_equal(hint, boost::forward<Args>(args)...); }
1004
-
1005
- #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING
1006
-
1007
- #define BOOST_PP_LOCAL_MACRO(n) \
1008
- BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \
1009
- iterator emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \
1010
- { return m_tree.emplace_equal(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \
1011
- \
1012
- BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \
1013
- iterator emplace_hint(const_iterator hint \
1014
- BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \
1015
- { return m_tree.emplace_hint_equal(hint \
1016
- BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _));} \
1017
- //!
1018
- #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS)
1019
- #include BOOST_PP_LOCAL_ITERATE()
1020
-
1021
- #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING
1022
-
1023
-
969
+ iterator emplace_hint(const_iterator p, BOOST_FWD_REF(Args)... args)
970
+ { return this->base_t::emplace_hint_equal(p, boost::forward<Args>(args)...); }
971
+
972
+ #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
973
+
974
+ #define BOOST_CONTAINER_MULTISET_EMPLACE_CODE(N) \
975
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
976
+ iterator emplace(BOOST_MOVE_UREF##N)\
977
+ { return this->base_t::emplace_equal(BOOST_MOVE_FWD##N); }\
978
+ \
979
+ BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
980
+ iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
981
+ { return this->base_t::emplace_hint_equal(hint BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\
982
+ //
983
+ BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_MULTISET_EMPLACE_CODE)
984
+ #undef BOOST_CONTAINER_MULTISET_EMPLACE_CODE
1024
985
 
986
+ #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
1025
987
 
1026
988
  #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1027
989
  //! <b>Effects</b>: Inserts x and returns the iterator pointing to the
@@ -1061,9 +1023,9 @@ class multiset
1061
1023
  //!
1062
1024
  //! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
1063
1025
  //! is inserted right before p.
1064
- iterator insert(const_iterator position, value_type &&x);
1026
+ iterator insert(const_iterator p, value_type &&x);
1065
1027
  #else
1066
- BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator)
1028
+ BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator)
1067
1029
  #endif
1068
1030
 
1069
1031
  //! <b>Requires</b>: first, last are not iterators into *this.
@@ -1073,208 +1035,140 @@ class multiset
1073
1035
  //! <b>Complexity</b>: At most N log(size()+N) (N is the distance from first to last)
1074
1036
  template <class InputIterator>
1075
1037
  void insert(InputIterator first, InputIterator last)
1076
- { m_tree.insert_equal(first, last); }
1038
+ { this->base_t::insert_equal(first, last); }
1077
1039
 
1078
- //! <b>Effects</b>: Erases the element pointed to by p.
1079
- //!
1080
- //! <b>Returns</b>: Returns an iterator pointing to the element immediately
1081
- //! following q prior to the element being erased. If no such element exists,
1082
- //! returns end().
1083
- //!
1084
- //! <b>Complexity</b>: Amortized constant time
1085
- iterator erase(const_iterator p)
1086
- { return m_tree.erase(p); }
1040
+ #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1041
+ //! @copydoc ::boost::container::set::insert(std::initializer_list<value_type>)
1042
+ void insert(std::initializer_list<value_type> il)
1043
+ { this->base_t::insert_equal(il.begin(), il.end()); }
1044
+ #endif
1087
1045
 
1088
- //! <b>Effects</b>: Erases all elements in the container with key equivalent to x.
1089
- //!
1090
- //! <b>Returns</b>: Returns the number of erased elements.
1091
- //!
1092
- //! <b>Complexity</b>: log(size()) + count(k)
1093
- size_type erase(const key_type& x)
1094
- { return m_tree.erase(x); }
1046
+ #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1095
1047
 
1096
- //! <b>Effects</b>: Erases all the elements in the range [first, last).
1097
- //!
1098
- //! <b>Returns</b>: Returns last.
1099
- //!
1100
- //! <b>Complexity</b>: log(size())+N where N is the distance from first to last.
1101
- iterator erase(const_iterator first, const_iterator last)
1102
- { return m_tree.erase(first, last); }
1048
+ //! @copydoc ::boost::container::set::erase(const_iterator)
1049
+ iterator erase(const_iterator p);
1103
1050
 
1104
- //! <b>Effects</b>: Swaps the contents of *this and x.
1105
- //!
1106
- //! <b>Throws</b>: Nothing.
1107
- //!
1108
- //! <b>Complexity</b>: Constant.
1051
+ //! @copydoc ::boost::container::set::erase(const key_type&)
1052
+ size_type erase(const key_type& x);
1053
+
1054
+ //! @copydoc ::boost::container::set::erase(const_iterator,const_iterator)
1055
+ iterator erase(const_iterator first, const_iterator last);
1056
+
1057
+ //! @copydoc ::boost::container::set::swap
1109
1058
  void swap(multiset& x)
1110
- { m_tree.swap(x.m_tree); }
1059
+ BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
1060
+ && boost::container::container_detail::is_nothrow_swappable<Compare>::value );
1111
1061
 
1112
- //! <b>Effects</b>: erase(a.begin(),a.end()).
1113
- //!
1114
- //! <b>Postcondition</b>: size() == 0.
1115
- //!
1116
- //! <b>Complexity</b>: linear in size().
1117
- void clear()
1118
- { m_tree.clear(); }
1062
+ //! @copydoc ::boost::container::set::clear
1063
+ void clear() BOOST_NOEXCEPT_OR_NOTHROW;
1119
1064
 
1120
- //////////////////////////////////////////////
1121
- //
1122
- // observers
1123
- //
1124
- //////////////////////////////////////////////
1065
+ //! @copydoc ::boost::container::set::key_comp
1066
+ key_compare key_comp() const;
1125
1067
 
1126
- //! <b>Effects</b>: Returns the comparison object out
1127
- //! of which a was constructed.
1128
- //!
1129
- //! <b>Complexity</b>: Constant.
1130
- key_compare key_comp() const
1131
- { return m_tree.key_comp(); }
1068
+ //! @copydoc ::boost::container::set::value_comp
1069
+ value_compare value_comp() const;
1132
1070
 
1133
- //! <b>Effects</b>: Returns an object of value_compare constructed out
1134
- //! of the comparison object.
1135
- //!
1136
- //! <b>Complexity</b>: Constant.
1137
- value_compare value_comp() const
1138
- { return m_tree.key_comp(); }
1071
+ //! @copydoc ::boost::container::set::find(const key_type& )
1072
+ iterator find(const key_type& x);
1139
1073
 
1140
- //////////////////////////////////////////////
1141
- //
1142
- // set operations
1143
- //
1144
- //////////////////////////////////////////////
1074
+ //! @copydoc ::boost::container::set::find(const key_type& ) const
1075
+ const_iterator find(const key_type& x) const;
1145
1076
 
1146
- //! <b>Returns</b>: An iterator pointing to an element with the key
1147
- //! equivalent to x, or end() if such an element is not found.
1148
- //!
1149
- //! <b>Complexity</b>: Logarithmic.
1150
- iterator find(const key_type& x)
1151
- { return m_tree.find(x); }
1077
+ //! @copydoc ::boost::container::set::count(const key_type& ) const
1078
+ size_type count(const key_type& x) const;
1152
1079
 
1153
- //! <b>Returns</b>: Allocator const iterator pointing to an element with the key
1154
- //! equivalent to x, or end() if such an element is not found.
1155
- //!
1156
- //! <b>Complexity</b>: Logarithmic.
1157
- const_iterator find(const key_type& x) const
1158
- { return m_tree.find(x); }
1080
+ //! @copydoc ::boost::container::set::lower_bound(const key_type& )
1081
+ iterator lower_bound(const key_type& x);
1159
1082
 
1160
- //! <b>Returns</b>: The number of elements with key equivalent to x.
1083
+ //! @copydoc ::boost::container::set::lower_bound(const key_type& ) const
1084
+ const_iterator lower_bound(const key_type& x) const;
1085
+
1086
+ //! @copydoc ::boost::container::set::upper_bound(const key_type& )
1087
+ iterator upper_bound(const key_type& x);
1088
+
1089
+ //! @copydoc ::boost::container::set::upper_bound(const key_type& ) const
1090
+ const_iterator upper_bound(const key_type& x) const;
1091
+
1092
+ //! @copydoc ::boost::container::set::equal_range(const key_type& ) const
1093
+ std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const;
1094
+
1095
+ //! @copydoc ::boost::container::set::equal_range(const key_type& )
1096
+ std::pair<iterator,iterator> equal_range(const key_type& x);
1097
+
1098
+ //! @copydoc ::boost::container::set::rebalance()
1099
+ void rebalance();
1100
+
1101
+ //! <b>Effects</b>: Returns true if x and y are equal
1161
1102
  //!
1162
- //! <b>Complexity</b>: log(size())+count(k)
1163
- size_type count(const key_type& x) const
1164
- { return m_tree.count(x); }
1103
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
1104
+ friend bool operator==(const multiset& x, const multiset& y);
1165
1105
 
1166
- //! <b>Returns</b>: An iterator pointing to the first element with key not less
1167
- //! than k, or a.end() if such an element is not found.
1106
+ //! <b>Effects</b>: Returns true if x and y are unequal
1168
1107
  //!
1169
- //! <b>Complexity</b>: Logarithmic
1170
- iterator lower_bound(const key_type& x)
1171
- { return m_tree.lower_bound(x); }
1108
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
1109
+ friend bool operator!=(const multiset& x, const multiset& y);
1172
1110
 
1173
- //! <b>Returns</b>: Allocator const iterator pointing to the first element with key not
1174
- //! less than k, or a.end() if such an element is not found.
1111
+ //! <b>Effects</b>: Returns true if x is less than y
1175
1112
  //!
1176
- //! <b>Complexity</b>: Logarithmic
1177
- const_iterator lower_bound(const key_type& x) const
1178
- { return m_tree.lower_bound(x); }
1113
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
1114
+ friend bool operator<(const multiset& x, const multiset& y);
1179
1115
 
1180
- //! <b>Returns</b>: An iterator pointing to the first element with key not less
1181
- //! than x, or end() if such an element is not found.
1116
+ //! <b>Effects</b>: Returns true if x is greater than y
1182
1117
  //!
1183
- //! <b>Complexity</b>: Logarithmic
1184
- iterator upper_bound(const key_type& x)
1185
- { return m_tree.upper_bound(x); }
1118
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
1119
+ friend bool operator>(const multiset& x, const multiset& y);
1186
1120
 
1187
- //! <b>Returns</b>: Allocator const iterator pointing to the first element with key not
1188
- //! less than x, or end() if such an element is not found.
1121
+ //! <b>Effects</b>: Returns true if x is equal or less than y
1189
1122
  //!
1190
- //! <b>Complexity</b>: Logarithmic
1191
- const_iterator upper_bound(const key_type& x) const
1192
- { return m_tree.upper_bound(x); }
1123
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
1124
+ friend bool operator<=(const multiset& x, const multiset& y);
1193
1125
 
1194
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
1126
+ //! <b>Effects</b>: Returns true if x is equal or greater than y
1195
1127
  //!
1196
- //! <b>Complexity</b>: Logarithmic
1197
- std::pair<iterator,iterator> equal_range(const key_type& x)
1198
- { return m_tree.equal_range(x); }
1128
+ //! <b>Complexity</b>: Linear to the number of elements in the container.
1129
+ friend bool operator>=(const multiset& x, const multiset& y);
1199
1130
 
1200
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
1131
+ //! <b>Effects</b>: x.swap(y)
1201
1132
  //!
1202
- //! <b>Complexity</b>: Logarithmic
1203
- std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
1204
- { return m_tree.equal_range(x); }
1133
+ //! <b>Complexity</b>: Constant.
1134
+ friend void swap(multiset& x, multiset& y);
1205
1135
 
1206
- /// @cond
1207
- template <class K1, class C1, class A1>
1208
- friend bool operator== (const multiset<K1,C1,A1>&,
1209
- const multiset<K1,C1,A1>&);
1210
- template <class K1, class C1, class A1>
1211
- friend bool operator< (const multiset<K1,C1,A1>&,
1212
- const multiset<K1,C1,A1>&);
1136
+ #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
1137
+
1138
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1213
1139
  private:
1214
1140
  template <class KeyType>
1215
1141
  iterator priv_insert(BOOST_FWD_REF(KeyType) x)
1216
- { return m_tree.insert_equal(::boost::forward<KeyType>(x)); }
1142
+ { return this->base_t::insert_equal(::boost::forward<KeyType>(x)); }
1217
1143
 
1218
1144
  template <class KeyType>
1219
1145
  iterator priv_insert(const_iterator p, BOOST_FWD_REF(KeyType) x)
1220
- { return m_tree.insert_equal(p, ::boost::forward<KeyType>(x)); }
1146
+ { return this->base_t::insert_equal(p, ::boost::forward<KeyType>(x)); }
1221
1147
 
1222
- /// @endcond
1148
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1223
1149
  };
1224
1150
 
1225
- template <class Key, class Compare, class Allocator>
1226
- inline bool operator==(const multiset<Key,Compare,Allocator>& x,
1227
- const multiset<Key,Compare,Allocator>& y)
1228
- { return x.m_tree == y.m_tree; }
1229
-
1230
- template <class Key, class Compare, class Allocator>
1231
- inline bool operator<(const multiset<Key,Compare,Allocator>& x,
1232
- const multiset<Key,Compare,Allocator>& y)
1233
- { return x.m_tree < y.m_tree; }
1234
-
1235
- template <class Key, class Compare, class Allocator>
1236
- inline bool operator!=(const multiset<Key,Compare,Allocator>& x,
1237
- const multiset<Key,Compare,Allocator>& y)
1238
- { return !(x == y); }
1239
-
1240
- template <class Key, class Compare, class Allocator>
1241
- inline bool operator>(const multiset<Key,Compare,Allocator>& x,
1242
- const multiset<Key,Compare,Allocator>& y)
1243
- { return y < x; }
1244
-
1245
- template <class Key, class Compare, class Allocator>
1246
- inline bool operator<=(const multiset<Key,Compare,Allocator>& x,
1247
- const multiset<Key,Compare,Allocator>& y)
1248
- { return !(y < x); }
1249
-
1250
- template <class Key, class Compare, class Allocator>
1251
- inline bool operator>=(const multiset<Key,Compare,Allocator>& x,
1252
- const multiset<Key,Compare,Allocator>& y)
1253
- { return !(x < y); }
1254
-
1255
- template <class Key, class Compare, class Allocator>
1256
- inline void swap(multiset<Key,Compare,Allocator>& x, multiset<Key,Compare,Allocator>& y)
1257
- { x.swap(y); }
1258
-
1259
- /// @cond
1151
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1260
1152
 
1261
1153
  } //namespace container {
1262
1154
 
1263
1155
  //!has_trivial_destructor_after_move<> == true_type
1264
1156
  //!specialization for optimizations
1265
- template <class Key, class C, class Allocator>
1266
- struct has_trivial_destructor_after_move<boost::container::multiset<Key, C, Allocator> >
1157
+ template <class Key, class Compare, class Allocator, class MultiSetOptions>
1158
+ struct has_trivial_destructor_after_move<boost::container::multiset<Key, Compare, Allocator, MultiSetOptions> >
1267
1159
  {
1268
- static const bool value = has_trivial_destructor_after_move<Allocator>::value && has_trivial_destructor_after_move<C>::value;
1160
+ typedef typename ::boost::container::allocator_traits<Allocator>::pointer pointer;
1161
+ static const bool value = ::boost::has_trivial_destructor_after_move<Allocator>::value &&
1162
+ ::boost::has_trivial_destructor_after_move<pointer>::value &&
1163
+ ::boost::has_trivial_destructor_after_move<Compare>::value;
1269
1164
  };
1270
1165
 
1271
1166
  namespace container {
1272
1167
 
1273
- /// @endcond
1168
+ #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1274
1169
 
1275
1170
  }}
1276
1171
 
1277
1172
  #include <boost/container/detail/config_end.hpp>
1278
1173
 
1279
- #endif /* BOOST_CONTAINER_SET_HPP */
1280
-
1174
+ #endif // BOOST_CONTAINER_SET_HPP