|
docc 0.8.3 (0d44999b)
C++ API Reference
|
Namespaces | |
| namespace | analysis |
| namespace | builder |
| namespace | codegen |
| namespace | structured_control_flow |
| namespace | control_flow |
| namespace | serializer |
| namespace | util |
| namespace | data_flow |
| namespace | math |
| namespace | stdlib |
| namespace | deepcopy |
| namespace | graph |
| namespace | helpers |
| namespace | metadata |
| namespace | passes |
| namespace | plugins |
| namespace | visitor |
| namespace | symbolic |
| namespace | types |
| namespace | offloading |
| namespace | users |
| namespace | visualizer |
| namespace | einsum |
| namespace | fp_math |
| namespace | parallelization |
| namespace | transformations |
| namespace | cuda |
| namespace | rocm |
| namespace | gpu |
| namespace | tiles |
| namespace | omp |
| namespace | vectorize |
| namespace | auto_util |
Classes | |
| class | DebugInfo |
| class | Element |
| class | InvalidSDFGException |
| class | UnstructuredControlFlowException |
| class | StringEnum |
| class | Function |
| struct | TransformReport |
| class | OptimizationReport |
| class | PassReportConsumer |
| struct | OptionSpec |
| struct | OptionKey |
| class | Options |
| class | OptionRegistry |
| class | SDFG |
| class | StructuredSDFG |
Typedefs | |
| typedef size_t | ElementId |
| template<typename T> | |
| using | element_cast_target_t = std::remove_pointer_t<std::remove_reference_t<T>> |
| Resolves the concrete target type for isa/dyn_cast, accepting the type itself (Block), a pointer to it (Block*), or a reference to it (Block&). | |
| typedef StringEnum | FunctionType |
| using | OptionValue = std::variant<bool, int64_t, double, std::string> |
Enumerations | |
| enum class | ElementType : uint64_t { State = 1LL , InterstateEdge = 1LL << 1 , AccessNode = 1LL << 2 , ConstantNode = 1LL << 3 , Tasklet = 1LL << 4 , LibraryNode = 1LL << 5 , Memlet = 1LL << 6 , Return = 1LL << 7 , Block = 1LL << 8 , Sequence = 1LL << 9 , AssignmentBlock = 1LL << 10 , IfElse = 1LL << 11 , While = 1LL << 12 , Continue = 1LL << 13 , Break = 1LL << 14 , For = 1LL << 15 , Map = 1LL << 16 , Reduce = 1LL << 17 } |
| enum | LinkageType { LinkageType_External , LinkageType_Internal } |
| enum class | OptionType { Bool , Int , Double , String } |
Functions | |
| constexpr ElementType | operator| (ElementType lhs, ElementType rhs) |
| Bitwise combination of element types, enabling category masks. | |
| constexpr ElementType | operator& (ElementType lhs, ElementType rhs) |
| constexpr ElementType | operator~ (ElementType type) |
| constexpr bool | is_a (ElementType type, ElementType mask) |
Tests whether type is contained in the category mask (efficient, branch-free type check). | |
| constexpr std::string_view | element_type_name (ElementType type) |
| Returns the type of an element as a human-readable string (no allocation). | |
| std::ostream & | operator<< (std::ostream &os, ElementType type) |
| template<typename T> | |
| bool | isa (const Element &element) |
LLVM-style RTTI check: true if element belongs to type category T. | |
| template<typename T> | |
| bool | isa (const Element *element) |
| template<typename T> | |
| element_cast_target_t< T > * | dyn_cast (Element *element) |
Efficient down-cast to T, or nullptr if element is not a T. | |
| template<typename T> | |
| const element_cast_target_t< T > * | dyn_cast (const Element *element) |
| template<typename T> | |
| element_cast_target_t< T > & | dyn_cast (Element &element) |
Checked down-cast to T; throws InvalidSDFGException if element is not a T. | |
| template<typename T> | |
| const element_cast_target_t< T > & | dyn_cast (const Element &element) |
| template<class T> | |
| constexpr OptionType | option_type_of () |
Variables | |
| FunctionType | FunctionType_CPU {"CPU"} |
| FunctionType | FunctionType_NV_GLOBAL {"NV_GLOBAL"} |
| using sdfg::element_cast_target_t = std::remove_pointer_t<std::remove_reference_t<T>> |
Resolves the concrete target type for isa/dyn_cast, accepting the type itself (Block), a pointer to it (Block*), or a reference to it (Block&).
| typedef size_t sdfg::ElementId |
| typedef StringEnum sdfg::FunctionType |
| using sdfg::OptionValue = std::variant<bool, int64_t, double, std::string> |
|
strong |
| enum sdfg::LinkageType |
|
strong |
| const element_cast_target_t< T > & sdfg::dyn_cast | ( | const Element & | element | ) |
| const element_cast_target_t< T > * sdfg::dyn_cast | ( | const Element * | element | ) |
| element_cast_target_t< T > & sdfg::dyn_cast | ( | Element & | element | ) |
Checked down-cast to T; throws InvalidSDFGException if element is not a T.
| element_cast_target_t< T > * sdfg::dyn_cast | ( | Element * | element | ) |
Efficient down-cast to T, or nullptr if element is not a T.
|
constexpr |
Returns the type of an element as a human-readable string (no allocation).
|
constexpr |
Tests whether type is contained in the category mask (efficient, branch-free type check).
| bool sdfg::isa | ( | const Element & | element | ) |
LLVM-style RTTI check: true if element belongs to type category T.
T must expose a static bool classof(const Element&) predicate (typically implemented via a power-of-two ElementType category mask). This is a branch-free alternative to dynamic_cast for element categories.
T may be given as the target type (isa<While>), a pointer (isa<While*>), or a reference (isa<While&>); all are treated identically.
| bool sdfg::isa | ( | const Element * | element | ) |
|
constexpr |
|
inline |
|
constexpr |
Bitwise combination of element types, enabling category masks.
|
constexpr |
|
constexpr |
|
inline |
|
inline |