couchbase 4.4.3 → 4.4.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (465) hide show
  1. package/BUILDING.md +182 -0
  2. package/CMakeLists.txt +15 -5
  3. package/CONTRIBUTING.md +1 -1
  4. package/README.md +4 -2
  5. package/deps/couchbase-cxx-cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/BUILDING.md +206 -0
  6. package/deps/couchbase-cxx-cache/cpm/{CPM_0.38.6.cmake → CPM_0.40.5.cmake} +152 -22
  7. package/deps/couchbase-cxx-cache/mozilla-ca-bundle.crt +32 -87
  8. package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
  9. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/CMakeLists.txt +30 -6
  10. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/README.md +10 -3
  11. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/utils.cmake +13 -2
  12. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async_logger-inl.h +5 -7
  13. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/mpmc_blocking_q.h +3 -3
  14. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/os-inl.h +3 -3
  15. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/thread_pool-inl.h +3 -8
  16. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/thread_pool.h +3 -14
  17. package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/base.h +47 -31
  18. package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/format-inl.h +32 -8
  19. package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/format.h +22 -14
  20. package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/ranges.h +1 -1
  21. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/mdc.h +4 -0
  22. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/pattern_formatter-inl.h +16 -2
  23. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ansicolor_sink.h +1 -1
  24. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/base_sink.h +4 -4
  25. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/callback_sink.h +1 -1
  26. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/daily_file_sink.h +3 -0
  27. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/hourly_file_sink.h +2 -0
  28. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/msvc_sink.h +1 -1
  29. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +1 -1
  30. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/syslog_sink.h +3 -2
  31. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +9 -0
  32. package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/version.h +2 -2
  33. package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/format.cc → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/src/bundled_fmtlib_format.cpp} +10 -5
  34. package/deps/couchbase-cxx-client/CMakeLists.txt +3 -2
  35. package/deps/couchbase-cxx-client/README.md +2 -2
  36. package/deps/couchbase-cxx-client/cmake/APKBUILD.in +54 -0
  37. package/deps/couchbase-cxx-client/cmake/Backtrace.cmake +3 -1
  38. package/deps/couchbase-cxx-client/cmake/CPM.cmake +1 -1
  39. package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +0 -5
  40. package/deps/couchbase-cxx-client/cmake/Packaging.cmake +174 -11
  41. package/deps/couchbase-cxx-client/cmake/RPath.cmake +10 -0
  42. package/deps/couchbase-cxx-client/cmake/Testing.cmake +0 -4
  43. package/deps/couchbase-cxx-client/cmake/ThirdPartyDependencies.cmake +7 -26
  44. package/deps/couchbase-cxx-client/cmake/VersionInfo.cmake +4 -0
  45. package/deps/couchbase-cxx-client/cmake/build_version.hxx.in +1 -0
  46. package/deps/couchbase-cxx-client/cmake/couchbase-cxx-client.spec.in +2 -2
  47. package/deps/couchbase-cxx-client/cmake/couchbase_cxx_client.pc.in +2 -2
  48. package/deps/couchbase-cxx-client/cmake/debian/changelog.in +5 -0
  49. package/deps/couchbase-cxx-client/cmake/debian/compat +1 -0
  50. package/deps/couchbase-cxx-client/cmake/debian/control +40 -0
  51. package/deps/couchbase-cxx-client/cmake/debian/rules +41 -0
  52. package/deps/couchbase-cxx-client/cmake/debian/source/format +1 -0
  53. package/deps/couchbase-cxx-client/core/agent_config.cxx +1 -1
  54. package/deps/couchbase-cxx-client/core/agent_group_config.cxx +1 -1
  55. package/deps/couchbase-cxx-client/core/bucket.cxx +9 -9
  56. package/deps/couchbase-cxx-client/core/cluster.cxx +0 -2
  57. package/deps/couchbase-cxx-client/core/cluster_agent_config.cxx +1 -1
  58. package/deps/couchbase-cxx-client/core/collections_component.cxx +1 -1
  59. package/deps/couchbase-cxx-client/core/columnar/agent_config.cxx +2 -2
  60. package/deps/couchbase-cxx-client/core/columnar/error.hxx +0 -1
  61. package/deps/couchbase-cxx-client/core/columnar/query_component.cxx +2 -2
  62. package/deps/couchbase-cxx-client/core/config_profiles.cxx +1 -1
  63. package/deps/couchbase-cxx-client/core/core_sdk_shim.cxx +1 -1
  64. package/deps/couchbase-cxx-client/core/crud_component.cxx +1 -1
  65. package/deps/couchbase-cxx-client/core/design_document_namespace_fmt.hxx +1 -1
  66. package/deps/couchbase-cxx-client/core/diagnostics_fmt.hxx +1 -1
  67. package/deps/couchbase-cxx-client/core/document_id.cxx +1 -1
  68. package/deps/couchbase-cxx-client/core/document_id_fmt.hxx +1 -1
  69. package/deps/couchbase-cxx-client/core/error_context/analytics_json.hxx +3 -1
  70. package/deps/couchbase-cxx-client/core/error_context/key_value_json.hxx +1 -1
  71. package/deps/couchbase-cxx-client/core/error_context/query_public_json.hxx +1 -1
  72. package/deps/couchbase-cxx-client/core/error_context/subdocument_json.hxx +1 -1
  73. package/deps/couchbase-cxx-client/core/fmt/key_value_error_map_attribute.hxx +1 -1
  74. package/deps/couchbase-cxx-client/core/fmt/key_value_extended_error_info.hxx +1 -1
  75. package/deps/couchbase-cxx-client/core/fmt/key_value_status_code.hxx +1 -1
  76. package/deps/couchbase-cxx-client/core/http_component.cxx +3 -3
  77. package/deps/couchbase-cxx-client/core/impl/analytics.cxx +1 -0
  78. package/deps/couchbase-cxx-client/core/impl/best_effort_retry_strategy.cxx +1 -1
  79. package/deps/couchbase-cxx-client/core/impl/collection.cxx +28 -4
  80. package/deps/couchbase-cxx-client/core/impl/date_range.cxx +2 -2
  81. package/deps/couchbase-cxx-client/core/impl/date_range_query.cxx +2 -2
  82. package/deps/couchbase-cxx-client/core/impl/dns_srv_tracker.cxx +1 -1
  83. package/deps/couchbase-cxx-client/core/impl/error.cxx +27 -4
  84. package/deps/couchbase-cxx-client/core/impl/expiry.cxx +2 -2
  85. package/deps/couchbase-cxx-client/core/impl/fail_fast_retry_strategy.cxx +1 -2
  86. package/deps/couchbase-cxx-client/core/impl/get_replica.hxx +2 -0
  87. package/deps/couchbase-cxx-client/core/impl/key_value_error_context.cxx +6 -4
  88. package/deps/couchbase-cxx-client/core/impl/lookup_in_replica.hxx +2 -0
  89. package/deps/couchbase-cxx-client/core/impl/numeric_range.cxx +1 -1
  90. package/deps/couchbase-cxx-client/core/impl/observe_seqno.hxx +2 -0
  91. package/deps/couchbase-cxx-client/core/impl/query.cxx +1 -0
  92. package/deps/couchbase-cxx-client/core/impl/query_error_context.cxx +3 -2
  93. package/deps/couchbase-cxx-client/core/impl/scope.cxx +5 -6
  94. package/deps/couchbase-cxx-client/core/impl/search.cxx +3 -1
  95. package/deps/couchbase-cxx-client/core/io/config_tracker.cxx +1 -1
  96. package/deps/couchbase-cxx-client/core/io/dns_client.cxx +23 -8
  97. package/deps/couchbase-cxx-client/core/io/http_command.hxx +2 -2
  98. package/deps/couchbase-cxx-client/core/io/http_parser.cxx +1 -1
  99. package/deps/couchbase-cxx-client/core/io/http_session.cxx +4 -0
  100. package/deps/couchbase-cxx-client/core/io/http_session.hxx +4 -2
  101. package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +2 -2
  102. package/deps/couchbase-cxx-client/core/key_value_config.cxx +2 -2
  103. package/deps/couchbase-cxx-client/core/logger/logger.hxx +1 -1
  104. package/deps/couchbase-cxx-client/core/management/rbac_fmt.hxx +1 -1
  105. package/deps/couchbase-cxx-client/core/mcbp/operation_queue.cxx +1 -1
  106. package/deps/couchbase-cxx-client/core/mcbp/packet.cxx +1 -1
  107. package/deps/couchbase-cxx-client/core/meta/features.hxx +11 -0
  108. package/deps/couchbase-cxx-client/core/meta/version.cxx +48 -7
  109. package/deps/couchbase-cxx-client/core/operations/document_analytics.cxx +23 -17
  110. package/deps/couchbase-cxx-client/core/operations/document_analytics.hxx +1 -0
  111. package/deps/couchbase-cxx-client/core/operations/document_append.hxx +2 -0
  112. package/deps/couchbase-cxx-client/core/operations/document_decrement.hxx +2 -0
  113. package/deps/couchbase-cxx-client/core/operations/document_exists.hxx +2 -0
  114. package/deps/couchbase-cxx-client/core/operations/document_get.hxx +2 -0
  115. package/deps/couchbase-cxx-client/core/operations/document_get_all_replicas.hxx +2 -0
  116. package/deps/couchbase-cxx-client/core/operations/document_get_and_lock.hxx +2 -0
  117. package/deps/couchbase-cxx-client/core/operations/document_get_and_touch.hxx +2 -0
  118. package/deps/couchbase-cxx-client/core/operations/document_get_any_replica.hxx +2 -0
  119. package/deps/couchbase-cxx-client/core/operations/document_get_projected.hxx +2 -0
  120. package/deps/couchbase-cxx-client/core/operations/document_increment.hxx +2 -0
  121. package/deps/couchbase-cxx-client/core/operations/document_insert.hxx +2 -0
  122. package/deps/couchbase-cxx-client/core/operations/document_lookup_in.hxx +2 -0
  123. package/deps/couchbase-cxx-client/core/operations/document_lookup_in_all_replicas.hxx +2 -0
  124. package/deps/couchbase-cxx-client/core/operations/document_lookup_in_any_replica.hxx +2 -0
  125. package/deps/couchbase-cxx-client/core/operations/document_mutate_in.hxx +2 -0
  126. package/deps/couchbase-cxx-client/core/operations/document_prepend.hxx +2 -0
  127. package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -0
  128. package/deps/couchbase-cxx-client/core/operations/document_remove.hxx +2 -0
  129. package/deps/couchbase-cxx-client/core/operations/document_replace.hxx +2 -0
  130. package/deps/couchbase-cxx-client/core/operations/document_search.hxx +1 -0
  131. package/deps/couchbase-cxx-client/core/operations/document_touch.hxx +2 -0
  132. package/deps/couchbase-cxx-client/core/operations/document_unlock.hxx +2 -0
  133. package/deps/couchbase-cxx-client/core/operations/document_upsert.hxx +2 -0
  134. package/deps/couchbase-cxx-client/core/operations/document_view.hxx +1 -0
  135. package/deps/couchbase-cxx-client/core/operations/http_noop.hxx +2 -0
  136. package/deps/couchbase-cxx-client/core/operations/management/CMakeLists.txt +0 -1
  137. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.cxx +1 -1
  138. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.hxx +1 -0
  139. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.cxx +1 -1
  140. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.hxx +1 -0
  141. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_get_all.hxx +1 -0
  142. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.cxx +1 -1
  143. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.hxx +1 -0
  144. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.cxx +1 -1
  145. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.hxx +1 -0
  146. package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.cxx +1 -1
  147. package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.hxx +2 -0
  148. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_create.hxx +1 -0
  149. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.cxx +1 -1
  150. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.hxx +1 -0
  151. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_get_all.hxx +1 -0
  152. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.cxx +1 -1
  153. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.hxx +1 -0
  154. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_create.hxx +1 -0
  155. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.cxx +1 -1
  156. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.hxx +1 -0
  157. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.cxx +1 -1
  158. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.hxx +1 -0
  159. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.cxx +24 -16
  160. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.hxx +4 -3
  161. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_replace.hxx +1 -0
  162. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_utils.hxx +4 -3
  163. package/deps/couchbase-cxx-client/core/operations/management/bucket_create.hxx +1 -0
  164. package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +1 -1
  165. package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.hxx +1 -0
  166. package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.cxx +1 -1
  167. package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.hxx +1 -0
  168. package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.cxx +1 -1
  169. package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.hxx +1 -0
  170. package/deps/couchbase-cxx-client/core/operations/management/bucket_get.cxx +1 -1
  171. package/deps/couchbase-cxx-client/core/operations/management/bucket_get.hxx +1 -0
  172. package/deps/couchbase-cxx-client/core/operations/management/bucket_get_all.hxx +1 -0
  173. package/deps/couchbase-cxx-client/core/operations/management/bucket_update.hxx +1 -0
  174. package/deps/couchbase-cxx-client/core/operations/management/change_password.cxx +1 -1
  175. package/deps/couchbase-cxx-client/core/operations/management/change_password.hxx +1 -0
  176. package/deps/couchbase-cxx-client/core/operations/management/cluster_describe.hxx +1 -0
  177. package/deps/couchbase-cxx-client/core/operations/management/cluster_developer_preview_enable.hxx +1 -0
  178. package/deps/couchbase-cxx-client/core/operations/management/collection_create.cxx +1 -1
  179. package/deps/couchbase-cxx-client/core/operations/management/collection_create.hxx +2 -0
  180. package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +1 -1
  181. package/deps/couchbase-cxx-client/core/operations/management/collection_drop.hxx +1 -0
  182. package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +1 -1
  183. package/deps/couchbase-cxx-client/core/operations/management/collection_update.hxx +2 -0
  184. package/deps/couchbase-cxx-client/core/operations/management/collections_manifest_get.hxx +2 -0
  185. package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.cxx +1 -1
  186. package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.hxx +3 -2
  187. package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.cxx +1 -1
  188. package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.hxx +3 -2
  189. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_all_functions.hxx +3 -2
  190. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.cxx +1 -1
  191. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.hxx +3 -2
  192. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_status.hxx +3 -2
  193. package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.cxx +1 -1
  194. package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.hxx +3 -2
  195. package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.cxx +1 -1
  196. package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.hxx +3 -2
  197. package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.cxx +1 -1
  198. package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.hxx +3 -2
  199. package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.cxx +1 -2
  200. package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.hxx +3 -2
  201. package/deps/couchbase-cxx-client/core/operations/management/freeform.hxx +2 -0
  202. package/deps/couchbase-cxx-client/core/operations/management/group_drop.cxx +1 -1
  203. package/deps/couchbase-cxx-client/core/operations/management/group_drop.hxx +1 -0
  204. package/deps/couchbase-cxx-client/core/operations/management/group_get.cxx +1 -1
  205. package/deps/couchbase-cxx-client/core/operations/management/group_get.hxx +1 -0
  206. package/deps/couchbase-cxx-client/core/operations/management/group_get_all.hxx +1 -0
  207. package/deps/couchbase-cxx-client/core/operations/management/group_upsert.hxx +1 -0
  208. package/deps/couchbase-cxx-client/core/operations/management/query_index_build.hxx +7 -5
  209. package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +3 -0
  210. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.cxx +1 -1
  211. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.hxx +1 -0
  212. package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.cxx +1 -1
  213. package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.hxx +1 -0
  214. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +2 -0
  215. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all_deferred.hxx +3 -0
  216. package/deps/couchbase-cxx-client/core/operations/management/role_get_all.hxx +1 -0
  217. package/deps/couchbase-cxx-client/core/operations/management/scope_create.cxx +1 -1
  218. package/deps/couchbase-cxx-client/core/operations/management/scope_create.hxx +1 -0
  219. package/deps/couchbase-cxx-client/core/operations/management/scope_drop.cxx +1 -1
  220. package/deps/couchbase-cxx-client/core/operations/management/scope_drop.hxx +1 -0
  221. package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.cxx +1 -1
  222. package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.hxx +1 -0
  223. package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +1 -0
  224. package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.cxx +1 -1
  225. package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.hxx +1 -0
  226. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +1 -1
  227. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.hxx +1 -0
  228. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +1 -1
  229. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.hxx +1 -0
  230. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +1 -1
  231. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.hxx +1 -0
  232. package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +1 -1
  233. package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.hxx +1 -0
  234. package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +1 -1
  235. package/deps/couchbase-cxx-client/core/operations/management/search_index_get.hxx +1 -0
  236. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +1 -1
  237. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.hxx +1 -0
  238. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +1 -1
  239. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.hxx +2 -0
  240. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.cxx +1 -1
  241. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.hxx +1 -0
  242. package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.cxx +1 -1
  243. package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.hxx +1 -0
  244. package/deps/couchbase-cxx-client/core/operations/management/user_drop.hxx +1 -0
  245. package/deps/couchbase-cxx-client/core/operations/management/user_get.hxx +1 -0
  246. package/deps/couchbase-cxx-client/core/operations/management/user_get_all.hxx +1 -0
  247. package/deps/couchbase-cxx-client/core/operations/management/user_upsert.cxx +3 -3
  248. package/deps/couchbase-cxx-client/core/operations/management/user_upsert.hxx +1 -0
  249. package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.cxx +1 -1
  250. package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.hxx +1 -0
  251. package/deps/couchbase-cxx-client/core/operations/management/view_index_get.cxx +1 -1
  252. package/deps/couchbase-cxx-client/core/operations/management/view_index_get.hxx +1 -0
  253. package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.cxx +1 -1
  254. package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.hxx +2 -0
  255. package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.cxx +1 -1
  256. package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.hxx +1 -0
  257. package/deps/couchbase-cxx-client/core/origin.cxx +3 -2
  258. package/deps/couchbase-cxx-client/core/platform/base64.h +8 -8
  259. package/deps/couchbase-cxx-client/core/protocol/client_opcode_fmt.hxx +1 -1
  260. package/deps/couchbase-cxx-client/core/protocol/client_response.hxx +1 -1
  261. package/deps/couchbase-cxx-client/core/protocol/frame_info_id_fmt.hxx +1 -1
  262. package/deps/couchbase-cxx-client/core/protocol/hello_feature_fmt.hxx +1 -1
  263. package/deps/couchbase-cxx-client/core/protocol/magic_fmt.hxx +1 -1
  264. package/deps/couchbase-cxx-client/core/protocol/server_opcode_fmt.hxx +1 -1
  265. package/deps/couchbase-cxx-client/core/query_context.hxx +7 -6
  266. package/deps/couchbase-cxx-client/core/retry_orchestrator.cxx +1 -1
  267. package/deps/couchbase-cxx-client/core/sasl/CMakeLists.txt +0 -1
  268. package/deps/couchbase-cxx-client/core/sasl/error_fmt.h +1 -1
  269. package/deps/couchbase-cxx-client/core/seed_config.cxx +2 -2
  270. package/deps/couchbase-cxx-client/core/service_type_fmt.hxx +1 -1
  271. package/deps/couchbase-cxx-client/core/topology/capabilities_fmt.hxx +1 -1
  272. package/deps/couchbase-cxx-client/core/topology/collections_manifest_fmt.hxx +2 -1
  273. package/deps/couchbase-cxx-client/core/topology/configuration_fmt.hxx +1 -1
  274. package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.cxx +1 -1
  275. package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.hxx +9 -22
  276. package/deps/couchbase-cxx-client/core/transactions/attempt_context.cxx +1 -1
  277. package/deps/couchbase-cxx-client/core/transactions/attempt_context.hxx +6 -33
  278. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +41 -41
  279. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +15 -16
  280. package/deps/couchbase-cxx-client/core/transactions/exceptions_fmt.hxx +1 -1
  281. package/deps/couchbase-cxx-client/core/transactions/internal/atr_cleanup_entry.hxx +1 -1
  282. package/deps/couchbase-cxx-client/core/transactions/internal/client_record.hxx +4 -3
  283. package/deps/couchbase-cxx-client/core/transactions/internal/doc_record_fmt.hxx +1 -1
  284. package/deps/couchbase-cxx-client/core/transactions/internal/exceptions_internal.hxx +0 -2
  285. package/deps/couchbase-cxx-client/core/transactions/internal/exceptions_internal_fmt.hxx +1 -1
  286. package/deps/couchbase-cxx-client/core/transactions/internal/logging.hxx +2 -0
  287. package/deps/couchbase-cxx-client/core/transactions/internal/transaction_context.hxx +3 -0
  288. package/deps/couchbase-cxx-client/core/transactions/result_fmt.hxx +1 -1
  289. package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +12 -2
  290. package/deps/couchbase-cxx-client/core/transactions/transaction_get_result.hxx +0 -20
  291. package/deps/couchbase-cxx-client/core/transactions/transaction_links.hxx +1 -1
  292. package/deps/couchbase-cxx-client/core/utils/join_strings.hxx +2 -2
  293. package/deps/couchbase-cxx-client/core/utils/keyspace.hxx +2 -1
  294. package/deps/couchbase-cxx-client/core/utils/url_codec.cxx +1 -1
  295. package/deps/couchbase-cxx-client/couchbase/common_options.hxx +16 -1
  296. package/deps/couchbase-cxx-client/couchbase/fmt/analytics_scan_consistency.hxx +0 -2
  297. package/deps/couchbase-cxx-client/couchbase/fmt/analytics_status.hxx +0 -2
  298. package/deps/couchbase-cxx-client/couchbase/fmt/cas.hxx +0 -2
  299. package/deps/couchbase-cxx-client/couchbase/fmt/durability_level.hxx +0 -2
  300. package/deps/couchbase-cxx-client/couchbase/fmt/error.hxx +0 -2
  301. package/deps/couchbase-cxx-client/couchbase/fmt/error_context.hxx +0 -2
  302. package/deps/couchbase-cxx-client/couchbase/fmt/mutation_token.hxx +0 -2
  303. package/deps/couchbase-cxx-client/couchbase/fmt/query_profile.hxx +0 -2
  304. package/deps/couchbase-cxx-client/couchbase/fmt/query_scan_consistency.hxx +0 -2
  305. package/deps/couchbase-cxx-client/couchbase/fmt/query_status.hxx +0 -2
  306. package/deps/couchbase-cxx-client/couchbase/fmt/retry_reason.hxx +5 -1
  307. package/deps/couchbase-cxx-client/couchbase/fmt/search_scan_consistency.hxx +0 -2
  308. package/deps/couchbase-cxx-client/couchbase/fmt/tls_verify_mode.hxx +0 -2
  309. package/deps/couchbase-cxx-client/couchbase/fmt/transaction_keyspace.hxx +0 -2
  310. package/deps/couchbase-cxx-client/couchbase/metrics/otel_meter.hxx +16 -20
  311. package/deps/couchbase-cxx-client/couchbase-sdk-cxx-black-duck-manifest.yaml +1 -4
  312. package/dist/analyticsindexmanager.d.ts +98 -14
  313. package/dist/analyticsindexmanager.js +452 -411
  314. package/dist/authenticators.d.ts +1 -1
  315. package/dist/binding.d.ts +53 -4
  316. package/dist/bindingutilities.d.ts +26 -1
  317. package/dist/bindingutilities.js +108 -1
  318. package/dist/cluster.d.ts +10 -0
  319. package/dist/cluster.js +17 -0
  320. package/dist/collection.d.ts +2 -2
  321. package/dist/collection.js +1 -1
  322. package/dist/couchbase.d.ts +3 -1
  323. package/dist/couchbase.js +2 -0
  324. package/dist/rangeScan.d.ts +1 -1
  325. package/dist/rangeScan.js +1 -1
  326. package/dist/sdspecs.js +1 -1
  327. package/dist/transactions.d.ts +34 -3
  328. package/dist/transactions.js +25 -18
  329. package/dist/transcoders.d.ts +68 -0
  330. package/dist/transcoders.js +194 -1
  331. package/dist/usermanager.d.ts +14 -14
  332. package/dist/usermanager.js +178 -228
  333. package/dist/utilities.js +2 -6
  334. package/dist/utilities_internal.js +1 -2
  335. package/package.json +9 -15
  336. package/src/connection.cpp +22 -0
  337. package/src/connection.hpp +12 -0
  338. package/src/connection_autogen.cpp +100 -0
  339. package/src/jstocbpp_autogen.hpp +315 -8
  340. package/src/jstocbpp_transactions.hpp +1 -2
  341. package/tools/gen-bindings-js.js +38 -3
  342. package/tools/gen-bindings-json.py +575 -328
  343. package/deps/couchbase-cxx-cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/CMakeLists.txt +0 -520
  344. package/deps/couchbase-cxx-cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/CONTRIBUTING.md +0 -20
  345. package/deps/couchbase-cxx-cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/ChangeLog.md +0 -2598
  346. package/deps/couchbase-cxx-cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/LICENSE +0 -27
  347. package/deps/couchbase-cxx-cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/README.md +0 -484
  348. package/deps/couchbase-cxx-cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/fmt.cc +0 -135
  349. package/deps/couchbase-cxx-cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/os.cc +0 -403
  350. package/deps/couchbase-cxx-cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/FindSetEnv.cmake +0 -7
  351. package/deps/couchbase-cxx-cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/JoinPaths.cmake +0 -26
  352. package/deps/couchbase-cxx-cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/fmt-config.cmake.in +0 -7
  353. package/deps/couchbase-cxx-cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/fmt.pc.in +0 -11
  354. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/args.h +0 -235
  355. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -2240
  356. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/color.h +0 -643
  357. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/compile.h +0 -535
  358. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/core.h +0 -2969
  359. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1678
  360. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/format.h +0 -4535
  361. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/os.h +0 -455
  362. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -245
  363. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/printf.h +0 -675
  364. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -738
  365. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/std.h +0 -537
  366. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/xchar.h +0 -259
  367. package/deps/couchbase-cxx-cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/src/bundled_fmtlib_format.cpp +0 -46
  368. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/LICENSE +0 -0
  369. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/ide.cmake +0 -0
  370. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/pch.h.in +0 -0
  371. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlog.pc.in +0 -0
  372. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlogCPack.cmake +0 -0
  373. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlogConfig.cmake.in +0 -0
  374. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/version.rc.in +0 -0
  375. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async.h +0 -0
  376. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async_logger.h +0 -0
  377. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/argv.h +0 -0
  378. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/env.h +0 -0
  379. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/helpers-inl.h +0 -0
  380. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/helpers.h +0 -0
  381. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/common-inl.h +0 -0
  382. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/common.h +0 -0
  383. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/backtracer-inl.h +0 -0
  384. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/backtracer.h +0 -0
  385. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/circular_q.h +0 -0
  386. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/console_globals.h +0 -0
  387. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/file_helper-inl.h +0 -0
  388. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/file_helper.h +0 -0
  389. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/fmt_helper.h +0 -0
  390. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg-inl.h +0 -0
  391. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg.h +0 -0
  392. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -0
  393. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg_buffer.h +0 -0
  394. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/null_mutex.h +0 -0
  395. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/os.h +0 -0
  396. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -0
  397. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/periodic_worker.h +0 -0
  398. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/registry-inl.h +0 -0
  399. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/registry.h +0 -0
  400. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/synchronous_factory.h +0 -0
  401. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/tcp_client-windows.h +0 -0
  402. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/tcp_client.h +0 -0
  403. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/udp_client-windows.h +0 -0
  404. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/udp_client.h +0 -0
  405. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/windows_include.h +0 -0
  406. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -0
  407. /package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/args.h +0 -0
  408. /package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/chrono.h +0 -0
  409. /package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/color.h +0 -0
  410. /package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/compile.h +0 -0
  411. /package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/core.h +0 -0
  412. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bundled/fmt.license.rst +0 -0
  413. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bundled/locale.h +0 -0
  414. /package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/os.h +0 -0
  415. /package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/ostream.h +0 -0
  416. /package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/printf.h +0 -0
  417. /package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/std.h +0 -0
  418. /package/deps/couchbase-cxx-cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/xchar.h +0 -0
  419. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/chrono.h +0 -0
  420. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/compile.h +0 -0
  421. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/fmt.h +0 -0
  422. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/ostr.h +0 -0
  423. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/ranges.h +0 -0
  424. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/std.h +0 -0
  425. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/xchar.h +0 -0
  426. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/formatter.h +0 -0
  427. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fwd.h +0 -0
  428. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/logger-inl.h +0 -0
  429. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/logger.h +0 -0
  430. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/pattern_formatter.h +0 -0
  431. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/android_sink.h +0 -0
  432. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -0
  433. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -0
  434. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -0
  435. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -0
  436. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/dist_sink.h +0 -0
  437. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -0
  438. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/kafka_sink.h +0 -0
  439. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/mongo_sink.h +0 -0
  440. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/null_sink.h +0 -0
  441. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ostream_sink.h +0 -0
  442. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/qt_sinks.h +0 -0
  443. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -0
  444. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -0
  445. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/sink-inl.h +0 -0
  446. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/sink.h +0 -0
  447. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -0
  448. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -0
  449. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -0
  450. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -0
  451. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/systemd_sink.h +0 -0
  452. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/tcp_sink.h +0 -0
  453. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/udp_sink.h +0 -0
  454. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -0
  455. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -0
  456. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/spdlog-inl.h +0 -0
  457. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/spdlog.h +0 -0
  458. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/stopwatch.h +0 -0
  459. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/tweakme.h +0 -0
  460. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/async.cpp +0 -0
  461. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/cfg.cpp +0 -0
  462. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/color_sinks.cpp +0 -0
  463. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/file_sinks.cpp +0 -0
  464. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/spdlog.cpp +0 -0
  465. /package/deps/couchbase-cxx-cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/stdout_sinks.cpp +0 -0
@@ -62,13 +62,9 @@ void SPDLOG_INLINE thread_pool::post_log(async_logger_ptr &&worker_ptr,
62
62
  post_async_msg_(std::move(async_m), overflow_policy);
63
63
  }
64
64
 
65
- std::future<void> SPDLOG_INLINE thread_pool::post_flush(async_logger_ptr &&worker_ptr,
66
- async_overflow_policy overflow_policy) {
67
- std::promise<void> promise;
68
- std::future<void> future = promise.get_future();
69
- post_async_msg_(async_msg(std::move(worker_ptr), async_msg_type::flush, std::move(promise)),
70
- overflow_policy);
71
- return future;
65
+ void SPDLOG_INLINE thread_pool::post_flush(async_logger_ptr &&worker_ptr,
66
+ async_overflow_policy overflow_policy) {
67
+ post_async_msg_(async_msg(std::move(worker_ptr), async_msg_type::flush), overflow_policy);
72
68
  }
73
69
 
74
70
  size_t SPDLOG_INLINE thread_pool::overrun_counter() { return q_.overrun_counter(); }
@@ -112,7 +108,6 @@ bool SPDLOG_INLINE thread_pool::process_next_msg_() {
112
108
  }
113
109
  case async_msg_type::flush: {
114
110
  incoming_async_msg.worker_ptr->backend_flush_();
115
- incoming_async_msg.flush_promise.set_value();
116
111
  return true;
117
112
  }
118
113
 
@@ -9,7 +9,6 @@
9
9
 
10
10
  #include <chrono>
11
11
  #include <functional>
12
- #include <future>
13
12
  #include <memory>
14
13
  #include <thread>
15
14
  #include <vector>
@@ -28,7 +27,6 @@ enum class async_msg_type { log, flush, terminate };
28
27
  struct async_msg : log_msg_buffer {
29
28
  async_msg_type msg_type{async_msg_type::log};
30
29
  async_logger_ptr worker_ptr;
31
- std::promise<void> flush_promise;
32
30
 
33
31
  async_msg() = default;
34
32
  ~async_msg() = default;
@@ -58,20 +56,12 @@ struct async_msg : log_msg_buffer {
58
56
  async_msg(async_logger_ptr &&worker, async_msg_type the_type, const details::log_msg &m)
59
57
  : log_msg_buffer{m},
60
58
  msg_type{the_type},
61
- worker_ptr{std::move(worker)},
62
- flush_promise{} {}
59
+ worker_ptr{std::move(worker)} {}
63
60
 
64
61
  async_msg(async_logger_ptr &&worker, async_msg_type the_type)
65
62
  : log_msg_buffer{},
66
63
  msg_type{the_type},
67
- worker_ptr{std::move(worker)},
68
- flush_promise{} {}
69
-
70
- async_msg(async_logger_ptr &&worker, async_msg_type the_type, std::promise<void> &&promise)
71
- : log_msg_buffer{},
72
- msg_type{the_type},
73
- worker_ptr{std::move(worker)},
74
- flush_promise{std::move(promise)} {}
64
+ worker_ptr{std::move(worker)} {}
75
65
 
76
66
  explicit async_msg(async_msg_type the_type)
77
67
  : async_msg{nullptr, the_type} {}
@@ -98,8 +88,7 @@ public:
98
88
  void post_log(async_logger_ptr &&worker_ptr,
99
89
  const details::log_msg &msg,
100
90
  async_overflow_policy overflow_policy);
101
- std::future<void> post_flush(async_logger_ptr &&worker_ptr,
102
- async_overflow_policy overflow_policy);
91
+ void post_flush(async_logger_ptr &&worker_ptr, async_overflow_policy overflow_policy);
103
92
  size_t overrun_counter();
104
93
  void reset_overrun_counter();
105
94
  size_t discard_counter();
@@ -23,7 +23,7 @@
23
23
  #endif
24
24
 
25
25
  // The fmt library version in the form major * 10000 + minor * 100 + patch.
26
- #define FMT_VERSION 110001
26
+ #define FMT_VERSION 110002
27
27
 
28
28
  // Detect compiler versions.
29
29
  #if defined(__clang__) && !defined(__ibmxl__)
@@ -441,7 +441,8 @@ struct is_std_string_like : std::false_type {};
441
441
  template <typename T>
442
442
  struct is_std_string_like<T, void_t<decltype(std::declval<T>().find_first_of(
443
443
  typename T::value_type(), 0))>>
444
- : std::true_type {};
444
+ : std::is_convertible<decltype(std::declval<T>().data()),
445
+ const typename T::value_type*> {};
445
446
 
446
447
  // Returns true iff the literal encoding is UTF-8.
447
448
  constexpr auto is_utf8_enabled() -> bool {
@@ -466,6 +467,7 @@ template <typename Char> FMT_CONSTEXPR auto length(const Char* s) -> size_t {
466
467
  template <typename Char>
467
468
  FMT_CONSTEXPR auto compare(const Char* s1, const Char* s2, std::size_t n)
468
469
  -> int {
470
+ if (!is_constant_evaluated() && sizeof(Char) == 1) return memcmp(s1, s2, n);
469
471
  for (; n != 0; ++s1, ++s2, --n) {
470
472
  if (*s1 < *s2) return -1;
471
473
  if (*s1 > *s2) return 1;
@@ -473,14 +475,22 @@ FMT_CONSTEXPR auto compare(const Char* s1, const Char* s2, std::size_t n)
473
475
  return 0;
474
476
  }
475
477
 
478
+ namespace adl {
479
+ using namespace std;
480
+
481
+ template <typename Container>
482
+ auto invoke_back_inserter()
483
+ -> decltype(back_inserter(std::declval<Container&>()));
484
+ } // namespace adl
485
+
476
486
  template <typename It, typename Enable = std::true_type>
477
487
  struct is_back_insert_iterator : std::false_type {};
488
+
478
489
  template <typename It>
479
490
  struct is_back_insert_iterator<
480
- It,
481
- bool_constant<std::is_same<
482
- decltype(back_inserter(std::declval<typename It::container_type&>())),
483
- It>::value>> : std::true_type {};
491
+ It, bool_constant<std::is_same<
492
+ decltype(adl::invoke_back_inserter<typename It::container_type>()),
493
+ It>::value>> : std::true_type {};
484
494
 
485
495
  // Extracts a reference to the container from *insert_iterator.
486
496
  template <typename OutputIt>
@@ -611,11 +621,12 @@ namespace detail {
611
621
  // to it, deducing Char. Explicitly convertible types such as the ones returned
612
622
  // from FMT_STRING are intentionally excluded.
613
623
  template <typename Char, FMT_ENABLE_IF(is_char<Char>::value)>
614
- auto to_string_view(const Char* s) -> basic_string_view<Char> {
624
+ constexpr auto to_string_view(const Char* s) -> basic_string_view<Char> {
615
625
  return s;
616
626
  }
617
627
  template <typename T, FMT_ENABLE_IF(is_std_string_like<T>::value)>
618
- auto to_string_view(const T& s) -> basic_string_view<typename T::value_type> {
628
+ constexpr auto to_string_view(const T& s)
629
+ -> basic_string_view<typename T::value_type> {
619
630
  return s;
620
631
  }
621
632
  template <typename Char>
@@ -919,12 +930,9 @@ template <typename T> class buffer {
919
930
  try_reserve(size_ + count);
920
931
  auto free_cap = capacity_ - size_;
921
932
  if (free_cap < count) count = free_cap;
922
- if (std::is_same<T, U>::value) {
923
- memcpy(ptr_ + size_, begin, count * sizeof(T));
924
- } else {
925
- T* out = ptr_ + size_;
926
- for (size_t i = 0; i < count; ++i) out[i] = begin[i];
927
- }
933
+ // A loop is faster than memcpy on small sizes.
934
+ T* out = ptr_ + size_;
935
+ for (size_t i = 0; i < count; ++i) out[i] = begin[i];
928
936
  size_ += count;
929
937
  begin += count;
930
938
  }
@@ -1157,6 +1165,7 @@ template <typename T> class basic_appender {
1157
1165
  using difference_type = ptrdiff_t;
1158
1166
  using pointer = T*;
1159
1167
  using reference = T&;
1168
+ using container_type = detail::buffer<T>;
1160
1169
  FMT_UNCHECKED_ITERATOR(basic_appender);
1161
1170
 
1162
1171
  FMT_CONSTEXPR basic_appender(detail::buffer<T>& buf) : buffer_(&buf) {}
@@ -1173,6 +1182,8 @@ template <typename T> class basic_appender {
1173
1182
  using appender = basic_appender<char>;
1174
1183
 
1175
1184
  namespace detail {
1185
+ template <typename T>
1186
+ struct is_back_insert_iterator<basic_appender<T>> : std::true_type {};
1176
1187
 
1177
1188
  template <typename T, typename Enable = void>
1178
1189
  struct locking : std::true_type {};
@@ -1189,12 +1200,6 @@ FMT_CONSTEXPR inline auto is_locking() -> bool {
1189
1200
  }
1190
1201
 
1191
1202
  // An optimized version of std::copy with the output value type (T).
1192
- template <typename T, typename InputIt>
1193
- auto copy(InputIt begin, InputIt end, appender out) -> appender {
1194
- get_container(out).append(begin, end);
1195
- return out;
1196
- }
1197
-
1198
1203
  template <typename T, typename InputIt, typename OutputIt,
1199
1204
  FMT_ENABLE_IF(is_back_insert_iterator<OutputIt>::value)>
1200
1205
  auto copy(InputIt begin, InputIt end, OutputIt out) -> OutputIt {
@@ -1209,14 +1214,6 @@ FMT_CONSTEXPR auto copy(InputIt begin, InputIt end, OutputIt out) -> OutputIt {
1209
1214
  return out;
1210
1215
  }
1211
1216
 
1212
- template <typename T>
1213
- FMT_CONSTEXPR auto copy(const T* begin, const T* end, T* out) -> T* {
1214
- if (is_constant_evaluated()) return copy<T, const T*, T*>(begin, end, out);
1215
- auto size = to_unsigned(end - begin);
1216
- if (size > 0) memcpy(out, begin, size * sizeof(T));
1217
- return out + size;
1218
- }
1219
-
1220
1217
  template <typename T, typename V, typename OutputIt>
1221
1218
  FMT_CONSTEXPR auto copy(basic_string_view<V> s, OutputIt out) -> OutputIt {
1222
1219
  return copy<T>(s.begin(), s.end(), out);
@@ -1238,12 +1235,25 @@ constexpr auto has_const_formatter() -> bool {
1238
1235
  return has_const_formatter_impl<Context>(static_cast<T*>(nullptr));
1239
1236
  }
1240
1237
 
1238
+ template <typename It, typename Enable = std::true_type>
1239
+ struct is_buffer_appender : std::false_type {};
1240
+ template <typename It>
1241
+ struct is_buffer_appender<
1242
+ It, bool_constant<
1243
+ is_back_insert_iterator<It>::value &&
1244
+ std::is_base_of<buffer<typename It::container_type::value_type>,
1245
+ typename It::container_type>::value>>
1246
+ : std::true_type {};
1247
+
1241
1248
  // Maps an output iterator to a buffer.
1242
- template <typename T, typename OutputIt>
1249
+ template <typename T, typename OutputIt,
1250
+ FMT_ENABLE_IF(!is_buffer_appender<OutputIt>::value)>
1243
1251
  auto get_buffer(OutputIt out) -> iterator_buffer<OutputIt, T> {
1244
1252
  return iterator_buffer<OutputIt, T>(out);
1245
1253
  }
1246
- template <typename T> auto get_buffer(basic_appender<T> out) -> buffer<T>& {
1254
+ template <typename T, typename OutputIt,
1255
+ FMT_ENABLE_IF(is_buffer_appender<OutputIt>::value)>
1256
+ auto get_buffer(OutputIt out) -> buffer<T>& {
1247
1257
  return get_container(out);
1248
1258
  }
1249
1259
 
@@ -1475,6 +1485,12 @@ template <typename Context> struct arg_mapper {
1475
1485
 
1476
1486
  FMT_MAP_API auto map(void* val) -> const void* { return val; }
1477
1487
  FMT_MAP_API auto map(const void* val) -> const void* { return val; }
1488
+ FMT_MAP_API auto map(volatile void* val) -> const void* {
1489
+ return const_cast<const void*>(val);
1490
+ }
1491
+ FMT_MAP_API auto map(const volatile void* val) -> const void* {
1492
+ return const_cast<const void*>(val);
1493
+ }
1478
1494
  FMT_MAP_API auto map(std::nullptr_t val) -> const void* { return val; }
1479
1495
 
1480
1496
  // Use SFINAE instead of a const T* parameter to avoid a conflict with the
@@ -1760,7 +1776,7 @@ template <typename Context> class basic_format_arg {
1760
1776
  * `vis(value)` will be called with the value of type `double`.
1761
1777
  */
1762
1778
  template <typename Visitor>
1763
- FMT_CONSTEXPR auto visit(Visitor&& vis) const -> decltype(vis(0)) {
1779
+ FMT_CONSTEXPR FMT_INLINE auto visit(Visitor&& vis) const -> decltype(vis(0)) {
1764
1780
  switch (type_) {
1765
1781
  case detail::type::none_type:
1766
1782
  break;
@@ -1443,12 +1443,26 @@ template <typename T> struct span {
1443
1443
  size_t size;
1444
1444
  };
1445
1445
 
1446
- #ifdef _WIN32
1447
- inline void flockfile(FILE* f) { _lock_file(f); }
1448
- inline void funlockfile(FILE* f) { _unlock_file(f); }
1449
- inline int getc_unlocked(FILE* f) { return _fgetc_nolock(f); }
1446
+ template <typename F> auto flockfile(F* f) -> decltype(_lock_file(f)) {
1447
+ _lock_file(f);
1448
+ }
1449
+ template <typename F> auto funlockfile(F* f) -> decltype(_unlock_file(f)) {
1450
+ _unlock_file(f);
1451
+ }
1452
+
1453
+ #ifndef getc_unlocked
1454
+ template <typename F> auto getc_unlocked(F* f) -> decltype(_fgetc_nolock(f)) {
1455
+ return _fgetc_nolock(f);
1456
+ }
1450
1457
  #endif
1451
1458
 
1459
+ template <typename F = FILE, typename Enable = void>
1460
+ struct has_flockfile : std::false_type {};
1461
+
1462
+ template <typename F>
1463
+ struct has_flockfile<F, void_t<decltype(flockfile(&std::declval<F&>()))>>
1464
+ : std::true_type {};
1465
+
1452
1466
  // A FILE wrapper. F is FILE defined as a template parameter to make system API
1453
1467
  // detection work.
1454
1468
  template <typename F> class file_base {
@@ -1619,7 +1633,15 @@ inline auto get_file(FILE* f, ...) -> fallback_file<FILE> { return f; }
1619
1633
 
1620
1634
  using file_ref = decltype(get_file(static_cast<FILE*>(nullptr), 0));
1621
1635
 
1636
+ template <typename F = FILE, typename Enable = void>
1622
1637
  class file_print_buffer : public buffer<char> {
1638
+ public:
1639
+ explicit file_print_buffer(F*) : buffer(nullptr, size_t()) {}
1640
+ };
1641
+
1642
+ template <typename F>
1643
+ class file_print_buffer<F, enable_if_t<has_flockfile<F>::value>>
1644
+ : public buffer<char> {
1623
1645
  private:
1624
1646
  file_ref file_;
1625
1647
 
@@ -1634,7 +1656,7 @@ class file_print_buffer : public buffer<char> {
1634
1656
  }
1635
1657
 
1636
1658
  public:
1637
- explicit file_print_buffer(FILE* f) : buffer(grow, size_t()), file_(f) {
1659
+ explicit file_print_buffer(F* f) : buffer(grow, size_t()), file_(f) {
1638
1660
  flockfile(f);
1639
1661
  file_.init_buffer();
1640
1662
  auto buf = file_.get_write_buffer();
@@ -1643,7 +1665,8 @@ class file_print_buffer : public buffer<char> {
1643
1665
  ~file_print_buffer() {
1644
1666
  file_.advance_write_buffer(size());
1645
1667
  bool flush = file_.needs_flush();
1646
- funlockfile(file_);
1668
+ F* f = file_; // Make funlockfile depend on the template parameter F
1669
+ funlockfile(f); // for the system API detection to work.
1647
1670
  if (flush) fflush(file_);
1648
1671
  }
1649
1672
  };
@@ -1692,8 +1715,9 @@ FMT_FUNC void vprint_buffered(std::FILE* f, string_view fmt, format_args args) {
1692
1715
  }
1693
1716
 
1694
1717
  FMT_FUNC void vprint(std::FILE* f, string_view fmt, format_args args) {
1695
- if (!detail::file_ref(f).is_buffered()) return vprint_buffered(f, fmt, args);
1696
- auto&& buffer = detail::file_print_buffer(f);
1718
+ if (!detail::file_ref(f).is_buffered() || !detail::has_flockfile<>())
1719
+ return vprint_buffered(f, fmt, args);
1720
+ auto&& buffer = detail::file_print_buffer<>(f);
1697
1721
  return detail::vformat_to(buffer, fmt, args);
1698
1722
  }
1699
1723
 
@@ -106,6 +106,13 @@
106
106
  # define FMT_NOINLINE
107
107
  #endif
108
108
 
109
+ namespace std {
110
+ template <> struct iterator_traits<fmt::appender> {
111
+ using iterator_category = output_iterator_tag;
112
+ using value_type = char;
113
+ };
114
+ } // namespace std
115
+
109
116
  #ifndef FMT_THROW
110
117
  # if FMT_EXCEPTIONS
111
118
  # if FMT_MSC_VERSION || defined(__NVCC__)
@@ -546,6 +553,7 @@ constexpr auto to_pointer(OutputIt, size_t) -> T* {
546
553
  template <typename T> auto to_pointer(basic_appender<T> it, size_t n) -> T* {
547
554
  buffer<T>& buf = get_container(it);
548
555
  auto size = buf.size();
556
+ buf.try_reserve(size + n);
549
557
  if (buf.capacity() < size + n) return nullptr;
550
558
  buf.try_resize(size + n);
551
559
  return buf.data() + size;
@@ -1119,7 +1127,7 @@ template <typename Char, typename Sign> constexpr auto sign(Sign s) -> Char {
1119
1127
  #if !FMT_GCC_VERSION || FMT_GCC_VERSION >= 604
1120
1128
  static_assert(std::is_same<Sign, sign_t>::value, "");
1121
1129
  #endif
1122
- return static_cast<Char>("\0-+ "[s]);
1130
+ return static_cast<char>(((' ' << 24) | ('+' << 16) | ('-' << 8)) >> (s * 8));
1123
1131
  }
1124
1132
 
1125
1133
  template <typename T> FMT_CONSTEXPR auto count_digits_fallback(T n) -> int {
@@ -2317,15 +2325,13 @@ FMT_CONSTEXPR auto write(OutputIt out, T value) -> OutputIt {
2317
2325
  if (negative) abs_value = ~abs_value + 1;
2318
2326
  int num_digits = count_digits(abs_value);
2319
2327
  auto size = (negative ? 1 : 0) + static_cast<size_t>(num_digits);
2320
- auto it = reserve(out, size);
2321
- if (auto ptr = to_pointer<Char>(it, size)) {
2328
+ if (auto ptr = to_pointer<Char>(out, size)) {
2322
2329
  if (negative) *ptr++ = static_cast<Char>('-');
2323
2330
  format_decimal<Char>(ptr, abs_value, num_digits);
2324
2331
  return out;
2325
2332
  }
2326
- if (negative) *it++ = static_cast<Char>('-');
2327
- it = format_decimal<Char>(it, abs_value, num_digits).end;
2328
- return base_iterator(out, it);
2333
+ if (negative) *out++ = static_cast<Char>('-');
2334
+ return format_decimal<Char>(out, abs_value, num_digits).end;
2329
2335
  }
2330
2336
 
2331
2337
  // DEPRECATED!
@@ -3629,9 +3635,7 @@ auto write(OutputIt out, monostate, format_specs = {}, locale_ref = {})
3629
3635
  template <typename Char, typename OutputIt>
3630
3636
  FMT_CONSTEXPR auto write(OutputIt out, basic_string_view<Char> value)
3631
3637
  -> OutputIt {
3632
- auto it = reserve(out, value.size());
3633
- it = copy_noinline<Char>(value.begin(), value.end(), it);
3634
- return base_iterator(out, it);
3638
+ return copy_noinline<Char>(value.begin(), value.end(), out);
3635
3639
  }
3636
3640
 
3637
3641
  template <typename Char, typename OutputIt, typename T,
@@ -3972,15 +3976,19 @@ struct formatter<T, Char, enable_if_t<detail::has_format_as<T>::value>>
3972
3976
  : formatter<detail::format_as_t<T>, Char> {
3973
3977
  template <typename FormatContext>
3974
3978
  auto format(const T& value, FormatContext& ctx) const -> decltype(ctx.out()) {
3975
- using base = formatter<detail::format_as_t<T>, Char>;
3976
3979
  auto&& val = format_as(value); // Make an lvalue reference for format.
3977
- return base::format(val, ctx);
3980
+ return formatter<detail::format_as_t<T>, Char>::format(val, ctx);
3978
3981
  }
3979
3982
  };
3980
3983
 
3981
- #define FMT_FORMAT_AS(Type, Base) \
3982
- template <typename Char> \
3983
- struct formatter<Type, Char> : formatter<Base, Char> {}
3984
+ #define FMT_FORMAT_AS(Type, Base) \
3985
+ template <typename Char> \
3986
+ struct formatter<Type, Char> : formatter<Base, Char> { \
3987
+ template <typename FormatContext> \
3988
+ auto format(Type value, FormatContext& ctx) const -> decltype(ctx.out()) { \
3989
+ return formatter<Base, Char>::format(value, ctx); \
3990
+ } \
3991
+ }
3984
3992
 
3985
3993
  FMT_FORMAT_AS(signed char, int);
3986
3994
  FMT_FORMAT_AS(unsigned char, unsigned);
@@ -490,7 +490,7 @@ struct range_formatter<
490
490
  auto out = ctx.out();
491
491
  auto it = detail::range_begin(range);
492
492
  auto end = detail::range_end(range);
493
- if (is_debug) return write_debug_string(out, it, end);
493
+ if (is_debug) return write_debug_string(out, std::move(it), end);
494
494
 
495
495
  out = detail::copy<Char>(opening_bracket_, out);
496
496
  int i = 0;
@@ -3,6 +3,10 @@
3
3
 
4
4
  #pragma once
5
5
 
6
+ #if defined(SPDLOG_NO_TLS)
7
+ #error "This header requires thread local storage support, but SPDLOG_NO_TLS is defined."
8
+ #endif
9
+
6
10
  #include <map>
7
11
  #include <string>
8
12
 
@@ -10,7 +10,11 @@
10
10
  #include <spdlog/details/fmt_helper.h>
11
11
  #include <spdlog/details/log_msg.h>
12
12
  #include <spdlog/details/os.h>
13
- #include <spdlog/mdc.h>
13
+
14
+ #ifndef SPDLOG_NO_TLS
15
+ #include <spdlog/mdc.h>
16
+ #endif
17
+
14
18
  #include <spdlog/fmt/fmt.h>
15
19
  #include <spdlog/formatter.h>
16
20
 
@@ -176,7 +180,7 @@ public:
176
180
 
177
181
  // Abbreviated month
178
182
  static const std::array<const char *, 12> months{
179
- {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"}};
183
+ {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}};
180
184
 
181
185
  template <typename ScopedPadder>
182
186
  class b_formatter final : public flag_formatter {
@@ -786,6 +790,7 @@ private:
786
790
 
787
791
  // Class for formatting Mapped Diagnostic Context (MDC) in log messages.
788
792
  // Example: [logger-name] [info] [mdc_key_1:mdc_value_1 mdc_key_2:mdc_value_2] some message
793
+ #ifndef SPDLOG_NO_TLS
789
794
  template <typename ScopedPadder>
790
795
  class mdc_formatter : public flag_formatter {
791
796
  public:
@@ -824,6 +829,7 @@ public:
824
829
  }
825
830
  }
826
831
  };
832
+ #endif
827
833
 
828
834
  // Full info formatter
829
835
  // pattern: [%Y-%m-%d %H:%M:%S.%e] [%n] [%l] [%s:%#] %v
@@ -901,6 +907,7 @@ public:
901
907
  dest.push_back(' ');
902
908
  }
903
909
 
910
+ #ifndef SPDLOG_NO_TLS
904
911
  // add mdc if present
905
912
  auto &mdc_map = mdc::get_context();
906
913
  if (!mdc_map.empty()) {
@@ -909,6 +916,7 @@ public:
909
916
  dest.push_back(']');
910
917
  dest.push_back(' ');
911
918
  }
919
+ #endif
912
920
  // fmt_helper::append_string_view(msg.msg(), dest);
913
921
  fmt_helper::append_string_view(msg.payload, dest);
914
922
  }
@@ -916,7 +924,11 @@ public:
916
924
  private:
917
925
  std::chrono::seconds cache_timestamp_{0};
918
926
  memory_buf_t cached_datetime_;
927
+
928
+ #ifndef SPDLOG_NO_TLS
919
929
  mdc_formatter<null_scoped_padder> mdc_formatter_{padding_info{}};
930
+ #endif
931
+
920
932
  };
921
933
 
922
934
  } // namespace details
@@ -1211,9 +1223,11 @@ SPDLOG_INLINE void pattern_formatter::handle_flag_(char flag, details::padding_i
1211
1223
  padding));
1212
1224
  break;
1213
1225
 
1226
+ #ifndef SPDLOG_NO_TLS // mdc formatter requires TLS support
1214
1227
  case ('&'):
1215
1228
  formatters_.push_back(details::make_unique<details::mdc_formatter<Padder>>(padding));
1216
1229
  break;
1230
+ #endif
1217
1231
 
1218
1232
  default: // Unknown flag appears as is
1219
1233
  auto unknown_flag = details::make_unique<details::aggregate_formatter>();
@@ -40,7 +40,7 @@ public:
40
40
 
41
41
  void log(const details::log_msg &msg) override;
42
42
  void flush() override;
43
- void set_pattern(const std::string &pattern) final;
43
+ void set_pattern(const std::string &pattern) final override;
44
44
  void set_formatter(std::unique_ptr<spdlog::formatter> sink_formatter) override;
45
45
 
46
46
  // Formatting codes
@@ -28,10 +28,10 @@ public:
28
28
  base_sink &operator=(const base_sink &) = delete;
29
29
  base_sink &operator=(base_sink &&) = delete;
30
30
 
31
- void log(const details::log_msg &msg) final;
32
- void flush() final;
33
- void set_pattern(const std::string &pattern) final;
34
- void set_formatter(std::unique_ptr<spdlog::formatter> sink_formatter) final;
31
+ void log(const details::log_msg &msg) final override;
32
+ void flush() final override;
33
+ void set_pattern(const std::string &pattern) final override;
34
+ void set_formatter(std::unique_ptr<spdlog::formatter> sink_formatter) final override;
35
35
 
36
36
  protected:
37
37
  // sink formatter
@@ -27,7 +27,7 @@ public:
27
27
 
28
28
  protected:
29
29
  void sink_it_(const details::log_msg &msg) override { callback_(msg); }
30
- void flush_() override{};
30
+ void flush_() override{}
31
31
 
32
32
  private:
33
33
  custom_log_callback callback_;
@@ -62,6 +62,9 @@ struct daily_filename_format_calculator {
62
62
  * Rotating file sink based on date.
63
63
  * If truncate != false , the created file will be truncated.
64
64
  * If max_files > 0, retain only the last max_files and delete previous.
65
+ * If max_files > 0, retain only the last max_files and delete previous.
66
+ * Note that old log files from previous executions will not be deleted by this class,
67
+ * rotation and deletion is only applied while the program is running.
65
68
  */
66
69
  template <typename Mutex, typename FileNameCalc = daily_filename_calculator>
67
70
  class daily_file_sink final : public base_sink<Mutex> {
@@ -39,6 +39,8 @@ struct hourly_filename_calculator {
39
39
  * Rotating file sink based on time.
40
40
  * If truncate != false , the created file will be truncated.
41
41
  * If max_files > 0, retain only the last max_files and delete previous.
42
+ * Note that old log files from previous executions will not be deleted by this class,
43
+ * rotation and deletion is only applied while the program is running.
42
44
  */
43
45
  template <typename Mutex, typename FileNameCalc = hourly_filename_calculator>
44
46
  class hourly_file_sink final : public base_sink<Mutex> {
@@ -32,7 +32,7 @@ class msvc_sink : public base_sink<Mutex> {
32
32
  public:
33
33
  msvc_sink() = default;
34
34
  msvc_sink(bool check_debugger_present)
35
- : check_debugger_present_{check_debugger_present} {};
35
+ : check_debugger_present_{check_debugger_present} {}
36
36
 
37
37
  protected:
38
38
  void sink_it_(const details::log_msg &msg) override {
@@ -60,7 +60,7 @@ SPDLOG_INLINE filename_t rotating_file_sink<Mutex>::calc_filename(const filename
60
60
 
61
61
  filename_t basename, ext;
62
62
  std::tie(basename, ext) = details::file_helper::split_by_extension(filename);
63
- return fmt_lib::format(SPDLOG_FILENAME_T("{}.{}{}"), basename, index, ext);
63
+ return fmt_lib::format(SPDLOG_FMT_STRING(SPDLOG_FILENAME_T("{}.{}{}")), basename, index, ext);
64
64
  }
65
65
 
66
66
  template <typename Mutex>
@@ -64,13 +64,14 @@ protected:
64
64
  //
65
65
  // Simply maps spdlog's log level to syslog priority level.
66
66
  //
67
- int syslog_prio_from_level(const details::log_msg &msg) const {
67
+ virtual int syslog_prio_from_level(const details::log_msg &msg) const {
68
68
  return syslog_levels_.at(static_cast<levels_array::size_type>(msg.level));
69
69
  }
70
70
 
71
- private:
72
71
  using levels_array = std::array<int, 7>;
73
72
  levels_array syslog_levels_;
73
+
74
+ private:
74
75
  // must store the ident because the man says openlog might use the pointer as
75
76
  // is and not a string copy
76
77
  const std::string ident_;
@@ -134,9 +134,18 @@ void SPDLOG_INLINE wincolor_sink<ConsoleMutex>::print_range_(const memory_buf_t
134
134
  size_t start,
135
135
  size_t end) {
136
136
  if (end > start) {
137
+ #if defined(SPDLOG_UTF8_TO_WCHAR_CONSOLE)
138
+ wmemory_buf_t wformatted;
139
+ details::os::utf8_to_wstrbuf(string_view_t(formatted.data() + start, end - start),
140
+ wformatted);
141
+ auto size = static_cast<DWORD>(wformatted.size());
142
+ auto ignored = ::WriteConsoleW(static_cast<HANDLE>(out_handle_), wformatted.data(), size,
143
+ nullptr, nullptr);
144
+ #else
137
145
  auto size = static_cast<DWORD>(end - start);
138
146
  auto ignored = ::WriteConsoleA(static_cast<HANDLE>(out_handle_), formatted.data() + start,
139
147
  size, nullptr, nullptr);
148
+ #endif
140
149
  (void)(ignored);
141
150
  }
142
151
  }
@@ -4,8 +4,8 @@
4
4
  #pragma once
5
5
 
6
6
  #define SPDLOG_VER_MAJOR 1
7
- #define SPDLOG_VER_MINOR 14
8
- #define SPDLOG_VER_PATCH 1
7
+ #define SPDLOG_VER_MINOR 15
8
+ #define SPDLOG_VER_PATCH 0
9
9
 
10
10
  #define SPDLOG_TO_VERSION(major, minor, patch) (major * 10000 + minor * 100 + patch)
11
11
  #define SPDLOG_VERSION SPDLOG_TO_VERSION(SPDLOG_VER_MAJOR, SPDLOG_VER_MINOR, SPDLOG_VER_PATCH)