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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/ext/CMakeLists.txt +8 -6
- data/ext/cache/cpm/{CPM_0.38.6.cmake → CPM_0.40.5.cmake} +152 -22
- data/ext/cache/extconf_include.rb +3 -3
- data/ext/cache/mozilla-ca-bundle.crt +94 -118
- data/ext/cache/mozilla-ca-bundle.sha256 +1 -1
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/CMakeLists.txt +30 -6
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/utils.cmake +13 -2
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async_logger-inl.h +5 -7
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/mpmc_blocking_q.h +3 -3
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/os-inl.h +3 -3
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/thread_pool-inl.h +3 -8
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/thread_pool.h +3 -14
- data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/base.h +47 -31
- data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/format-inl.h +32 -8
- data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/format.h +22 -14
- data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/ranges.h +1 -1
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/mdc.h +4 -0
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/pattern_formatter-inl.h +16 -2
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ansicolor_sink.h +1 -1
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/base_sink.h +4 -4
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/callback_sink.h +1 -1
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/daily_file_sink.h +3 -0
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/hourly_file_sink.h +2 -0
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/msvc_sink.h +1 -1
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +1 -1
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/syslog_sink.h +3 -2
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +9 -0
- data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/version.h +2 -2
- data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/format.cc → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/src/bundled_fmtlib_format.cpp} +10 -5
- data/ext/couchbase/CMakeLists.txt +3 -2
- data/ext/couchbase/cmake/APKBUILD.in +54 -0
- data/ext/couchbase/cmake/Backtrace.cmake +3 -1
- data/ext/couchbase/cmake/CPM.cmake +1 -1
- data/ext/couchbase/cmake/CompilerWarnings.cmake +0 -5
- data/ext/couchbase/cmake/Packaging.cmake +174 -11
- data/ext/couchbase/cmake/RPath.cmake +10 -0
- data/ext/couchbase/cmake/Testing.cmake +0 -4
- data/ext/couchbase/cmake/ThirdPartyDependencies.cmake +7 -26
- data/ext/couchbase/cmake/VersionInfo.cmake +4 -0
- data/ext/couchbase/cmake/build_version.hxx.in +1 -0
- data/ext/couchbase/cmake/couchbase-cxx-client.spec.in +2 -2
- data/ext/couchbase/cmake/couchbase_cxx_client.pc.in +2 -2
- data/ext/couchbase/core/agent_config.cxx +1 -1
- data/ext/couchbase/core/agent_group_config.cxx +1 -1
- data/ext/couchbase/core/bucket.cxx +25 -23
- data/ext/couchbase/core/bucket.hxx +2 -1
- data/ext/couchbase/core/cluster.cxx +9 -9
- data/ext/couchbase/core/cluster.hxx +2 -1
- data/ext/couchbase/core/cluster_agent_config.cxx +1 -1
- data/ext/couchbase/core/collections_component.cxx +1 -1
- data/ext/couchbase/core/columnar/agent_config.cxx +2 -2
- data/ext/couchbase/core/columnar/error.hxx +0 -1
- data/ext/couchbase/core/columnar/query_component.cxx +2 -2
- data/ext/couchbase/core/config_profiles.cxx +1 -1
- data/ext/couchbase/core/core_sdk_shim.cxx +1 -1
- data/ext/couchbase/core/crud_component.cxx +1 -1
- data/ext/couchbase/core/design_document_namespace_fmt.hxx +1 -1
- data/ext/couchbase/core/diagnostics_fmt.hxx +1 -1
- data/ext/couchbase/core/document_id.cxx +1 -1
- data/ext/couchbase/core/document_id_fmt.hxx +1 -1
- data/ext/couchbase/core/error_context/analytics_json.hxx +3 -1
- data/ext/couchbase/core/error_context/key_value_json.hxx +1 -1
- data/ext/couchbase/core/error_context/query_public_json.hxx +1 -1
- data/ext/couchbase/core/error_context/subdocument_json.hxx +1 -1
- data/ext/couchbase/core/fmt/key_value_error_map_attribute.hxx +1 -1
- data/ext/couchbase/core/fmt/key_value_extended_error_info.hxx +1 -1
- data/ext/couchbase/core/fmt/key_value_status_code.hxx +1 -1
- data/ext/couchbase/core/http_component.cxx +3 -3
- data/ext/couchbase/core/impl/analytics.cxx +1 -0
- data/ext/couchbase/core/impl/best_effort_retry_strategy.cxx +1 -1
- data/ext/couchbase/core/impl/cluster.cxx +55 -18
- data/ext/couchbase/core/impl/collection.cxx +40 -15
- data/ext/couchbase/core/impl/date_range.cxx +2 -2
- data/ext/couchbase/core/impl/date_range_query.cxx +2 -2
- data/ext/couchbase/core/impl/dns_srv_tracker.cxx +1 -1
- data/ext/couchbase/core/impl/error.cxx +27 -4
- data/ext/couchbase/core/impl/expiry.cxx +2 -2
- data/ext/couchbase/core/impl/fail_fast_retry_strategy.cxx +1 -2
- data/ext/couchbase/core/impl/get_replica.hxx +2 -0
- data/ext/couchbase/core/impl/key_value_error_context.cxx +6 -4
- data/ext/couchbase/core/impl/lookup_in_replica.hxx +2 -0
- data/ext/couchbase/core/impl/numeric_range.cxx +1 -1
- data/ext/couchbase/core/impl/observe_poll.cxx +7 -7
- data/ext/couchbase/core/impl/observe_seqno.hxx +2 -0
- data/ext/couchbase/core/impl/query.cxx +1 -0
- data/ext/couchbase/core/impl/query_error_context.cxx +3 -2
- data/ext/couchbase/core/impl/replica_utils.cxx +5 -5
- data/ext/couchbase/core/impl/replica_utils.hxx +2 -1
- data/ext/couchbase/core/impl/scope.cxx +5 -6
- data/ext/couchbase/core/impl/search.cxx +3 -1
- data/ext/couchbase/core/io/config_tracker.cxx +1 -1
- data/ext/couchbase/core/io/dns_client.cxx +23 -8
- data/ext/couchbase/core/io/http_command.hxx +2 -2
- data/ext/couchbase/core/io/http_parser.cxx +1 -1
- data/ext/couchbase/core/io/http_session.cxx +4 -0
- data/ext/couchbase/core/io/http_session.hxx +4 -2
- data/ext/couchbase/core/io/mcbp_command.hxx +2 -2
- data/ext/couchbase/core/key_value_config.cxx +2 -2
- data/ext/couchbase/core/logger/logger.cxx +1 -1
- data/ext/couchbase/core/logger/logger.hxx +1 -1
- data/ext/couchbase/core/management/rbac_fmt.hxx +1 -1
- data/ext/couchbase/core/mcbp/operation_queue.cxx +1 -1
- data/ext/couchbase/core/mcbp/packet.cxx +1 -1
- data/ext/couchbase/core/meta/features.hxx +16 -0
- data/ext/couchbase/core/meta/version.cxx +48 -7
- data/ext/couchbase/core/operations/document_analytics.cxx +23 -17
- data/ext/couchbase/core/operations/document_analytics.hxx +1 -0
- data/ext/couchbase/core/operations/document_append.hxx +2 -0
- data/ext/couchbase/core/operations/document_decrement.hxx +2 -0
- data/ext/couchbase/core/operations/document_exists.hxx +2 -0
- data/ext/couchbase/core/operations/document_get.hxx +2 -0
- data/ext/couchbase/core/operations/document_get_all_replicas.hxx +5 -4
- data/ext/couchbase/core/operations/document_get_and_lock.hxx +2 -0
- data/ext/couchbase/core/operations/document_get_and_touch.hxx +2 -0
- data/ext/couchbase/core/operations/document_get_any_replica.hxx +5 -3
- data/ext/couchbase/core/operations/document_get_projected.hxx +2 -0
- data/ext/couchbase/core/operations/document_increment.hxx +2 -0
- data/ext/couchbase/core/operations/document_insert.hxx +2 -0
- data/ext/couchbase/core/operations/document_lookup_in.hxx +2 -0
- data/ext/couchbase/core/operations/document_lookup_in_all_replicas.hxx +5 -3
- data/ext/couchbase/core/operations/document_lookup_in_any_replica.hxx +5 -3
- data/ext/couchbase/core/operations/document_mutate_in.hxx +2 -0
- data/ext/couchbase/core/operations/document_prepend.hxx +2 -0
- data/ext/couchbase/core/operations/document_query.hxx +1 -0
- data/ext/couchbase/core/operations/document_remove.hxx +2 -0
- data/ext/couchbase/core/operations/document_replace.hxx +2 -0
- data/ext/couchbase/core/operations/document_search.hxx +1 -0
- data/ext/couchbase/core/operations/document_touch.hxx +2 -0
- data/ext/couchbase/core/operations/document_unlock.hxx +2 -0
- data/ext/couchbase/core/operations/document_upsert.hxx +2 -0
- data/ext/couchbase/core/operations/document_view.hxx +1 -0
- data/ext/couchbase/core/operations/http_noop.hxx +2 -0
- data/ext/couchbase/core/operations/management/CMakeLists.txt +0 -1
- data/ext/couchbase/core/operations/management/analytics_dataset_create.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_dataset_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_dataset_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_dataset_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_dataset_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_dataverse_create.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_dataverse_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_dataverse_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_dataverse_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_index_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_index_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_index_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_index_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_link_connect.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_link_connect.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_link_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_link_disconnect.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_link_disconnect.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_link_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/analytics_link_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_link_get_all.cxx +24 -16
- data/ext/couchbase/core/operations/management/analytics_link_get_all.hxx +4 -3
- data/ext/couchbase/core/operations/management/analytics_link_replace.hxx +1 -0
- data/ext/couchbase/core/operations/management/analytics_link_utils.hxx +4 -3
- data/ext/couchbase/core/operations/management/bucket_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/bucket_describe.cxx +1 -1
- data/ext/couchbase/core/operations/management/bucket_describe.hxx +1 -0
- data/ext/couchbase/core/operations/management/bucket_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/bucket_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/bucket_flush.cxx +1 -1
- data/ext/couchbase/core/operations/management/bucket_flush.hxx +1 -0
- data/ext/couchbase/core/operations/management/bucket_get.cxx +1 -1
- data/ext/couchbase/core/operations/management/bucket_get.hxx +1 -0
- data/ext/couchbase/core/operations/management/bucket_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/bucket_update.hxx +1 -0
- data/ext/couchbase/core/operations/management/change_password.cxx +1 -1
- data/ext/couchbase/core/operations/management/change_password.hxx +1 -0
- data/ext/couchbase/core/operations/management/cluster_describe.hxx +1 -0
- data/ext/couchbase/core/operations/management/cluster_developer_preview_enable.hxx +1 -0
- data/ext/couchbase/core/operations/management/collection_create.cxx +1 -1
- data/ext/couchbase/core/operations/management/collection_create.hxx +2 -0
- data/ext/couchbase/core/operations/management/collection_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/collection_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/collection_update.cxx +1 -1
- data/ext/couchbase/core/operations/management/collection_update.hxx +2 -0
- data/ext/couchbase/core/operations/management/collections_manifest_get.hxx +2 -0
- data/ext/couchbase/core/operations/management/eventing_deploy_function.cxx +1 -1
- data/ext/couchbase/core/operations/management/eventing_deploy_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_drop_function.cxx +1 -1
- data/ext/couchbase/core/operations/management/eventing_drop_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_get_all_functions.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_get_function.cxx +1 -1
- data/ext/couchbase/core/operations/management/eventing_get_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_get_status.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_pause_function.cxx +1 -1
- data/ext/couchbase/core/operations/management/eventing_pause_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_resume_function.cxx +1 -1
- data/ext/couchbase/core/operations/management/eventing_resume_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_undeploy_function.cxx +1 -1
- data/ext/couchbase/core/operations/management/eventing_undeploy_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/eventing_upsert_function.cxx +1 -2
- data/ext/couchbase/core/operations/management/eventing_upsert_function.hxx +3 -2
- data/ext/couchbase/core/operations/management/freeform.hxx +2 -0
- data/ext/couchbase/core/operations/management/group_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/group_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/group_get.cxx +1 -1
- data/ext/couchbase/core/operations/management/group_get.hxx +1 -0
- data/ext/couchbase/core/operations/management/group_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/group_upsert.hxx +1 -0
- data/ext/couchbase/core/operations/management/query_index_build.hxx +7 -5
- data/ext/couchbase/core/operations/management/query_index_build_deferred.hxx +3 -0
- data/ext/couchbase/core/operations/management/query_index_create.cxx +1 -1
- data/ext/couchbase/core/operations/management/query_index_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/query_index_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/query_index_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/query_index_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/query_index_get_all_deferred.hxx +3 -0
- data/ext/couchbase/core/operations/management/role_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/scope_create.cxx +1 -1
- data/ext/couchbase/core/operations/management/scope_create.hxx +1 -0
- data/ext/couchbase/core/operations/management/scope_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/scope_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/scope_get_all.cxx +1 -1
- data/ext/couchbase/core/operations/management/scope_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_get_stats.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_analyze_document.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_analyze_document.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_control_ingest.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_control_ingest.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_control_query.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_control_query.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_get.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_get.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_get_all.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_get_documents_count.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_get_documents_count.hxx +2 -0
- data/ext/couchbase/core/operations/management/search_index_get_stats.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_get_stats.hxx +1 -0
- data/ext/couchbase/core/operations/management/search_index_upsert.cxx +1 -1
- data/ext/couchbase/core/operations/management/search_index_upsert.hxx +1 -0
- data/ext/couchbase/core/operations/management/user_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/user_get.hxx +1 -0
- data/ext/couchbase/core/operations/management/user_get_all.hxx +1 -0
- data/ext/couchbase/core/operations/management/user_upsert.cxx +3 -3
- data/ext/couchbase/core/operations/management/user_upsert.hxx +1 -0
- data/ext/couchbase/core/operations/management/view_index_drop.cxx +1 -1
- data/ext/couchbase/core/operations/management/view_index_drop.hxx +1 -0
- data/ext/couchbase/core/operations/management/view_index_get.cxx +1 -1
- data/ext/couchbase/core/operations/management/view_index_get.hxx +1 -0
- data/ext/couchbase/core/operations/management/view_index_get_all.cxx +1 -1
- data/ext/couchbase/core/operations/management/view_index_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/view_index_upsert.cxx +1 -1
- data/ext/couchbase/core/operations/management/view_index_upsert.hxx +1 -0
- data/ext/couchbase/core/origin.cxx +3 -2
- data/ext/couchbase/core/platform/base64.h +8 -8
- data/ext/couchbase/core/protocol/client_opcode_fmt.hxx +1 -1
- data/ext/couchbase/core/protocol/client_response.hxx +1 -1
- data/ext/couchbase/core/protocol/frame_info_id_fmt.hxx +1 -1
- data/ext/couchbase/core/protocol/hello_feature_fmt.hxx +1 -1
- data/ext/couchbase/core/protocol/magic_fmt.hxx +1 -1
- data/ext/couchbase/core/protocol/server_opcode_fmt.hxx +1 -1
- data/ext/couchbase/core/query_context.hxx +7 -6
- data/ext/couchbase/core/retry_orchestrator.cxx +1 -1
- data/ext/couchbase/core/sasl/CMakeLists.txt +0 -1
- data/ext/couchbase/core/sasl/error_fmt.h +1 -1
- data/ext/couchbase/core/seed_config.cxx +2 -2
- data/ext/couchbase/core/service_type_fmt.hxx +1 -1
- data/ext/couchbase/core/topology/capabilities_fmt.hxx +1 -1
- data/ext/couchbase/core/topology/collections_manifest_fmt.hxx +2 -1
- data/ext/couchbase/core/topology/configuration_fmt.hxx +1 -1
- data/ext/couchbase/core/transactions/async_attempt_context.cxx +1 -1
- data/ext/couchbase/core/transactions/async_attempt_context.hxx +9 -22
- data/ext/couchbase/core/transactions/attempt_context.cxx +1 -1
- data/ext/couchbase/core/transactions/attempt_context.hxx +6 -33
- data/ext/couchbase/core/transactions/attempt_context_impl.cxx +41 -41
- data/ext/couchbase/core/transactions/attempt_context_impl.hxx +15 -16
- data/ext/couchbase/core/transactions/exceptions_fmt.hxx +1 -1
- data/ext/couchbase/core/transactions/internal/atr_cleanup_entry.hxx +1 -1
- data/ext/couchbase/core/transactions/internal/client_record.hxx +4 -3
- data/ext/couchbase/core/transactions/internal/doc_record_fmt.hxx +1 -1
- data/ext/couchbase/core/transactions/internal/exceptions_internal.hxx +0 -2
- data/ext/couchbase/core/transactions/internal/exceptions_internal_fmt.hxx +1 -1
- data/ext/couchbase/core/transactions/internal/logging.hxx +2 -0
- data/ext/couchbase/core/transactions/internal/transaction_context.hxx +3 -0
- data/ext/couchbase/core/transactions/result_fmt.hxx +1 -1
- data/ext/couchbase/core/transactions/transaction_context.cxx +12 -2
- data/ext/couchbase/core/transactions/transaction_get_result.hxx +0 -20
- data/ext/couchbase/core/transactions/transaction_links.hxx +1 -1
- data/ext/couchbase/core/utils/join_strings.hxx +2 -2
- data/ext/couchbase/core/utils/keyspace.hxx +2 -1
- data/ext/couchbase/core/utils/url_codec.cxx +1 -1
- data/ext/couchbase/couchbase/common_options.hxx +16 -1
- data/ext/couchbase/couchbase/fmt/analytics_scan_consistency.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/analytics_status.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/cas.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/durability_level.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/error.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/error_context.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/mutation_token.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/query_profile.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/query_scan_consistency.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/query_status.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/retry_reason.hxx +5 -1
- data/ext/couchbase/couchbase/fmt/search_scan_consistency.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/tls_verify_mode.hxx +0 -2
- data/ext/couchbase/couchbase/fmt/transaction_keyspace.hxx +0 -2
- data/ext/couchbase/couchbase/metrics/otel_meter.hxx +16 -20
- data/ext/couchbase.cxx +1 -0
- data/ext/extconf.rb +11 -0
- data/ext/rcb_analytics.cxx +7 -7
- data/ext/rcb_backend.cxx +83 -2
- data/ext/rcb_buckets.cxx +1 -1
- data/ext/rcb_collections.cxx +1 -1
- data/ext/rcb_crud.cxx +51 -30
- data/ext/rcb_diagnostics.cxx +1 -1
- data/ext/rcb_exceptions.cxx +3 -2
- data/ext/rcb_extras.cxx +1 -1
- data/ext/rcb_logger.cxx +6 -1
- data/ext/rcb_logger.hxx +3 -0
- data/ext/rcb_range_scan.cxx +3 -5
- data/ext/rcb_search.cxx +1 -1
- data/ext/rcb_users.cxx +2 -2
- data/ext/rcb_utils.hxx +32 -0
- data/lib/couchbase/bucket.rb +0 -8
- data/lib/couchbase/cluster.rb +2 -13
- data/lib/couchbase/collection.rb +0 -43
- data/lib/couchbase/collection_options.rb +3 -3
- data/lib/couchbase/datastructures/couchbase_queue.rb +1 -1
- data/lib/couchbase/datastructures/couchbase_set.rb +1 -1
- data/lib/couchbase/deprecations.rb +61 -0
- data/lib/couchbase/fork_hooks.rb +32 -0
- data/lib/couchbase/logger.rb +3 -3
- data/lib/couchbase/management/analytics_index_manager.rb +1 -1
- data/lib/couchbase/management/bucket_manager.rb +1 -1
- data/lib/couchbase/management/collection_manager.rb +1 -1
- data/lib/couchbase/management/query_index_manager.rb +1 -1
- data/lib/couchbase/options.rb +50 -2
- data/lib/couchbase/protostellar/request_generator/query.rb +1 -1
- data/lib/couchbase/utils/time.rb +1 -1
- data/lib/couchbase/version.rb +1 -1
- data/lib/couchbase.rb +2 -0
- metadata +133 -153
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/CMakeLists.txt +0 -520
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/ChangeLog.md +0 -2598
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/LICENSE +0 -27
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/README.md +0 -484
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/fmt.cc +0 -135
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/os.cc +0 -403
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/FindSetEnv.cmake +0 -7
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/JoinPaths.cmake +0 -26
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/fmt-config.cmake.in +0 -7
- data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/fmt.pc.in +0 -11
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/args.h +0 -235
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -2240
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/color.h +0 -643
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/compile.h +0 -535
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/core.h +0 -2969
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1678
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/format.h +0 -4535
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/os.h +0 -455
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -245
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/printf.h +0 -675
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -738
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/std.h +0 -537
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/xchar.h +0 -259
- data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/src/bundled_fmtlib_format.cpp +0 -46
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/LICENSE +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/ide.cmake +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/pch.h.in +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlog.pc.in +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlogCPack.cmake +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlogConfig.cmake.in +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/version.rc.in +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async_logger.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/argv.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/env.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/helpers-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/helpers.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/common-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/common.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/backtracer-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/backtracer.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/circular_q.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/console_globals.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/file_helper-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/file_helper.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/fmt_helper.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg_buffer.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/null_mutex.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/os.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/periodic_worker.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/registry-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/registry.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/synchronous_factory.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/tcp_client-windows.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/tcp_client.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/udp_client-windows.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/udp_client.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/windows_include.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/args.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/chrono.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/color.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/compile.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/core.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bundled/fmt.license.rst +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bundled/locale.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/os.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/ostream.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/printf.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/std.h +0 -0
- /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/xchar.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/chrono.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/compile.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/fmt.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/ostr.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/ranges.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/std.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/xchar.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/formatter.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fwd.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/logger-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/logger.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/pattern_formatter.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/android_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/dist_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/kafka_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/mongo_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/null_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ostream_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/qt_sinks.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/sink-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/systemd_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/tcp_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/udp_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/spdlog-inl.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/spdlog.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/stopwatch.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/tweakme.h +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/async.cpp +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/cfg.cpp +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/color_sinks.cpp +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/file_sinks.cpp +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/spdlog.cpp +0 -0
- /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/stdout_sinks.cpp +0 -0
@@ -33,10 +33,6 @@ elseif(NOT CMAKE_CXX_STANDARD)
|
|
33
33
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
34
34
|
endif()
|
35
35
|
|
36
|
-
# make sure __cplusplus is defined when using msvc and enable parallel build
|
37
|
-
if(MSVC)
|
38
|
-
string(APPEND CMAKE_CXX_FLAGS " /Zc:__cplusplus /MP")
|
39
|
-
endif()
|
40
36
|
|
41
37
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
42
38
|
|
@@ -80,6 +76,10 @@ option(SPDLOG_BUILD_BENCH "Build benchmarks (Requires https://github.com/google/
|
|
80
76
|
|
81
77
|
# sanitizer options
|
82
78
|
option(SPDLOG_SANITIZE_ADDRESS "Enable address sanitizer in tests" OFF)
|
79
|
+
option(SPDLOG_SANITIZE_THREAD "Enable thread sanitizer in tests" OFF)
|
80
|
+
if(SPDLOG_SANITIZE_ADDRESS AND SPDLOG_SANITIZE_THREAD)
|
81
|
+
message(FATAL_ERROR "SPDLOG_SANITIZE_ADDRESS and SPDLOG_SANITIZE_THREAD are mutually exclusive")
|
82
|
+
endif()
|
83
83
|
|
84
84
|
# warning options
|
85
85
|
option(SPDLOG_BUILD_WARNINGS "Enable compiler warnings" OFF)
|
@@ -108,9 +108,15 @@ endif()
|
|
108
108
|
if(WIN32)
|
109
109
|
option(SPDLOG_WCHAR_SUPPORT "Support wchar api" OFF)
|
110
110
|
option(SPDLOG_WCHAR_FILENAMES "Support wchar filenames" OFF)
|
111
|
+
option(SPDLOG_WCHAR_CONSOLE "Support wchar output to console" OFF)
|
111
112
|
else()
|
112
113
|
set(SPDLOG_WCHAR_SUPPORT OFF CACHE BOOL "non supported option" FORCE)
|
113
114
|
set(SPDLOG_WCHAR_FILENAMES OFF CACHE BOOL "non supported option" FORCE)
|
115
|
+
set(SPDLOG_WCHAR_CONSOLE OFF CACHE BOOL "non supported option" FORCE)
|
116
|
+
endif()
|
117
|
+
|
118
|
+
if(MSVC)
|
119
|
+
option(SPDLOG_MSVC_UTF8 "Enable/disable msvc /utf-8 flag required by fmt lib" ON)
|
114
120
|
endif()
|
115
121
|
|
116
122
|
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
@@ -159,7 +165,7 @@ if(SPDLOG_BUILD_SHARED OR BUILD_SHARED_LIBS)
|
|
159
165
|
endif()
|
160
166
|
add_library(spdlog SHARED ${SPDLOG_SRCS} ${SPDLOG_ALL_HEADERS})
|
161
167
|
target_compile_definitions(spdlog PUBLIC SPDLOG_SHARED_LIB)
|
162
|
-
if(MSVC)
|
168
|
+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
163
169
|
target_compile_options(spdlog PUBLIC $<$<AND:$<CXX_COMPILER_ID:MSVC>,$<NOT:$<COMPILE_LANGUAGE:CUDA>>>:/wd4251
|
164
170
|
/wd4275>)
|
165
171
|
endif()
|
@@ -192,6 +198,13 @@ if(COMMAND target_precompile_headers AND SPDLOG_ENABLE_PCH)
|
|
192
198
|
target_precompile_headers(spdlog PRIVATE ${PROJECT_BINARY_DIR}/spdlog_pch.h)
|
193
199
|
endif()
|
194
200
|
|
201
|
+
# sanitizer support
|
202
|
+
if(SPDLOG_SANITIZE_ADDRESS)
|
203
|
+
spdlog_enable_addr_sanitizer(spdlog)
|
204
|
+
elseif (SPDLOG_SANITIZE_THREAD)
|
205
|
+
spdlog_enable_thread_sanitizer(spdlog)
|
206
|
+
endif ()
|
207
|
+
|
195
208
|
# ---------------------------------------------------------------------------------------
|
196
209
|
# Header only version
|
197
210
|
# ---------------------------------------------------------------------------------------
|
@@ -213,7 +226,7 @@ if(SPDLOG_FMT_EXTERNAL OR SPDLOG_FMT_EXTERNAL_HO)
|
|
213
226
|
target_compile_definitions(spdlog PUBLIC SPDLOG_FMT_EXTERNAL)
|
214
227
|
target_compile_definitions(spdlog_header_only INTERFACE SPDLOG_FMT_EXTERNAL)
|
215
228
|
|
216
|
-
# use external fmt-header-
|
229
|
+
# use external fmt-header-only
|
217
230
|
if(SPDLOG_FMT_EXTERNAL_HO)
|
218
231
|
target_link_libraries(spdlog PUBLIC fmt::fmt-header-only)
|
219
232
|
target_link_libraries(spdlog_header_only INTERFACE fmt::fmt-header-only)
|
@@ -237,9 +250,11 @@ endif()
|
|
237
250
|
# Misc definitions according to tweak options
|
238
251
|
# ---------------------------------------------------------------------------------------
|
239
252
|
set(SPDLOG_WCHAR_TO_UTF8_SUPPORT ${SPDLOG_WCHAR_SUPPORT})
|
253
|
+
set(SPDLOG_UTF8_TO_WCHAR_CONSOLE ${SPDLOG_WCHAR_CONSOLE})
|
240
254
|
foreach(
|
241
255
|
SPDLOG_OPTION
|
242
256
|
SPDLOG_WCHAR_TO_UTF8_SUPPORT
|
257
|
+
SPDLOG_UTF8_TO_WCHAR_CONSOLE
|
243
258
|
SPDLOG_WCHAR_FILENAMES
|
244
259
|
SPDLOG_NO_EXCEPTIONS
|
245
260
|
SPDLOG_CLOCK_COARSE
|
@@ -255,6 +270,15 @@ foreach(
|
|
255
270
|
endif()
|
256
271
|
endforeach()
|
257
272
|
|
273
|
+
if(MSVC)
|
274
|
+
target_compile_options(spdlog PRIVATE "/Zc:__cplusplus")
|
275
|
+
target_compile_options(spdlog_header_only INTERFACE "/Zc:__cplusplus")
|
276
|
+
if(SPDLOG_MSVC_UTF8)
|
277
|
+
target_compile_options(spdlog PUBLIC "/utf-8")
|
278
|
+
target_compile_options(spdlog_header_only INTERFACE "/utf-8")
|
279
|
+
endif()
|
280
|
+
endif()
|
281
|
+
|
258
282
|
# ---------------------------------------------------------------------------------------
|
259
283
|
# If exceptions are disabled, disable them in the bundled fmt as well
|
260
284
|
# ---------------------------------------------------------------------------------------
|
@@ -49,7 +49,7 @@ function(spdlog_enable_warnings target_name)
|
|
49
49
|
endfunction()
|
50
50
|
|
51
51
|
# Enable address sanitizer (gcc/clang only)
|
52
|
-
function(
|
52
|
+
function(spdlog_enable_addr_sanitizer target_name)
|
53
53
|
if(NOT CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
54
54
|
message(FATAL_ERROR "Sanitizer supported only for gcc/clang")
|
55
55
|
endif()
|
@@ -58,5 +58,16 @@ function(spdlog_enable_sanitizer target_name)
|
|
58
58
|
target_compile_options(${target_name} PRIVATE -fno-sanitize=signed-integer-overflow)
|
59
59
|
target_compile_options(${target_name} PRIVATE -fno-sanitize-recover=all)
|
60
60
|
target_compile_options(${target_name} PRIVATE -fno-omit-frame-pointer)
|
61
|
-
target_link_libraries(${target_name} PRIVATE -fsanitize=address,undefined
|
61
|
+
target_link_libraries(${target_name} PRIVATE -fsanitize=address,undefined)
|
62
|
+
endfunction()
|
63
|
+
|
64
|
+
# Enable thread sanitizer (gcc/clang only)
|
65
|
+
function(spdlog_enable_thread_sanitizer target_name)
|
66
|
+
if(NOT CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
67
|
+
message(FATAL_ERROR "Sanitizer supported only for gcc/clang")
|
68
|
+
endif()
|
69
|
+
message(STATUS "Thread sanitizer enabled")
|
70
|
+
target_compile_options(${target_name} PRIVATE -fsanitize=thread)
|
71
|
+
target_compile_options(${target_name} PRIVATE -fno-omit-frame-pointer)
|
72
|
+
target_link_libraries(${target_name} PRIVATE -fsanitize=thread)
|
62
73
|
endfunction()
|
@@ -43,15 +43,13 @@ SPDLOG_LOGGER_CATCH(msg.source)
|
|
43
43
|
}
|
44
44
|
|
45
45
|
// send flush request to the thread pool
|
46
|
-
SPDLOG_INLINE void spdlog::async_logger::flush_(){
|
47
|
-
if (
|
46
|
+
SPDLOG_INLINE void spdlog::async_logger::flush_(){
|
47
|
+
SPDLOG_TRY{if (auto pool_ptr = thread_pool_.lock()){
|
48
|
+
pool_ptr->post_flush(shared_from_this(), overflow_policy_);
|
49
|
+
}
|
50
|
+
else {
|
48
51
|
throw_spdlog_ex("async flush: thread pool doesn't exist anymore");
|
49
52
|
}
|
50
|
-
|
51
|
-
std::future<void> future = pool_ptr->post_flush(shared_from_this(), overflow_policy_);
|
52
|
-
// Wait for the flush operation to complete.
|
53
|
-
// This might throw exception if the flush message get dropped because of overflow.
|
54
|
-
future.get();
|
55
53
|
}
|
56
54
|
SPDLOG_LOGGER_CATCH(source_loc())
|
57
55
|
}
|
@@ -148,19 +148,19 @@ public:
|
|
148
148
|
#endif
|
149
149
|
|
150
150
|
size_t overrun_counter() {
|
151
|
-
std::
|
151
|
+
std::lock_guard<std::mutex> lock(queue_mutex_);
|
152
152
|
return q_.overrun_counter();
|
153
153
|
}
|
154
154
|
|
155
155
|
size_t discard_counter() { return discard_counter_.load(std::memory_order_relaxed); }
|
156
156
|
|
157
157
|
size_t size() {
|
158
|
-
std::
|
158
|
+
std::lock_guard<std::mutex> lock(queue_mutex_);
|
159
159
|
return q_.size();
|
160
160
|
}
|
161
161
|
|
162
162
|
void reset_overrun_counter() {
|
163
|
-
std::
|
163
|
+
std::lock_guard<std::mutex> lock(queue_mutex_);
|
164
164
|
q_.reset_overrun_counter();
|
165
165
|
}
|
166
166
|
|
@@ -483,12 +483,12 @@ SPDLOG_INLINE void utf8_to_wstrbuf(string_view_t str, wmemory_buf_t &target) {
|
|
483
483
|
|
484
484
|
// find the size to allocate for the result buffer
|
485
485
|
int result_size =
|
486
|
-
::MultiByteToWideChar(CP_UTF8,
|
486
|
+
::MultiByteToWideChar(CP_UTF8, 0, str.data(), str_size, NULL, 0);
|
487
487
|
|
488
488
|
if (result_size > 0) {
|
489
489
|
target.resize(result_size);
|
490
|
-
result_size = ::MultiByteToWideChar(CP_UTF8,
|
491
|
-
|
490
|
+
result_size = ::MultiByteToWideChar(CP_UTF8, 0, str.data(), str_size, target.data(),
|
491
|
+
result_size);
|
492
492
|
if (result_size > 0) {
|
493
493
|
assert(result_size == target.size());
|
494
494
|
return;
|
@@ -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
|
-
|
66
|
-
|
67
|
-
std::
|
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
|
-
|
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
|
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::
|
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
|
-
|
482
|
-
|
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)
|
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
|
-
|
923
|
-
|
924
|
-
|
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
|
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
|
-
|
1447
|
-
|
1448
|
-
|
1449
|
-
|
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(
|
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
|
-
|
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()
|
1696
|
-
|
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<
|
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
|
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) *
|
2327
|
-
|
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
|
-
|
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
|
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;
|