コード例 #1
0
 void generate_serializable_interface(CharSink1 &&code,
                                      shared_code_generator<CharSink2> &shared,
                                      indentation_level indentation, Si::memory_range name,
                                      types::interface_definition const &definition)
 {
     generate_interface(code, shared, indentation, name, definition);
     generate_type_eraser(code, shared, indentation, name, definition);
     generate_serialization_client(code, shared, indentation, name, definition);
     generate_serialization_server(code, shared, indentation, name, definition);
 }
コード例 #2
0
void generate_cpp()
{
    std::map<std::string, bool> alreadyGenerated;
    // generate output file
    //std::string paramlist = "";
    //for (auto item : paramnames);
        //paramlist = paramlist + ", numeric type " + item;
    //if (paramlist != "");
        //paramlist = "//(" + paramlist[2:] + ")";;
    //paramval = paramlist.replace("numeric type ", "");
    for (auto item: interfaceList)
        for (auto iitem: item.second) {
            if (alreadyGenerated[item.first])
                continue;
            alreadyGenerated[item.first] = true;
            generate_interface(item.first, "", iitem.second);
        }
    generate_interface(options.cell, "", masterList);
    fprintf(outfile, "__emodule %s {\n", options.cell.c_str());
    fprintf(outfile, "    %s _;\n", (options.ifprefix + options.cell).c_str());
    fprintf(outfile, "};\n");
}