12#define LOGMAN_DEFAULT_ENV_PREFIXES_RAW "LOGMAN_"
18inline constexpr std::string_view k_default_env_prefixes_raw = LOGMAN_DEFAULT_ENV_PREFIXES_RAW;
20consteval std::size_t count_prefixes() {
21 if (k_default_env_prefixes_raw.empty()) {
25 for (
char c : k_default_env_prefixes_raw) {
33template <std::
size_t N>
34consteval std::array<std::string_view, N> parse_prefixes() {
35 std::array<std::string_view, N> out{};
37 std::size_t start = 0;
38 for (std::size_t i = 0; i < k_default_env_prefixes_raw.size(); ++i) {
39 if (k_default_env_prefixes_raw[i] ==
';') {
40 out[idx++] = k_default_env_prefixes_raw.substr(start, i - start);
45 out[idx] = k_default_env_prefixes_raw.substr(start);
50inline constexpr auto k_default_env_prefixes_storage =
51 parse_prefixes<count_prefixes()>();
60 detail::k_default_env_prefixes_storage};
constexpr std::span< const std::string_view > default_env_prefixes
Prefixes (including the trailing underscore) the runtime scans for env vars during LogManager::initia...
Definition env_prefixes.hpp:59