env.hpp File Reference#
env.hpp File Reference
#include <cstdlib>#include <cstring>#include <string>#include <string_view>#include <map>Go to the source code of this file.
Classes | |
| struct | ck::internal::ParseEnvVal< T > |
| struct | ck::internal::ParseEnvVal< bool > |
| struct | ck::internal::ParseEnvVal< uint64_t > |
| struct | ck::internal::ParseEnvVal< std::string > |
| struct | ck::internal::EnvVar< T > |
Namespaces | |
| namespace | ck |
| namespace | ck::internal |
Macros | |
| #define | CK_DECLARE_ENV_VAR(name, type, default_val) |
| #define | CK_DECLARE_ENV_VAR_BOOL(name) |
| #define | CK_DECLARE_ENV_VAR_UINT64(name) |
| #define | CK_DECLARE_ENV_VAR_STR(name) |
| #define | CK_ENV(name) |
Functions | |
| template<class EnvVar> | |
| const std::string & | ck::EnvGetString (EnvVar) |
| template<class EnvVar> | |
| bool | ck::EnvIsEnabled (EnvVar) |
| template<class EnvVar> | |
| bool | ck::EnvIsDisabled (EnvVar) |
| template<class EnvVar> | |
| uint64_t | ck::EnvValue (EnvVar) |
| template<class EnvVar> | |
| bool | ck::EnvIsUnset (EnvVar) |
| template<class EnvVar> | |
| void | ck::EnvUnset (EnvVar) |
| template<typename EnvVar, typename ValueType> | |
| void | ck::UpdateEnvVar (EnvVar, const ValueType &val) |
| updates the cached value of an environment variable | |
| template<typename EnvVar> | |
| void | ck::UpdateEnvVar (EnvVar, const std::string_view &val) |
Macro Definition Documentation
◆ CK_DECLARE_ENV_VAR
| #define CK_DECLARE_ENV_VAR | ( | name, | |
| type, | |||
| default_val ) |
Value:
namespace ck::env { \
struct name \
{ \
static_assert(std::is_same_v<name, ::ck::env::name>, \
"CK_DECLARE_ENV* must be used in the global namespace"); \
using value_type = type; \
static ck::internal::EnvVar<type>& Ref() \
{ \
static ck::internal::EnvVar<type> var{#name, default_val}; \
return var; \
} \
}; \
}
Definition utility/env.hpp:70
◆ CK_DECLARE_ENV_VAR_BOOL
| #define CK_DECLARE_ENV_VAR_BOOL | ( | name | ) |
Value:
◆ CK_DECLARE_ENV_VAR_STR
| #define CK_DECLARE_ENV_VAR_STR | ( | name | ) |
Value:
CK_DECLARE_ENV_VAR(name, std::string, "")
◆ CK_DECLARE_ENV_VAR_UINT64
| #define CK_DECLARE_ENV_VAR_UINT64 | ( | name | ) |
Value:
CK_DECLARE_ENV_VAR(name, uint64_t, 0)
◆ CK_ENV
| #define CK_ENV | ( | name | ) |
Value:
ck::env::name {}