upd: tools almost done
This commit is contained in:
@ -78,4 +78,19 @@ bool Any2Bool(const std::any &value) {
|
||||
return (*ptr) != "";
|
||||
} else
|
||||
throw FatalError("Any2Bool: unknown type");
|
||||
}
|
||||
|
||||
std::any DeQuate(std::any val, VariableContainer &Variables) {
|
||||
if (auto ptr = std::any_cast<std::vector<std::any>>(&val)) {
|
||||
for (int i = 0; i < ptr->size(); i++)
|
||||
(*ptr)[i] = DeQuate((*ptr)[i], Variables);
|
||||
return *ptr;
|
||||
} else if (auto ptr = std::any_cast<RawVarible>(&val)) {
|
||||
return Variables.ReadVariable(ptr->name);
|
||||
} else if (std::any_cast<double>(&val) || std::any_cast<ZYM::int2048>(&val) ||
|
||||
std::any_cast<bool>(&val) || std::any_cast<std::string>(&val) ||
|
||||
std::any_cast<NoneType>(&val))
|
||||
return val;
|
||||
else
|
||||
throw FatalError("DeQuate: unknown type");
|
||||
}
|
Reference in New Issue
Block a user