/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck/utility/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 | |
| ck | |
| ck::internal | |
Macros | |
| #define | CK_DECLARE_ENV_VAR(name, type, default_val) | 
| #define | CK_DECLARE_ENV_VAR_BOOL(name) CK_DECLARE_ENV_VAR(name, bool, false) | 
| #define | CK_DECLARE_ENV_VAR_UINT64(name) CK_DECLARE_ENV_VAR(name, uint64_t, 0) | 
| #define | CK_DECLARE_ENV_VAR_STR(name) CK_DECLARE_ENV_VAR(name, std::string, "") | 
| #define | CK_ENV(name) 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  More... | |
| 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: env.hpp:70
◆ CK_DECLARE_ENV_VAR_BOOL
| #define CK_DECLARE_ENV_VAR_BOOL | ( | name | ) | CK_DECLARE_ENV_VAR(name, bool, false) | 
◆ CK_DECLARE_ENV_VAR_STR
| #define CK_DECLARE_ENV_VAR_STR | ( | name | ) | CK_DECLARE_ENV_VAR(name, std::string, "") | 
◆ CK_DECLARE_ENV_VAR_UINT64
| #define CK_DECLARE_ENV_VAR_UINT64 | ( | name | ) | CK_DECLARE_ENV_VAR(name, uint64_t, 0) | 
◆ CK_ENV
| #define CK_ENV | ( | name | ) | ck::env::name {} |