docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
structured_sdfg.h
Go to the documentation of this file.
1#pragma once
2
3#include <cassert>
4#include <functional>
5#include <list>
6#include <memory>
7#include <ranges>
8#include <string>
9#include <unordered_map>
10#include <unordered_set>
11
12#include "sdfg/element.h"
13#include "sdfg/function.h"
22
23namespace sdfg {
24
25class Schedule;
26namespace builder {
28}
29
30class StructuredSDFG : public Function {
32 friend class Schedule;
33
34private:
35 std::unique_ptr<structured_control_flow::Sequence> root_;
36
37public:
38 StructuredSDFG(const std::string& name, FunctionType type);
40
43
44 void validate() const override;
45
47
49
50 std::unique_ptr<StructuredSDFG> clone() const;
51};
52
53} // namespace sdfg
const types::IType & return_type() const
FunctionType type() const
Function(const std::string &name, FunctionType type)
const std::string & name() const
StructuredSDFG & operator=(const StructuredSDFG &)=delete
void validate() const override
Validates the function.
structured_control_flow::Sequence & root()
const structured_control_flow::Sequence & root() const
StructuredSDFG(const StructuredSDFG &sdfg)=delete
StructuredSDFG(const std::string &name, FunctionType type)
friend class Schedule
Definition structured_sdfg.h:32
std::unique_ptr< StructuredSDFG > clone() const
StructuredSDFG(const std::string &name, FunctionType type, const types::IType &return_type)
Note: Even though the class references unique_ptr, it will never delete an SDFG it has a reference to...
Definition structured_sdfg_builder.h:44
A sequential container of control flow nodes.
Definition sequence.h:52
Abstract base interface for all types in the sdfglib type system.
Definition type.h:625
Definition function_builder.h:10
Definition analysis.h:7
StringEnum FunctionType
Definition function.h:37