/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck/utility/env.hpp File Reference

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck/utility/env.hpp File Reference#

Composable Kernel: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck/utility/env.hpp File Reference
env.hpp File Reference
#include <cstdlib>
#include <cstring>
#include <string>
#include <string_view>

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> var{#name, default_val}; \
return var; \
} \
}; \
}
Definition: env.hpp:69

◆ 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 {}