Adaptyst
A comprehensive and architecture-agnostic performance analysis tool
Loading...
Searching...
No Matches
workflow.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 CERN
2// SPDX-License-Identifier: LGPL-3.0-or-later
3
4#ifndef WORKFLOW_HPP_
5#define WORKFLOW_HPP_
6
7#include "ir.hpp"
8#include <vector>
9#include <string>
10#include <filesystem>
11
12namespace adaptyst {
13 namespace fs = std::filesystem;
14
15 class Workflow {
16 private:
17 bool is_command;
18 std::vector<std::string> command_elements;
19
20 public:
21 Workflow(std::vector<std::string> command_elements);
22 Workflow(fs::path workflow_file);
23 bool is_command_only();
24 std::vector<std::string> get_command_elements();
25 };
26
28 public:
29 virtual std::unique_ptr<IR> compile(Workflow &workflow) = 0;
30 };
31
33 public:
34 std::unique_ptr<IR> compile(Workflow &workflow);
35 };
36
38 public:
39 std::unique_ptr<IR> compile(Workflow &workflow);
40 };
41};
42
43#endif
Definition workflow.hpp:32
std::unique_ptr< IR > compile(Workflow &workflow)
Definition workflow.cpp:30
Definition workflow.hpp:37
std::unique_ptr< IR > compile(Workflow &workflow)
Definition workflow.cpp:34
Definition workflow.hpp:27
virtual std::unique_ptr< IR > compile(Workflow &workflow)=0
Definition workflow.hpp:15
bool is_command_only()
Definition workflow.cpp:16
std::vector< std::string > get_command_elements()
Definition workflow.cpp:20
Workflow(std::vector< std::string > command_elements)
Definition workflow.cpp:7
Definition archive.cpp:7