#pragma once namespace saw { namespace lang { struct RemoteC {}; } namespace lang_c { struct config { std::string prefix; }; struct transfer_binding_state { struct info { std::string type; }; std::map hashes; struct transpiled_element { uint32_t crc32; std::string header; std::string source; }; std::vector tp_elements; error_or find_id_by_crc32(uint32_t hash){ for(uint64_t iter = 0; iter < tp_elements.size(); ++iter){ if(tp_elements.at(iter).crc32 == hash){ return iter; } } return make_error(); } error_or add_tp_element(uint32_t hash){ uint64_t id{}; try { language_binding_state::transpiled_element ele; ele.crc32 = hash; id = tp_elements.size(); tp_elements.emplace_back(std::move(ele)); }catch(const std::exception&){ return make_error(); } return id; } }; } }