Porytiles
Loading...
Searching...
No Matches
pipeline.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <expected>
4#include <memory>
5#include <unordered_map>
6#include <vector>
7
9
10namespace porytiles {
11
12class Pipeline {
13 public:
14 explicit Pipeline(const std::vector<std::shared_ptr<Operation>> &ops);
15
16 [[nodiscard]] std::expected<AnyMap, std::string> Run() const;
17
18 private:
19 std::unordered_map<std::string, Operation *> producers_;
20 std::unordered_map<Operation *, std::vector<Operation *>> adj_;
21 std::unordered_map<Operation *, int> in_degree_;
22 std::vector<Operation *> sorted_;
23};
24
25} // namespace porytiles
std::expected< AnyMap, std::string > Run() const
Definition pipeline.cpp:62