コード例 #1
0
std::string GenerateMasterInitialization(Model &model, clang::ASTContext *context) {
	std::stringstream stream;

	stream << "#include \""
		   << model.GetModelFileName() << "\"" << "\n"
		   << "#include <vector>" << "\n"
		   << "#include \"simulation_structs.hpp\"\n"
		   << "#include \"types.hpp\"" << "\n\n";

	stream << GenerateAttributesMPIDatatypesFunction(model, context) << "\n"
		   << GenerateAgentsMPIDatatypesFunction(model) << "\n"
		   << GenerateCriticalStructsMPIDatatypesFunction(model) << "\n"
		   << GenerateInteractionsMPIDatatypesFunction(model, context) << "\n"
		   << GenerateAttributesSizeFunction(model) << "\n"
		   << GenerateCriticalAttributesFunction(model) << "\n"
		   << GenerateNonSendableAgentTypesFunction(model) << "\n"
		   << GeneratePublicAttributesOffsetsFunction(model) << "\n"
		   << GeneratePublicStructSizesFunction(model) << "\n"
		   << GenerateCriticalAttributesOffsetsFunction(model) << "\n"
		   << GenerateCriticalStructSizesFunction(model) << "\n"
		   << GenerateAgentsNamesRelation(model) << "\n"
		   << GenerateAttributesNamesRelation(model) << "\n"
		   << GenerateNbAgentTypesFunction(model) << "\n"
		   << GenerateNbInteractionTypesFunction(model) << "\n";

	return stream.str();
}
コード例 #2
0
std::string GenerateStructFile(Model &model) {
	std::stringstream stream;

	stream << "#ifndef SIMULATION_STRUCTS_HPP_\n"
		   << "#define SIMULATION_STRUCTS_HPP_\n\n"
		   << "#include <vector>" << "\n"
		   << "#include \"types.hpp\"" << "\n"
		   << "#include \"agent.hpp\"" << "\n"
		   << "#include \"" << model.GetModelFileName() << "\"\n"
		   << "#include \"interaction.hpp\"" << "\n\n"
		   << GenerateAttributesStruct(model) << "\n"
		   << "#endif\n";

	return stream.str();
}