src/CircuitGenGenerator/CircuitGenGenerator.cpp file

Contents

Namespaces

namespace CircuitGenGenerator
namespace std::chrono

Functions

auto check(const nlohmann::json& i_data, const std::string& i_param, bool isExit = true) -> bool
template<typename Type>
auto readWithCheck(const nlohmann::json& i_data, const std::string& i_param, Type i_default, bool isExit = false) -> Type
template<typename Type>
auto readEnumWithCheck(const nlohmann::json& i_data, const std::string& i_param, const std::map<std::string, Type>& values_map) -> Type
auto getBasicParameters(const nlohmann::json& i_data, GenerationTypes& i_type, int& i_minInputs, int& i_maxInputs, int& i_minOutputs, int& i_maxOutputs, int& i_repeats, bool& i_convertToBasis) -> GenerationParameters*
void setFromTruthTable(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setRandLevel(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setRandLevelExperimental(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setNumOperation(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setComparison(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setSummator(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setMultiplier(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setSubtractor(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setMultiplexer(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setDemultiplexer(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setEncoder(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setDecoder(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setGenetic(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setParity(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setALU(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setMealyMoore(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setDotToGraph(const nlohmann::json& i_data, GenerationParameters* i_gp)
void setCascade(const nlohmann::json& i_data, GenerationParameters* i_gp)
auto setGenerationParameters(const nlohmann::json& i_data) -> DataBaseGeneratorParameters*
void runGeneration(std::string i_json_path, std::function<void(DataBaseGenerator&, const DataBaseGeneratorParameters&, uint8_t, bool)> i_callable)
runGeneration reads json file and runs specified generator/ for DotToGraph generator it reads folderpath from json and changes json file for DotToGraphGenerator so it receives every .dot file in folderpath.

Function documentation

void runGeneration(std::string i_json_path, std::function<void(DataBaseGenerator&, const DataBaseGeneratorParameters&, uint8_t, bool)> i_callable)

runGeneration reads json file and runs specified generator/ for DotToGraph generator it reads folderpath from json and changes json file for DotToGraphGenerator so it receives every .dot file in folderpath.

Then it runs DotToGraphGenerator for every .dot file in folder. This change is for DotToGraphGenerator only.