couchbase 3.5.4 → 3.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/ext/CMakeLists.txt +8 -6
  4. data/ext/cache/cpm/{CPM_0.38.6.cmake → CPM_0.40.5.cmake} +152 -22
  5. data/ext/cache/extconf_include.rb +3 -3
  6. data/ext/cache/mozilla-ca-bundle.crt +94 -118
  7. data/ext/cache/mozilla-ca-bundle.sha256 +1 -1
  8. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/CMakeLists.txt +30 -6
  9. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/utils.cmake +13 -2
  10. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async_logger-inl.h +5 -7
  11. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/mpmc_blocking_q.h +3 -3
  12. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/os-inl.h +3 -3
  13. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/thread_pool-inl.h +3 -8
  14. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/thread_pool.h +3 -14
  15. data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/base.h +47 -31
  16. data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/format-inl.h +32 -8
  17. data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/format.h +22 -14
  18. data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/ranges.h +1 -1
  19. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/mdc.h +4 -0
  20. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/pattern_formatter-inl.h +16 -2
  21. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ansicolor_sink.h +1 -1
  22. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/base_sink.h +4 -4
  23. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/callback_sink.h +1 -1
  24. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/daily_file_sink.h +3 -0
  25. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/hourly_file_sink.h +2 -0
  26. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/msvc_sink.h +1 -1
  27. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +1 -1
  28. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/syslog_sink.h +3 -2
  29. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +9 -0
  30. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/version.h +2 -2
  31. data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/format.cc → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/src/bundled_fmtlib_format.cpp} +10 -5
  32. data/ext/couchbase/CMakeLists.txt +3 -2
  33. data/ext/couchbase/cmake/APKBUILD.in +54 -0
  34. data/ext/couchbase/cmake/Backtrace.cmake +3 -1
  35. data/ext/couchbase/cmake/CPM.cmake +1 -1
  36. data/ext/couchbase/cmake/CompilerWarnings.cmake +0 -5
  37. data/ext/couchbase/cmake/Packaging.cmake +174 -11
  38. data/ext/couchbase/cmake/RPath.cmake +10 -0
  39. data/ext/couchbase/cmake/Testing.cmake +0 -4
  40. data/ext/couchbase/cmake/ThirdPartyDependencies.cmake +7 -26
  41. data/ext/couchbase/cmake/VersionInfo.cmake +4 -0
  42. data/ext/couchbase/cmake/build_version.hxx.in +1 -0
  43. data/ext/couchbase/cmake/couchbase-cxx-client.spec.in +2 -2
  44. data/ext/couchbase/cmake/couchbase_cxx_client.pc.in +2 -2
  45. data/ext/couchbase/core/agent_config.cxx +1 -1
  46. data/ext/couchbase/core/agent_group_config.cxx +1 -1
  47. data/ext/couchbase/core/bucket.cxx +25 -23
  48. data/ext/couchbase/core/bucket.hxx +2 -1
  49. data/ext/couchbase/core/cluster.cxx +9 -9
  50. data/ext/couchbase/core/cluster.hxx +2 -1
  51. data/ext/couchbase/core/cluster_agent_config.cxx +1 -1
  52. data/ext/couchbase/core/collections_component.cxx +1 -1
  53. data/ext/couchbase/core/columnar/agent_config.cxx +2 -2
  54. data/ext/couchbase/core/columnar/error.hxx +0 -1
  55. data/ext/couchbase/core/columnar/query_component.cxx +2 -2
  56. data/ext/couchbase/core/config_profiles.cxx +1 -1
  57. data/ext/couchbase/core/core_sdk_shim.cxx +1 -1
  58. data/ext/couchbase/core/crud_component.cxx +1 -1
  59. data/ext/couchbase/core/design_document_namespace_fmt.hxx +1 -1
  60. data/ext/couchbase/core/diagnostics_fmt.hxx +1 -1
  61. data/ext/couchbase/core/document_id.cxx +1 -1
  62. data/ext/couchbase/core/document_id_fmt.hxx +1 -1
  63. data/ext/couchbase/core/error_context/analytics_json.hxx +3 -1
  64. data/ext/couchbase/core/error_context/key_value_json.hxx +1 -1
  65. data/ext/couchbase/core/error_context/query_public_json.hxx +1 -1
  66. data/ext/couchbase/core/error_context/subdocument_json.hxx +1 -1
  67. data/ext/couchbase/core/fmt/key_value_error_map_attribute.hxx +1 -1
  68. data/ext/couchbase/core/fmt/key_value_extended_error_info.hxx +1 -1
  69. data/ext/couchbase/core/fmt/key_value_status_code.hxx +1 -1
  70. data/ext/couchbase/core/http_component.cxx +3 -3
  71. data/ext/couchbase/core/impl/analytics.cxx +1 -0
  72. data/ext/couchbase/core/impl/best_effort_retry_strategy.cxx +1 -1
  73. data/ext/couchbase/core/impl/cluster.cxx +55 -18
  74. data/ext/couchbase/core/impl/collection.cxx +40 -15
  75. data/ext/couchbase/core/impl/date_range.cxx +2 -2
  76. data/ext/couchbase/core/impl/date_range_query.cxx +2 -2
  77. data/ext/couchbase/core/impl/dns_srv_tracker.cxx +1 -1
  78. data/ext/couchbase/core/impl/error.cxx +27 -4
  79. data/ext/couchbase/core/impl/expiry.cxx +2 -2
  80. data/ext/couchbase/core/impl/fail_fast_retry_strategy.cxx +1 -2
  81. data/ext/couchbase/core/impl/get_replica.hxx +2 -0
  82. data/ext/couchbase/core/impl/key_value_error_context.cxx +6 -4
  83. data/ext/couchbase/core/impl/lookup_in_replica.hxx +2 -0
  84. data/ext/couchbase/core/impl/numeric_range.cxx +1 -1
  85. data/ext/couchbase/core/impl/observe_poll.cxx +7 -7
  86. data/ext/couchbase/core/impl/observe_seqno.hxx +2 -0
  87. data/ext/couchbase/core/impl/query.cxx +1 -0
  88. data/ext/couchbase/core/impl/query_error_context.cxx +3 -2
  89. data/ext/couchbase/core/impl/replica_utils.cxx +5 -5
  90. data/ext/couchbase/core/impl/replica_utils.hxx +2 -1
  91. data/ext/couchbase/core/impl/scope.cxx +5 -6
  92. data/ext/couchbase/core/impl/search.cxx +3 -1
  93. data/ext/couchbase/core/io/config_tracker.cxx +1 -1
  94. data/ext/couchbase/core/io/dns_client.cxx +23 -8
  95. data/ext/couchbase/core/io/http_command.hxx +2 -2
  96. data/ext/couchbase/core/io/http_parser.cxx +1 -1
  97. data/ext/couchbase/core/io/http_session.cxx +4 -0
  98. data/ext/couchbase/core/io/http_session.hxx +4 -2
  99. data/ext/couchbase/core/io/mcbp_command.hxx +2 -2
  100. data/ext/couchbase/core/key_value_config.cxx +2 -2
  101. data/ext/couchbase/core/logger/logger.cxx +1 -1
  102. data/ext/couchbase/core/logger/logger.hxx +1 -1
  103. data/ext/couchbase/core/management/rbac_fmt.hxx +1 -1
  104. data/ext/couchbase/core/mcbp/operation_queue.cxx +1 -1
  105. data/ext/couchbase/core/mcbp/packet.cxx +1 -1
  106. data/ext/couchbase/core/meta/features.hxx +16 -0
  107. data/ext/couchbase/core/meta/version.cxx +48 -7
  108. data/ext/couchbase/core/operations/document_analytics.cxx +23 -17
  109. data/ext/couchbase/core/operations/document_analytics.hxx +1 -0
  110. data/ext/couchbase/core/operations/document_append.hxx +2 -0
  111. data/ext/couchbase/core/operations/document_decrement.hxx +2 -0
  112. data/ext/couchbase/core/operations/document_exists.hxx +2 -0
  113. data/ext/couchbase/core/operations/document_get.hxx +2 -0
  114. data/ext/couchbase/core/operations/document_get_all_replicas.hxx +5 -4
  115. data/ext/couchbase/core/operations/document_get_and_lock.hxx +2 -0
  116. data/ext/couchbase/core/operations/document_get_and_touch.hxx +2 -0
  117. data/ext/couchbase/core/operations/document_get_any_replica.hxx +5 -3
  118. data/ext/couchbase/core/operations/document_get_projected.hxx +2 -0
  119. data/ext/couchbase/core/operations/document_increment.hxx +2 -0
  120. data/ext/couchbase/core/operations/document_insert.hxx +2 -0
  121. data/ext/couchbase/core/operations/document_lookup_in.hxx +2 -0
  122. data/ext/couchbase/core/operations/document_lookup_in_all_replicas.hxx +5 -3
  123. data/ext/couchbase/core/operations/document_lookup_in_any_replica.hxx +5 -3
  124. data/ext/couchbase/core/operations/document_mutate_in.hxx +2 -0
  125. data/ext/couchbase/core/operations/document_prepend.hxx +2 -0
  126. data/ext/couchbase/core/operations/document_query.hxx +1 -0
  127. data/ext/couchbase/core/operations/document_remove.hxx +2 -0
  128. data/ext/couchbase/core/operations/document_replace.hxx +2 -0
  129. data/ext/couchbase/core/operations/document_search.hxx +1 -0
  130. data/ext/couchbase/core/operations/document_touch.hxx +2 -0
  131. data/ext/couchbase/core/operations/document_unlock.hxx +2 -0
  132. data/ext/couchbase/core/operations/document_upsert.hxx +2 -0
  133. data/ext/couchbase/core/operations/document_view.hxx +1 -0
  134. data/ext/couchbase/core/operations/http_noop.hxx +2 -0
  135. data/ext/couchbase/core/operations/management/CMakeLists.txt +0 -1
  136. data/ext/couchbase/core/operations/management/analytics_dataset_create.cxx +1 -1
  137. data/ext/couchbase/core/operations/management/analytics_dataset_create.hxx +1 -0
  138. data/ext/couchbase/core/operations/management/analytics_dataset_drop.cxx +1 -1
  139. data/ext/couchbase/core/operations/management/analytics_dataset_drop.hxx +1 -0
  140. data/ext/couchbase/core/operations/management/analytics_dataset_get_all.hxx +1 -0
  141. data/ext/couchbase/core/operations/management/analytics_dataverse_create.cxx +1 -1
  142. data/ext/couchbase/core/operations/management/analytics_dataverse_create.hxx +1 -0
  143. data/ext/couchbase/core/operations/management/analytics_dataverse_drop.cxx +1 -1
  144. data/ext/couchbase/core/operations/management/analytics_dataverse_drop.hxx +1 -0
  145. data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.cxx +1 -1
  146. data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.hxx +2 -0
  147. data/ext/couchbase/core/operations/management/analytics_index_create.hxx +1 -0
  148. data/ext/couchbase/core/operations/management/analytics_index_drop.cxx +1 -1
  149. data/ext/couchbase/core/operations/management/analytics_index_drop.hxx +1 -0
  150. data/ext/couchbase/core/operations/management/analytics_index_get_all.hxx +1 -0
  151. data/ext/couchbase/core/operations/management/analytics_link_connect.cxx +1 -1
  152. data/ext/couchbase/core/operations/management/analytics_link_connect.hxx +1 -0
  153. data/ext/couchbase/core/operations/management/analytics_link_create.hxx +1 -0
  154. data/ext/couchbase/core/operations/management/analytics_link_disconnect.cxx +1 -1
  155. data/ext/couchbase/core/operations/management/analytics_link_disconnect.hxx +1 -0
  156. data/ext/couchbase/core/operations/management/analytics_link_drop.cxx +1 -1
  157. data/ext/couchbase/core/operations/management/analytics_link_drop.hxx +1 -0
  158. data/ext/couchbase/core/operations/management/analytics_link_get_all.cxx +24 -16
  159. data/ext/couchbase/core/operations/management/analytics_link_get_all.hxx +4 -3
  160. data/ext/couchbase/core/operations/management/analytics_link_replace.hxx +1 -0
  161. data/ext/couchbase/core/operations/management/analytics_link_utils.hxx +4 -3
  162. data/ext/couchbase/core/operations/management/bucket_create.hxx +1 -0
  163. data/ext/couchbase/core/operations/management/bucket_describe.cxx +1 -1
  164. data/ext/couchbase/core/operations/management/bucket_describe.hxx +1 -0
  165. data/ext/couchbase/core/operations/management/bucket_drop.cxx +1 -1
  166. data/ext/couchbase/core/operations/management/bucket_drop.hxx +1 -0
  167. data/ext/couchbase/core/operations/management/bucket_flush.cxx +1 -1
  168. data/ext/couchbase/core/operations/management/bucket_flush.hxx +1 -0
  169. data/ext/couchbase/core/operations/management/bucket_get.cxx +1 -1
  170. data/ext/couchbase/core/operations/management/bucket_get.hxx +1 -0
  171. data/ext/couchbase/core/operations/management/bucket_get_all.hxx +1 -0
  172. data/ext/couchbase/core/operations/management/bucket_update.hxx +1 -0
  173. data/ext/couchbase/core/operations/management/change_password.cxx +1 -1
  174. data/ext/couchbase/core/operations/management/change_password.hxx +1 -0
  175. data/ext/couchbase/core/operations/management/cluster_describe.hxx +1 -0
  176. data/ext/couchbase/core/operations/management/cluster_developer_preview_enable.hxx +1 -0
  177. data/ext/couchbase/core/operations/management/collection_create.cxx +1 -1
  178. data/ext/couchbase/core/operations/management/collection_create.hxx +2 -0
  179. data/ext/couchbase/core/operations/management/collection_drop.cxx +1 -1
  180. data/ext/couchbase/core/operations/management/collection_drop.hxx +1 -0
  181. data/ext/couchbase/core/operations/management/collection_update.cxx +1 -1
  182. data/ext/couchbase/core/operations/management/collection_update.hxx +2 -0
  183. data/ext/couchbase/core/operations/management/collections_manifest_get.hxx +2 -0
  184. data/ext/couchbase/core/operations/management/eventing_deploy_function.cxx +1 -1
  185. data/ext/couchbase/core/operations/management/eventing_deploy_function.hxx +3 -2
  186. data/ext/couchbase/core/operations/management/eventing_drop_function.cxx +1 -1
  187. data/ext/couchbase/core/operations/management/eventing_drop_function.hxx +3 -2
  188. data/ext/couchbase/core/operations/management/eventing_get_all_functions.hxx +3 -2
  189. data/ext/couchbase/core/operations/management/eventing_get_function.cxx +1 -1
  190. data/ext/couchbase/core/operations/management/eventing_get_function.hxx +3 -2
  191. data/ext/couchbase/core/operations/management/eventing_get_status.hxx +3 -2
  192. data/ext/couchbase/core/operations/management/eventing_pause_function.cxx +1 -1
  193. data/ext/couchbase/core/operations/management/eventing_pause_function.hxx +3 -2
  194. data/ext/couchbase/core/operations/management/eventing_resume_function.cxx +1 -1
  195. data/ext/couchbase/core/operations/management/eventing_resume_function.hxx +3 -2
  196. data/ext/couchbase/core/operations/management/eventing_undeploy_function.cxx +1 -1
  197. data/ext/couchbase/core/operations/management/eventing_undeploy_function.hxx +3 -2
  198. data/ext/couchbase/core/operations/management/eventing_upsert_function.cxx +1 -2
  199. data/ext/couchbase/core/operations/management/eventing_upsert_function.hxx +3 -2
  200. data/ext/couchbase/core/operations/management/freeform.hxx +2 -0
  201. data/ext/couchbase/core/operations/management/group_drop.cxx +1 -1
  202. data/ext/couchbase/core/operations/management/group_drop.hxx +1 -0
  203. data/ext/couchbase/core/operations/management/group_get.cxx +1 -1
  204. data/ext/couchbase/core/operations/management/group_get.hxx +1 -0
  205. data/ext/couchbase/core/operations/management/group_get_all.hxx +1 -0
  206. data/ext/couchbase/core/operations/management/group_upsert.hxx +1 -0
  207. data/ext/couchbase/core/operations/management/query_index_build.hxx +7 -5
  208. data/ext/couchbase/core/operations/management/query_index_build_deferred.hxx +3 -0
  209. data/ext/couchbase/core/operations/management/query_index_create.cxx +1 -1
  210. data/ext/couchbase/core/operations/management/query_index_create.hxx +1 -0
  211. data/ext/couchbase/core/operations/management/query_index_drop.cxx +1 -1
  212. data/ext/couchbase/core/operations/management/query_index_drop.hxx +1 -0
  213. data/ext/couchbase/core/operations/management/query_index_get_all.hxx +2 -0
  214. data/ext/couchbase/core/operations/management/query_index_get_all_deferred.hxx +3 -0
  215. data/ext/couchbase/core/operations/management/role_get_all.hxx +1 -0
  216. data/ext/couchbase/core/operations/management/scope_create.cxx +1 -1
  217. data/ext/couchbase/core/operations/management/scope_create.hxx +1 -0
  218. data/ext/couchbase/core/operations/management/scope_drop.cxx +1 -1
  219. data/ext/couchbase/core/operations/management/scope_drop.hxx +1 -0
  220. data/ext/couchbase/core/operations/management/scope_get_all.cxx +1 -1
  221. data/ext/couchbase/core/operations/management/scope_get_all.hxx +1 -0
  222. data/ext/couchbase/core/operations/management/search_get_stats.hxx +1 -0
  223. data/ext/couchbase/core/operations/management/search_index_analyze_document.cxx +1 -1
  224. data/ext/couchbase/core/operations/management/search_index_analyze_document.hxx +1 -0
  225. data/ext/couchbase/core/operations/management/search_index_control_ingest.cxx +1 -1
  226. data/ext/couchbase/core/operations/management/search_index_control_ingest.hxx +1 -0
  227. data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.cxx +1 -1
  228. data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.hxx +1 -0
  229. data/ext/couchbase/core/operations/management/search_index_control_query.cxx +1 -1
  230. data/ext/couchbase/core/operations/management/search_index_control_query.hxx +1 -0
  231. data/ext/couchbase/core/operations/management/search_index_drop.cxx +1 -1
  232. data/ext/couchbase/core/operations/management/search_index_drop.hxx +1 -0
  233. data/ext/couchbase/core/operations/management/search_index_get.cxx +1 -1
  234. data/ext/couchbase/core/operations/management/search_index_get.hxx +1 -0
  235. data/ext/couchbase/core/operations/management/search_index_get_all.cxx +1 -1
  236. data/ext/couchbase/core/operations/management/search_index_get_all.hxx +1 -0
  237. data/ext/couchbase/core/operations/management/search_index_get_documents_count.cxx +1 -1
  238. data/ext/couchbase/core/operations/management/search_index_get_documents_count.hxx +2 -0
  239. data/ext/couchbase/core/operations/management/search_index_get_stats.cxx +1 -1
  240. data/ext/couchbase/core/operations/management/search_index_get_stats.hxx +1 -0
  241. data/ext/couchbase/core/operations/management/search_index_upsert.cxx +1 -1
  242. data/ext/couchbase/core/operations/management/search_index_upsert.hxx +1 -0
  243. data/ext/couchbase/core/operations/management/user_drop.hxx +1 -0
  244. data/ext/couchbase/core/operations/management/user_get.hxx +1 -0
  245. data/ext/couchbase/core/operations/management/user_get_all.hxx +1 -0
  246. data/ext/couchbase/core/operations/management/user_upsert.cxx +3 -3
  247. data/ext/couchbase/core/operations/management/user_upsert.hxx +1 -0
  248. data/ext/couchbase/core/operations/management/view_index_drop.cxx +1 -1
  249. data/ext/couchbase/core/operations/management/view_index_drop.hxx +1 -0
  250. data/ext/couchbase/core/operations/management/view_index_get.cxx +1 -1
  251. data/ext/couchbase/core/operations/management/view_index_get.hxx +1 -0
  252. data/ext/couchbase/core/operations/management/view_index_get_all.cxx +1 -1
  253. data/ext/couchbase/core/operations/management/view_index_get_all.hxx +2 -0
  254. data/ext/couchbase/core/operations/management/view_index_upsert.cxx +1 -1
  255. data/ext/couchbase/core/operations/management/view_index_upsert.hxx +1 -0
  256. data/ext/couchbase/core/origin.cxx +3 -2
  257. data/ext/couchbase/core/platform/base64.h +8 -8
  258. data/ext/couchbase/core/protocol/client_opcode_fmt.hxx +1 -1
  259. data/ext/couchbase/core/protocol/client_response.hxx +1 -1
  260. data/ext/couchbase/core/protocol/frame_info_id_fmt.hxx +1 -1
  261. data/ext/couchbase/core/protocol/hello_feature_fmt.hxx +1 -1
  262. data/ext/couchbase/core/protocol/magic_fmt.hxx +1 -1
  263. data/ext/couchbase/core/protocol/server_opcode_fmt.hxx +1 -1
  264. data/ext/couchbase/core/query_context.hxx +7 -6
  265. data/ext/couchbase/core/retry_orchestrator.cxx +1 -1
  266. data/ext/couchbase/core/sasl/CMakeLists.txt +0 -1
  267. data/ext/couchbase/core/sasl/error_fmt.h +1 -1
  268. data/ext/couchbase/core/seed_config.cxx +2 -2
  269. data/ext/couchbase/core/service_type_fmt.hxx +1 -1
  270. data/ext/couchbase/core/topology/capabilities_fmt.hxx +1 -1
  271. data/ext/couchbase/core/topology/collections_manifest_fmt.hxx +2 -1
  272. data/ext/couchbase/core/topology/configuration_fmt.hxx +1 -1
  273. data/ext/couchbase/core/transactions/async_attempt_context.cxx +1 -1
  274. data/ext/couchbase/core/transactions/async_attempt_context.hxx +9 -22
  275. data/ext/couchbase/core/transactions/attempt_context.cxx +1 -1
  276. data/ext/couchbase/core/transactions/attempt_context.hxx +6 -33
  277. data/ext/couchbase/core/transactions/attempt_context_impl.cxx +41 -41
  278. data/ext/couchbase/core/transactions/attempt_context_impl.hxx +15 -16
  279. data/ext/couchbase/core/transactions/exceptions_fmt.hxx +1 -1
  280. data/ext/couchbase/core/transactions/internal/atr_cleanup_entry.hxx +1 -1
  281. data/ext/couchbase/core/transactions/internal/client_record.hxx +4 -3
  282. data/ext/couchbase/core/transactions/internal/doc_record_fmt.hxx +1 -1
  283. data/ext/couchbase/core/transactions/internal/exceptions_internal.hxx +0 -2
  284. data/ext/couchbase/core/transactions/internal/exceptions_internal_fmt.hxx +1 -1
  285. data/ext/couchbase/core/transactions/internal/logging.hxx +2 -0
  286. data/ext/couchbase/core/transactions/internal/transaction_context.hxx +3 -0
  287. data/ext/couchbase/core/transactions/result_fmt.hxx +1 -1
  288. data/ext/couchbase/core/transactions/transaction_context.cxx +12 -2
  289. data/ext/couchbase/core/transactions/transaction_get_result.hxx +0 -20
  290. data/ext/couchbase/core/transactions/transaction_links.hxx +1 -1
  291. data/ext/couchbase/core/utils/join_strings.hxx +2 -2
  292. data/ext/couchbase/core/utils/keyspace.hxx +2 -1
  293. data/ext/couchbase/core/utils/url_codec.cxx +1 -1
  294. data/ext/couchbase/couchbase/common_options.hxx +16 -1
  295. data/ext/couchbase/couchbase/fmt/analytics_scan_consistency.hxx +0 -2
  296. data/ext/couchbase/couchbase/fmt/analytics_status.hxx +0 -2
  297. data/ext/couchbase/couchbase/fmt/cas.hxx +0 -2
  298. data/ext/couchbase/couchbase/fmt/durability_level.hxx +0 -2
  299. data/ext/couchbase/couchbase/fmt/error.hxx +0 -2
  300. data/ext/couchbase/couchbase/fmt/error_context.hxx +0 -2
  301. data/ext/couchbase/couchbase/fmt/mutation_token.hxx +0 -2
  302. data/ext/couchbase/couchbase/fmt/query_profile.hxx +0 -2
  303. data/ext/couchbase/couchbase/fmt/query_scan_consistency.hxx +0 -2
  304. data/ext/couchbase/couchbase/fmt/query_status.hxx +0 -2
  305. data/ext/couchbase/couchbase/fmt/retry_reason.hxx +5 -1
  306. data/ext/couchbase/couchbase/fmt/search_scan_consistency.hxx +0 -2
  307. data/ext/couchbase/couchbase/fmt/tls_verify_mode.hxx +0 -2
  308. data/ext/couchbase/couchbase/fmt/transaction_keyspace.hxx +0 -2
  309. data/ext/couchbase/couchbase/metrics/otel_meter.hxx +16 -20
  310. data/ext/couchbase.cxx +1 -0
  311. data/ext/extconf.rb +11 -0
  312. data/ext/rcb_analytics.cxx +7 -7
  313. data/ext/rcb_backend.cxx +83 -2
  314. data/ext/rcb_buckets.cxx +1 -1
  315. data/ext/rcb_collections.cxx +1 -1
  316. data/ext/rcb_crud.cxx +51 -30
  317. data/ext/rcb_diagnostics.cxx +1 -1
  318. data/ext/rcb_exceptions.cxx +3 -2
  319. data/ext/rcb_extras.cxx +1 -1
  320. data/ext/rcb_logger.cxx +6 -1
  321. data/ext/rcb_logger.hxx +3 -0
  322. data/ext/rcb_range_scan.cxx +3 -5
  323. data/ext/rcb_search.cxx +1 -1
  324. data/ext/rcb_users.cxx +2 -2
  325. data/ext/rcb_utils.hxx +32 -0
  326. data/lib/couchbase/bucket.rb +0 -8
  327. data/lib/couchbase/cluster.rb +2 -13
  328. data/lib/couchbase/collection.rb +0 -43
  329. data/lib/couchbase/collection_options.rb +3 -3
  330. data/lib/couchbase/datastructures/couchbase_queue.rb +1 -1
  331. data/lib/couchbase/datastructures/couchbase_set.rb +1 -1
  332. data/lib/couchbase/deprecations.rb +61 -0
  333. data/lib/couchbase/fork_hooks.rb +32 -0
  334. data/lib/couchbase/logger.rb +3 -3
  335. data/lib/couchbase/management/analytics_index_manager.rb +1 -1
  336. data/lib/couchbase/management/bucket_manager.rb +1 -1
  337. data/lib/couchbase/management/collection_manager.rb +1 -1
  338. data/lib/couchbase/management/query_index_manager.rb +1 -1
  339. data/lib/couchbase/options.rb +50 -2
  340. data/lib/couchbase/protostellar/request_generator/query.rb +1 -1
  341. data/lib/couchbase/utils/time.rb +1 -1
  342. data/lib/couchbase/version.rb +1 -1
  343. data/lib/couchbase.rb +2 -0
  344. metadata +133 -153
  345. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/CMakeLists.txt +0 -520
  346. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/ChangeLog.md +0 -2598
  347. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/LICENSE +0 -27
  348. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/README.md +0 -484
  349. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/fmt.cc +0 -135
  350. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/os.cc +0 -403
  351. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/FindSetEnv.cmake +0 -7
  352. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/JoinPaths.cmake +0 -26
  353. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/fmt-config.cmake.in +0 -7
  354. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/fmt.pc.in +0 -11
  355. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/args.h +0 -235
  356. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -2240
  357. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/color.h +0 -643
  358. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/compile.h +0 -535
  359. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/core.h +0 -2969
  360. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1678
  361. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/format.h +0 -4535
  362. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/os.h +0 -455
  363. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -245
  364. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/printf.h +0 -675
  365. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -738
  366. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/std.h +0 -537
  367. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/xchar.h +0 -259
  368. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/src/bundled_fmtlib_format.cpp +0 -46
  369. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/LICENSE +0 -0
  370. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/ide.cmake +0 -0
  371. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/pch.h.in +0 -0
  372. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlog.pc.in +0 -0
  373. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlogCPack.cmake +0 -0
  374. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlogConfig.cmake.in +0 -0
  375. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/version.rc.in +0 -0
  376. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async.h +0 -0
  377. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async_logger.h +0 -0
  378. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/argv.h +0 -0
  379. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/env.h +0 -0
  380. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/helpers-inl.h +0 -0
  381. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/helpers.h +0 -0
  382. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/common-inl.h +0 -0
  383. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/common.h +0 -0
  384. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/backtracer-inl.h +0 -0
  385. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/backtracer.h +0 -0
  386. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/circular_q.h +0 -0
  387. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/console_globals.h +0 -0
  388. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/file_helper-inl.h +0 -0
  389. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/file_helper.h +0 -0
  390. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/fmt_helper.h +0 -0
  391. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg-inl.h +0 -0
  392. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg.h +0 -0
  393. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -0
  394. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg_buffer.h +0 -0
  395. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/null_mutex.h +0 -0
  396. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/os.h +0 -0
  397. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -0
  398. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/periodic_worker.h +0 -0
  399. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/registry-inl.h +0 -0
  400. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/registry.h +0 -0
  401. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/synchronous_factory.h +0 -0
  402. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/tcp_client-windows.h +0 -0
  403. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/tcp_client.h +0 -0
  404. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/udp_client-windows.h +0 -0
  405. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/udp_client.h +0 -0
  406. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/windows_include.h +0 -0
  407. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -0
  408. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/args.h +0 -0
  409. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/chrono.h +0 -0
  410. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/color.h +0 -0
  411. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/compile.h +0 -0
  412. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/core.h +0 -0
  413. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bundled/fmt.license.rst +0 -0
  414. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bundled/locale.h +0 -0
  415. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/os.h +0 -0
  416. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/ostream.h +0 -0
  417. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/printf.h +0 -0
  418. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/std.h +0 -0
  419. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/xchar.h +0 -0
  420. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/chrono.h +0 -0
  421. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/compile.h +0 -0
  422. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/fmt.h +0 -0
  423. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/ostr.h +0 -0
  424. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/ranges.h +0 -0
  425. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/std.h +0 -0
  426. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/xchar.h +0 -0
  427. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/formatter.h +0 -0
  428. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fwd.h +0 -0
  429. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/logger-inl.h +0 -0
  430. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/logger.h +0 -0
  431. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/pattern_formatter.h +0 -0
  432. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/android_sink.h +0 -0
  433. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -0
  434. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -0
  435. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -0
  436. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -0
  437. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/dist_sink.h +0 -0
  438. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -0
  439. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/kafka_sink.h +0 -0
  440. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/mongo_sink.h +0 -0
  441. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/null_sink.h +0 -0
  442. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ostream_sink.h +0 -0
  443. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/qt_sinks.h +0 -0
  444. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -0
  445. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -0
  446. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/sink-inl.h +0 -0
  447. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/sink.h +0 -0
  448. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -0
  449. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -0
  450. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -0
  451. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -0
  452. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/systemd_sink.h +0 -0
  453. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/tcp_sink.h +0 -0
  454. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/udp_sink.h +0 -0
  455. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -0
  456. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -0
  457. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/spdlog-inl.h +0 -0
  458. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/spdlog.h +0 -0
  459. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/stopwatch.h +0 -0
  460. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/tweakme.h +0 -0
  461. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/async.cpp +0 -0
  462. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/cfg.cpp +0 -0
  463. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/color_sinks.cpp +0 -0
  464. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/file_sinks.cpp +0 -0
  465. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/spdlog.cpp +0 -0
  466. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/stdout_sinks.cpp +0 -0
@@ -1,455 +0,0 @@
1
- // Formatting library for C++ - optional OS-specific functionality
2
- //
3
- // Copyright (c) 2012 - present, Victor Zverovich
4
- // All rights reserved.
5
- //
6
- // For the license information refer to format.h.
7
-
8
- #ifndef FMT_OS_H_
9
- #define FMT_OS_H_
10
-
11
- #include <cerrno>
12
- #include <cstddef>
13
- #include <cstdio>
14
- #include <system_error> // std::system_error
15
-
16
- #include "format.h"
17
-
18
- #if defined __APPLE__ || defined(__FreeBSD__)
19
- # if FMT_HAS_INCLUDE(<xlocale.h>)
20
- # include <xlocale.h> // for LC_NUMERIC_MASK on OS X
21
- # endif
22
- #endif
23
-
24
- #ifndef FMT_USE_FCNTL
25
- // UWP doesn't provide _pipe.
26
- # if FMT_HAS_INCLUDE("winapifamily.h")
27
- # include <winapifamily.h>
28
- # endif
29
- # if (FMT_HAS_INCLUDE(<fcntl.h>) || defined(__APPLE__) || \
30
- defined(__linux__)) && \
31
- (!defined(WINAPI_FAMILY) || \
32
- (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP))
33
- # include <fcntl.h> // for O_RDONLY
34
- # define FMT_USE_FCNTL 1
35
- # else
36
- # define FMT_USE_FCNTL 0
37
- # endif
38
- #endif
39
-
40
- #ifndef FMT_POSIX
41
- # if defined(_WIN32) && !defined(__MINGW32__)
42
- // Fix warnings about deprecated symbols.
43
- # define FMT_POSIX(call) _##call
44
- # else
45
- # define FMT_POSIX(call) call
46
- # endif
47
- #endif
48
-
49
- // Calls to system functions are wrapped in FMT_SYSTEM for testability.
50
- #ifdef FMT_SYSTEM
51
- # define FMT_HAS_SYSTEM
52
- # define FMT_POSIX_CALL(call) FMT_SYSTEM(call)
53
- #else
54
- # define FMT_SYSTEM(call) ::call
55
- # ifdef _WIN32
56
- // Fix warnings about deprecated symbols.
57
- # define FMT_POSIX_CALL(call) ::_##call
58
- # else
59
- # define FMT_POSIX_CALL(call) ::call
60
- # endif
61
- #endif
62
-
63
- // Retries the expression while it evaluates to error_result and errno
64
- // equals to EINTR.
65
- #ifndef _WIN32
66
- # define FMT_RETRY_VAL(result, expression, error_result) \
67
- do { \
68
- (result) = (expression); \
69
- } while ((result) == (error_result) && errno == EINTR)
70
- #else
71
- # define FMT_RETRY_VAL(result, expression, error_result) result = (expression)
72
- #endif
73
-
74
- #define FMT_RETRY(result, expression) FMT_RETRY_VAL(result, expression, -1)
75
-
76
- FMT_BEGIN_NAMESPACE
77
- FMT_BEGIN_EXPORT
78
-
79
- /**
80
- \rst
81
- A reference to a null-terminated string. It can be constructed from a C
82
- string or ``std::string``.
83
-
84
- You can use one of the following type aliases for common character types:
85
-
86
- +---------------+-----------------------------+
87
- | Type | Definition |
88
- +===============+=============================+
89
- | cstring_view | basic_cstring_view<char> |
90
- +---------------+-----------------------------+
91
- | wcstring_view | basic_cstring_view<wchar_t> |
92
- +---------------+-----------------------------+
93
-
94
- This class is most useful as a parameter type to allow passing
95
- different types of strings to a function, for example::
96
-
97
- template <typename... Args>
98
- std::string format(cstring_view format_str, const Args & ... args);
99
-
100
- format("{}", 42);
101
- format(std::string("{}"), 42);
102
- \endrst
103
- */
104
- template <typename Char> class basic_cstring_view {
105
- private:
106
- const Char* data_;
107
-
108
- public:
109
- /** Constructs a string reference object from a C string. */
110
- basic_cstring_view(const Char* s) : data_(s) {}
111
-
112
- /**
113
- \rst
114
- Constructs a string reference from an ``std::string`` object.
115
- \endrst
116
- */
117
- basic_cstring_view(const std::basic_string<Char>& s) : data_(s.c_str()) {}
118
-
119
- /** Returns the pointer to a C string. */
120
- auto c_str() const -> const Char* { return data_; }
121
- };
122
-
123
- using cstring_view = basic_cstring_view<char>;
124
- using wcstring_view = basic_cstring_view<wchar_t>;
125
-
126
- #ifdef _WIN32
127
- FMT_API const std::error_category& system_category() noexcept;
128
-
129
- namespace detail {
130
- FMT_API void format_windows_error(buffer<char>& out, int error_code,
131
- const char* message) noexcept;
132
- }
133
-
134
- FMT_API std::system_error vwindows_error(int error_code, string_view format_str,
135
- format_args args);
136
-
137
- /**
138
- \rst
139
- Constructs a :class:`std::system_error` object with the description
140
- of the form
141
-
142
- .. parsed-literal::
143
- *<message>*: *<system-message>*
144
-
145
- where *<message>* is the formatted message and *<system-message>* is the
146
- system message corresponding to the error code.
147
- *error_code* is a Windows error code as given by ``GetLastError``.
148
- If *error_code* is not a valid error code such as -1, the system message
149
- will look like "error -1".
150
-
151
- **Example**::
152
-
153
- // This throws a system_error with the description
154
- // cannot open file 'madeup': The system cannot find the file specified.
155
- // or similar (system message may vary).
156
- const char *filename = "madeup";
157
- LPOFSTRUCT of = LPOFSTRUCT();
158
- HFILE file = OpenFile(filename, &of, OF_READ);
159
- if (file == HFILE_ERROR) {
160
- throw fmt::windows_error(GetLastError(),
161
- "cannot open file '{}'", filename);
162
- }
163
- \endrst
164
- */
165
- template <typename... Args>
166
- std::system_error windows_error(int error_code, string_view message,
167
- const Args&... args) {
168
- return vwindows_error(error_code, message, fmt::make_format_args(args...));
169
- }
170
-
171
- // Reports a Windows error without throwing an exception.
172
- // Can be used to report errors from destructors.
173
- FMT_API void report_windows_error(int error_code, const char* message) noexcept;
174
- #else
175
- inline auto system_category() noexcept -> const std::error_category& {
176
- return std::system_category();
177
- }
178
- #endif // _WIN32
179
-
180
- // std::system is not available on some platforms such as iOS (#2248).
181
- #ifdef __OSX__
182
- template <typename S, typename... Args, typename Char = char_t<S>>
183
- void say(const S& format_str, Args&&... args) {
184
- std::system(format("say \"{}\"", format(format_str, args...)).c_str());
185
- }
186
- #endif
187
-
188
- // A buffered file.
189
- class buffered_file {
190
- private:
191
- FILE* file_;
192
-
193
- friend class file;
194
-
195
- explicit buffered_file(FILE* f) : file_(f) {}
196
-
197
- public:
198
- buffered_file(const buffered_file&) = delete;
199
- void operator=(const buffered_file&) = delete;
200
-
201
- // Constructs a buffered_file object which doesn't represent any file.
202
- buffered_file() noexcept : file_(nullptr) {}
203
-
204
- // Destroys the object closing the file it represents if any.
205
- FMT_API ~buffered_file() noexcept;
206
-
207
- public:
208
- buffered_file(buffered_file&& other) noexcept : file_(other.file_) {
209
- other.file_ = nullptr;
210
- }
211
-
212
- auto operator=(buffered_file&& other) -> buffered_file& {
213
- close();
214
- file_ = other.file_;
215
- other.file_ = nullptr;
216
- return *this;
217
- }
218
-
219
- // Opens a file.
220
- FMT_API buffered_file(cstring_view filename, cstring_view mode);
221
-
222
- // Closes the file.
223
- FMT_API void close();
224
-
225
- // Returns the pointer to a FILE object representing this file.
226
- auto get() const noexcept -> FILE* { return file_; }
227
-
228
- FMT_API auto descriptor() const -> int;
229
-
230
- void vprint(string_view format_str, format_args args) {
231
- fmt::vprint(file_, format_str, args);
232
- }
233
-
234
- template <typename... Args>
235
- inline void print(string_view format_str, const Args&... args) {
236
- vprint(format_str, fmt::make_format_args(args...));
237
- }
238
- };
239
-
240
- #if FMT_USE_FCNTL
241
- // A file. Closed file is represented by a file object with descriptor -1.
242
- // Methods that are not declared with noexcept may throw
243
- // fmt::system_error in case of failure. Note that some errors such as
244
- // closing the file multiple times will cause a crash on Windows rather
245
- // than an exception. You can get standard behavior by overriding the
246
- // invalid parameter handler with _set_invalid_parameter_handler.
247
- class FMT_API file {
248
- private:
249
- int fd_; // File descriptor.
250
-
251
- // Constructs a file object with a given descriptor.
252
- explicit file(int fd) : fd_(fd) {}
253
-
254
- public:
255
- // Possible values for the oflag argument to the constructor.
256
- enum {
257
- RDONLY = FMT_POSIX(O_RDONLY), // Open for reading only.
258
- WRONLY = FMT_POSIX(O_WRONLY), // Open for writing only.
259
- RDWR = FMT_POSIX(O_RDWR), // Open for reading and writing.
260
- CREATE = FMT_POSIX(O_CREAT), // Create if the file doesn't exist.
261
- APPEND = FMT_POSIX(O_APPEND), // Open in append mode.
262
- TRUNC = FMT_POSIX(O_TRUNC) // Truncate the content of the file.
263
- };
264
-
265
- // Constructs a file object which doesn't represent any file.
266
- file() noexcept : fd_(-1) {}
267
-
268
- // Opens a file and constructs a file object representing this file.
269
- file(cstring_view path, int oflag);
270
-
271
- public:
272
- file(const file&) = delete;
273
- void operator=(const file&) = delete;
274
-
275
- file(file&& other) noexcept : fd_(other.fd_) { other.fd_ = -1; }
276
-
277
- // Move assignment is not noexcept because close may throw.
278
- auto operator=(file&& other) -> file& {
279
- close();
280
- fd_ = other.fd_;
281
- other.fd_ = -1;
282
- return *this;
283
- }
284
-
285
- // Destroys the object closing the file it represents if any.
286
- ~file() noexcept;
287
-
288
- // Returns the file descriptor.
289
- auto descriptor() const noexcept -> int { return fd_; }
290
-
291
- // Closes the file.
292
- void close();
293
-
294
- // Returns the file size. The size has signed type for consistency with
295
- // stat::st_size.
296
- auto size() const -> long long;
297
-
298
- // Attempts to read count bytes from the file into the specified buffer.
299
- auto read(void* buffer, size_t count) -> size_t;
300
-
301
- // Attempts to write count bytes from the specified buffer to the file.
302
- auto write(const void* buffer, size_t count) -> size_t;
303
-
304
- // Duplicates a file descriptor with the dup function and returns
305
- // the duplicate as a file object.
306
- static auto dup(int fd) -> file;
307
-
308
- // Makes fd be the copy of this file descriptor, closing fd first if
309
- // necessary.
310
- void dup2(int fd);
311
-
312
- // Makes fd be the copy of this file descriptor, closing fd first if
313
- // necessary.
314
- void dup2(int fd, std::error_code& ec) noexcept;
315
-
316
- // Creates a pipe setting up read_end and write_end file objects for reading
317
- // and writing respectively.
318
- // DEPRECATED! Taking files as out parameters is deprecated.
319
- static void pipe(file& read_end, file& write_end);
320
-
321
- // Creates a buffered_file object associated with this file and detaches
322
- // this file object from the file.
323
- auto fdopen(const char* mode) -> buffered_file;
324
-
325
- # if defined(_WIN32) && !defined(__MINGW32__)
326
- // Opens a file and constructs a file object representing this file by
327
- // wcstring_view filename. Windows only.
328
- static file open_windows_file(wcstring_view path, int oflag);
329
- # endif
330
- };
331
-
332
- // Returns the memory page size.
333
- auto getpagesize() -> long;
334
-
335
- namespace detail {
336
-
337
- struct buffer_size {
338
- buffer_size() = default;
339
- size_t value = 0;
340
- auto operator=(size_t val) const -> buffer_size {
341
- auto bs = buffer_size();
342
- bs.value = val;
343
- return bs;
344
- }
345
- };
346
-
347
- struct ostream_params {
348
- int oflag = file::WRONLY | file::CREATE | file::TRUNC;
349
- size_t buffer_size = BUFSIZ > 32768 ? BUFSIZ : 32768;
350
-
351
- ostream_params() {}
352
-
353
- template <typename... T>
354
- ostream_params(T... params, int new_oflag) : ostream_params(params...) {
355
- oflag = new_oflag;
356
- }
357
-
358
- template <typename... T>
359
- ostream_params(T... params, detail::buffer_size bs)
360
- : ostream_params(params...) {
361
- this->buffer_size = bs.value;
362
- }
363
-
364
- // Intel has a bug that results in failure to deduce a constructor
365
- // for empty parameter packs.
366
- # if defined(__INTEL_COMPILER) && __INTEL_COMPILER < 2000
367
- ostream_params(int new_oflag) : oflag(new_oflag) {}
368
- ostream_params(detail::buffer_size bs) : buffer_size(bs.value) {}
369
- # endif
370
- };
371
-
372
- class file_buffer final : public buffer<char> {
373
- file file_;
374
-
375
- FMT_API void grow(size_t) override;
376
-
377
- public:
378
- FMT_API file_buffer(cstring_view path, const ostream_params& params);
379
- FMT_API file_buffer(file_buffer&& other);
380
- FMT_API ~file_buffer();
381
-
382
- void flush() {
383
- if (size() == 0) return;
384
- file_.write(data(), size() * sizeof(data()[0]));
385
- clear();
386
- }
387
-
388
- void close() {
389
- flush();
390
- file_.close();
391
- }
392
- };
393
-
394
- } // namespace detail
395
-
396
- // Added {} below to work around default constructor error known to
397
- // occur in Xcode versions 7.2.1 and 8.2.1.
398
- constexpr detail::buffer_size buffer_size{};
399
-
400
- /** A fast output stream which is not thread-safe. */
401
- class FMT_API ostream {
402
- private:
403
- FMT_MSC_WARNING(suppress : 4251)
404
- detail::file_buffer buffer_;
405
-
406
- ostream(cstring_view path, const detail::ostream_params& params)
407
- : buffer_(path, params) {}
408
-
409
- public:
410
- ostream(ostream&& other) : buffer_(std::move(other.buffer_)) {}
411
-
412
- ~ostream();
413
-
414
- void flush() { buffer_.flush(); }
415
-
416
- template <typename... T>
417
- friend auto output_file(cstring_view path, T... params) -> ostream;
418
-
419
- void close() { buffer_.close(); }
420
-
421
- /**
422
- Formats ``args`` according to specifications in ``fmt`` and writes the
423
- output to the file.
424
- */
425
- template <typename... T> void print(format_string<T...> fmt, T&&... args) {
426
- vformat_to(std::back_inserter(buffer_), fmt,
427
- fmt::make_format_args(args...));
428
- }
429
- };
430
-
431
- /**
432
- \rst
433
- Opens a file for writing. Supported parameters passed in *params*:
434
-
435
- * ``<integer>``: Flags passed to `open
436
- <https://pubs.opengroup.org/onlinepubs/007904875/functions/open.html>`_
437
- (``file::WRONLY | file::CREATE | file::TRUNC`` by default)
438
- * ``buffer_size=<integer>``: Output buffer size
439
-
440
- **Example**::
441
-
442
- auto out = fmt::output_file("guide.txt");
443
- out.print("Don't {}", "Panic");
444
- \endrst
445
- */
446
- template <typename... T>
447
- inline auto output_file(cstring_view path, T... params) -> ostream {
448
- return {path, detail::ostream_params(params...)};
449
- }
450
- #endif // FMT_USE_FCNTL
451
-
452
- FMT_END_EXPORT
453
- FMT_END_NAMESPACE
454
-
455
- #endif // FMT_OS_H_
@@ -1,245 +0,0 @@
1
- // Formatting library for C++ - std::ostream support
2
- //
3
- // Copyright (c) 2012 - present, Victor Zverovich
4
- // All rights reserved.
5
- //
6
- // For the license information refer to format.h.
7
-
8
- #ifndef FMT_OSTREAM_H_
9
- #define FMT_OSTREAM_H_
10
-
11
- #include <fstream> // std::filebuf
12
-
13
- #ifdef _WIN32
14
- # ifdef __GLIBCXX__
15
- # include <ext/stdio_filebuf.h>
16
- # include <ext/stdio_sync_filebuf.h>
17
- # endif
18
- # include <io.h>
19
- #endif
20
-
21
- #include "format.h"
22
-
23
- FMT_BEGIN_NAMESPACE
24
- namespace detail {
25
-
26
- template <typename Streambuf> class formatbuf : public Streambuf {
27
- private:
28
- using char_type = typename Streambuf::char_type;
29
- using streamsize = decltype(std::declval<Streambuf>().sputn(nullptr, 0));
30
- using int_type = typename Streambuf::int_type;
31
- using traits_type = typename Streambuf::traits_type;
32
-
33
- buffer<char_type>& buffer_;
34
-
35
- public:
36
- explicit formatbuf(buffer<char_type>& buf) : buffer_(buf) {}
37
-
38
- protected:
39
- // The put area is always empty. This makes the implementation simpler and has
40
- // the advantage that the streambuf and the buffer are always in sync and
41
- // sputc never writes into uninitialized memory. A disadvantage is that each
42
- // call to sputc always results in a (virtual) call to overflow. There is no
43
- // disadvantage here for sputn since this always results in a call to xsputn.
44
-
45
- auto overflow(int_type ch) -> int_type override {
46
- if (!traits_type::eq_int_type(ch, traits_type::eof()))
47
- buffer_.push_back(static_cast<char_type>(ch));
48
- return ch;
49
- }
50
-
51
- auto xsputn(const char_type* s, streamsize count) -> streamsize override {
52
- buffer_.append(s, s + count);
53
- return count;
54
- }
55
- };
56
-
57
- // Generate a unique explicit instantion in every translation unit using a tag
58
- // type in an anonymous namespace.
59
- namespace {
60
- struct file_access_tag {};
61
- } // namespace
62
- template <typename Tag, typename BufType, FILE* BufType::*FileMemberPtr>
63
- class file_access {
64
- friend auto get_file(BufType& obj) -> FILE* { return obj.*FileMemberPtr; }
65
- };
66
-
67
- #if FMT_MSC_VERSION
68
- template class file_access<file_access_tag, std::filebuf,
69
- &std::filebuf::_Myfile>;
70
- auto get_file(std::filebuf&) -> FILE*;
71
- #endif
72
-
73
- inline auto write_ostream_unicode(std::ostream& os, fmt::string_view data)
74
- -> bool {
75
- FILE* f = nullptr;
76
- #if FMT_MSC_VERSION
77
- if (auto* buf = dynamic_cast<std::filebuf*>(os.rdbuf()))
78
- f = get_file(*buf);
79
- else
80
- return false;
81
- #elif defined(_WIN32) && defined(__GLIBCXX__)
82
- auto* rdbuf = os.rdbuf();
83
- if (auto* sfbuf = dynamic_cast<__gnu_cxx::stdio_sync_filebuf<char>*>(rdbuf))
84
- f = sfbuf->file();
85
- else if (auto* fbuf = dynamic_cast<__gnu_cxx::stdio_filebuf<char>*>(rdbuf))
86
- f = fbuf->file();
87
- else
88
- return false;
89
- #else
90
- ignore_unused(os, data, f);
91
- #endif
92
- #ifdef _WIN32
93
- if (f) {
94
- int fd = _fileno(f);
95
- if (_isatty(fd)) {
96
- os.flush();
97
- return write_console(fd, data);
98
- }
99
- }
100
- #endif
101
- return false;
102
- }
103
- inline auto write_ostream_unicode(std::wostream&,
104
- fmt::basic_string_view<wchar_t>) -> bool {
105
- return false;
106
- }
107
-
108
- // Write the content of buf to os.
109
- // It is a separate function rather than a part of vprint to simplify testing.
110
- template <typename Char>
111
- void write_buffer(std::basic_ostream<Char>& os, buffer<Char>& buf) {
112
- const Char* buf_data = buf.data();
113
- using unsigned_streamsize = std::make_unsigned<std::streamsize>::type;
114
- unsigned_streamsize size = buf.size();
115
- unsigned_streamsize max_size = to_unsigned(max_value<std::streamsize>());
116
- do {
117
- unsigned_streamsize n = size <= max_size ? size : max_size;
118
- os.write(buf_data, static_cast<std::streamsize>(n));
119
- buf_data += n;
120
- size -= n;
121
- } while (size != 0);
122
- }
123
-
124
- template <typename Char, typename T>
125
- void format_value(buffer<Char>& buf, const T& value) {
126
- auto&& format_buf = formatbuf<std::basic_streambuf<Char>>(buf);
127
- auto&& output = std::basic_ostream<Char>(&format_buf);
128
- #if !defined(FMT_STATIC_THOUSANDS_SEPARATOR)
129
- output.imbue(std::locale::classic()); // The default is always unlocalized.
130
- #endif
131
- output << value;
132
- output.exceptions(std::ios_base::failbit | std::ios_base::badbit);
133
- }
134
-
135
- template <typename T> struct streamed_view {
136
- const T& value;
137
- };
138
-
139
- } // namespace detail
140
-
141
- // Formats an object of type T that has an overloaded ostream operator<<.
142
- template <typename Char>
143
- struct basic_ostream_formatter : formatter<basic_string_view<Char>, Char> {
144
- void set_debug_format() = delete;
145
-
146
- template <typename T, typename OutputIt>
147
- auto format(const T& value, basic_format_context<OutputIt, Char>& ctx) const
148
- -> OutputIt {
149
- auto buffer = basic_memory_buffer<Char>();
150
- detail::format_value(buffer, value);
151
- return formatter<basic_string_view<Char>, Char>::format(
152
- {buffer.data(), buffer.size()}, ctx);
153
- }
154
- };
155
-
156
- using ostream_formatter = basic_ostream_formatter<char>;
157
-
158
- template <typename T, typename Char>
159
- struct formatter<detail::streamed_view<T>, Char>
160
- : basic_ostream_formatter<Char> {
161
- template <typename OutputIt>
162
- auto format(detail::streamed_view<T> view,
163
- basic_format_context<OutputIt, Char>& ctx) const -> OutputIt {
164
- return basic_ostream_formatter<Char>::format(view.value, ctx);
165
- }
166
- };
167
-
168
- /**
169
- \rst
170
- Returns a view that formats `value` via an ostream ``operator<<``.
171
-
172
- **Example**::
173
-
174
- fmt::print("Current thread id: {}\n",
175
- fmt::streamed(std::this_thread::get_id()));
176
- \endrst
177
- */
178
- template <typename T>
179
- constexpr auto streamed(const T& value) -> detail::streamed_view<T> {
180
- return {value};
181
- }
182
-
183
- namespace detail {
184
-
185
- inline void vprint_directly(std::ostream& os, string_view format_str,
186
- format_args args) {
187
- auto buffer = memory_buffer();
188
- detail::vformat_to(buffer, format_str, args);
189
- detail::write_buffer(os, buffer);
190
- }
191
-
192
- } // namespace detail
193
-
194
- FMT_EXPORT template <typename Char>
195
- void vprint(std::basic_ostream<Char>& os,
196
- basic_string_view<type_identity_t<Char>> format_str,
197
- basic_format_args<buffer_context<type_identity_t<Char>>> args) {
198
- auto buffer = basic_memory_buffer<Char>();
199
- detail::vformat_to(buffer, format_str, args);
200
- if (detail::write_ostream_unicode(os, {buffer.data(), buffer.size()})) return;
201
- detail::write_buffer(os, buffer);
202
- }
203
-
204
- /**
205
- \rst
206
- Prints formatted data to the stream *os*.
207
-
208
- **Example**::
209
-
210
- fmt::print(cerr, "Don't {}!", "panic");
211
- \endrst
212
- */
213
- FMT_EXPORT template <typename... T>
214
- void print(std::ostream& os, format_string<T...> fmt, T&&... args) {
215
- const auto& vargs = fmt::make_format_args(args...);
216
- if (detail::is_utf8())
217
- vprint(os, fmt, vargs);
218
- else
219
- detail::vprint_directly(os, fmt, vargs);
220
- }
221
-
222
- FMT_EXPORT
223
- template <typename... Args>
224
- void print(std::wostream& os,
225
- basic_format_string<wchar_t, type_identity_t<Args>...> fmt,
226
- Args&&... args) {
227
- vprint(os, fmt, fmt::make_format_args<buffer_context<wchar_t>>(args...));
228
- }
229
-
230
- FMT_EXPORT template <typename... T>
231
- void println(std::ostream& os, format_string<T...> fmt, T&&... args) {
232
- fmt::print(os, "{}\n", fmt::format(fmt, std::forward<T>(args)...));
233
- }
234
-
235
- FMT_EXPORT
236
- template <typename... Args>
237
- void println(std::wostream& os,
238
- basic_format_string<wchar_t, type_identity_t<Args>...> fmt,
239
- Args&&... args) {
240
- print(os, L"{}\n", fmt::format(fmt, std::forward<Args>(args)...));
241
- }
242
-
243
- FMT_END_NAMESPACE
244
-
245
- #endif // FMT_OSTREAM_H_