15#include "comin_state.hpp"
16#include "comin_var_request.hpp"
17#include "comin_variable.hpp"
24 if (it->lmodexclusive) {
28 }
else if (lmodexclusive) {
38 auto& var_request_list = comin::state.comin_var_request_list;
40 t_comin_request_item req;
41 req.descriptor = var_desc;
42 req.lmodexclusive = lmodexclusive;
44 var_request_list.push_back(std::move(req));
60 if (var_desc.
id == -1) {
75 auto& var_request_list = comin::state.comin_var_request_list;
77 auto it = std::find_if(var_request_list.begin(), var_request_list.end(),
78 [&](
const t_comin_request_item& a) {
79 return a.descriptor == *var_desc;
82 if (it != var_request_list.end())
90 return &req->metadata;
95 return &req->descriptor;
99 auto& var_request_list = comin::state.comin_var_request_list;
101 return new t_comin_var_request_list_iterator{var_request_list.begin()};
105 const t_comin_var_request_list_iterator* it) {
106 auto& var_request_list = comin::state.comin_var_request_list;
108 return it->it == var_request_list.end();
111 t_comin_request_item*
113 auto& current = *it->it;
C interface for the ICON Community Interface.
void comin_error_set(t_comin_error_code error_code)
bool comin_state_is_primary_done()
int comin_current_get_plugin_id()
comin::keyval::Map * comin_var_request_get_metadata(t_comin_request_item *req)
void comin_var_request_add(t_comin_var_descriptor var_desc, bool lmodexclusive)
static void var_request_add_element(const t_comin_var_descriptor &var_desc, bool lmodexclusive)
t_comin_var_request_list_iterator * comin_request_list_iterator_begin()
bool comin_request_list_iterator_is_end(const t_comin_var_request_list_iterator *it)
void comin_request_list_iterator_delete(t_comin_var_request_list_iterator **it)
t_comin_request_item * comin_var_request_find(const t_comin_var_descriptor *var_desc)
t_comin_request_item * comin_request_list_iterator_next(t_comin_var_request_list_iterator *it)
t_comin_var_descriptor * comin_var_request_get_descriptor(t_comin_request_item *req)
int comin_descrdata_get_global_n_dom()
Number of logical domains.