CPGen
C++ project generator
Loading...
Searching...
No Matches
GenerationPipeline.hpp
Go to the documentation of this file.
1#pragma once
2
15
16#include <filesystem>
17#include <memory>
18#include <vector>
19
34public:
39 void addEmitter(std::unique_ptr<Emitter> emitter);
40
52 void execute(const ResolvedProject &project,
53 const std::filesystem::path &output_dir);
54
55private:
56 std::vector<std::unique_ptr<Emitter>> m_emitters;
57};
Base interface for all pipeline emitters.
Output types produced by the resolver pipeline.
Runs all registered emitters and materialises the project on disk.
Definition GenerationPipeline.hpp:33
void execute(const ResolvedProject &project, const std::filesystem::path &output_dir)
Run every registered emitter and write the resulting files.
Definition GenerationPipeline.cpp:22
void addEmitter(std::unique_ptr< Emitter > emitter)
Register an emitter to be run during execute.
Definition GenerationPipeline.cpp:18
Aggregated output of the full resolver pipeline.
Definition Resolved.hpp:105