userver: userver/dynamic_config/benchmark_helpers.hpp Source File
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
benchmark_helpers.hpp
1#pragma once
2
3#include <string>
4#include <vector>
5
6#include <userver/dynamic_config/impl/default_config_path.hpp>
7#include <userver/dynamic_config/impl/test_helpers.hpp>
8#include <userver/dynamic_config/source.hpp>
9#include <userver/dynamic_config/storage_mock.hpp>
10
11USERVER_NAMESPACE_BEGIN
12
13namespace dynamic_config {
14
15#if defined(DEFAULT_DYNAMIC_CONFIG_FILENAME) || defined(DOXYGEN)
16/// Get `dynamic_config::Source` with built-in defaults for all configs
17inline dynamic_config::Source GetDefaultSource() {
18 return impl::GetDefaultSource(DEFAULT_DYNAMIC_CONFIG_FILENAME);
19}
20
21/// Get `dynamic_config::Snapshot` with built-in defaults for all configs
22inline const dynamic_config::Snapshot& GetDefaultSnapshot() {
23 return impl::GetDefaultSnapshot(DEFAULT_DYNAMIC_CONFIG_FILENAME);
24}
25
26/// Make `dynamic_config::StorageMock` with built-in defaults for all configs
27inline dynamic_config::StorageMock MakeDefaultStorage(
28 const std::vector<dynamic_config::KeyValue>& overrides) {
29 return impl::MakeDefaultStorage(DEFAULT_DYNAMIC_CONFIG_FILENAME, overrides);
30}
31
32namespace impl {
33
34// Internal API, use functions above instead!
35inline const dynamic_config::DocsMap& GetDefaultDocsMap() {
36 return dynamic_config::impl::GetDefaultDocsMap(
37 DEFAULT_DYNAMIC_CONFIG_FILENAME);
38}
39
40} // namespace impl
41
42#endif
43
44} // namespace dynamic_config
45
46USERVER_NAMESPACE_END