#pragma once extern void HipReadEnv(); #define READ_ENV_I(_build, _ENV_VAR, _ENV_VAR2, _description) \ ihipReadEnv_I(&_ENV_VAR, #_ENV_VAR, #_ENV_VAR2, _description); #define READ_ENV_S(_build, _ENV_VAR, _ENV_VAR2, _description) \ ihipReadEnv_S(&_ENV_VAR, #_ENV_VAR, #_ENV_VAR2, _description); #define READ_ENV_C(_build, _ENV_VAR, _ENV_VAR2, _description, _callback) \ ihipReadEnv_Callback(&_ENV_VAR, #_ENV_VAR, #_ENV_VAR2, _description, _callback); extern void ihipReadEnv_I(int *var_ptr, const char *var_name1, const char *var_name2, const char *description); extern void ihipReadEnv_S(std::string *var_ptr, const char *var_name1, const char *var_name2, const char *description); extern void ihipReadEnv_Callback(void *var_ptr, const char *var_name1, const char *var_name2, const char *description, std::string (*setterCallback)(void * var_ptr, const char * env)); // String functions: extern void trim(std::string *s); extern void tokenize(const std::string &s, char delim, std::vector *tokens);