11#include "comin_keyval.hpp"
12#include "comin_state.hpp"
13#include "comin_variable.hpp"
16 comin::keyval::Map::iterator
it;
22 t_comin_var_item* var_item = comin_var_get_from_exposed(descriptor);
23 if (var_item ==
nullptr) {
27 auto it = var_item->metadata->find(key);
28 if (it != var_item->metadata->end() &&
29 !std::holds_alternative<T>(std::get<1>(*it))) {
33 (*var_item->metadata)[key] = val;
39 t_comin_var_item* var_item = comin_var_get_from_exposed(descriptor);
44 if (var_item ==
nullptr) {
48 auto it = var_item->metadata->find(key);
49 if (it == var_item->metadata->end()) {
53 auto& value = std::get<1>(*it);
54 if (!std::holds_alternative<T>(value)) {
58 return &std::get<T>(value);
63 const char* key,
int val) {
68 const char* key,
bool val) {
73 const char* key,
double val) {
78 const char* key,
const char* val) {
85 return ptr ? *ptr : 0;
91 return ptr ? *ptr : 0;
97 return ptr ? *ptr : 0;
103 return ptr ? ptr->c_str() : 0;
109 t_comin_var_item* var_item = comin_var_get_from_exposed(var_descriptor);
110 if (var_item ==
nullptr) {
112 return (t_comin_metadata_typeid)-2;
114 auto it = var_item->metadata->find(key);
115 if (it == var_item->metadata->end()) {
116 return (t_comin_metadata_typeid)-1;
118 return (t_comin_metadata_typeid)it->second.index();
123 t_comin_var_item* var_item = comin_var_get_from_exposed(var_descriptor);
124 if (var_item ==
nullptr) {
133 t_comin_var_item* var_item = comin_var_get_from_exposed(var_descriptor);
134 if (var_item ==
nullptr) {
143 return a->first.c_str();
148 return it1->
it == it2->
it;
void comin_error_set(t_comin_error_code error_code)
bool comin_state_is_primary_done()