Jlm
Public Member Functions | Private Attributes | List of all members
jlm::rvsdg::LambdaOperation Class Reference

Lambda operation. More...

#include <lambda.hpp>

Inheritance diagram for jlm::rvsdg::LambdaOperation:
Inheritance graph
[legend]
Collaboration diagram for jlm::rvsdg::LambdaOperation:
Collaboration graph
[legend]

Public Member Functions

 ~LambdaOperation () override
 
 LambdaOperation (std::shared_ptr< const FunctionType > type)
 
const FunctionTypetype () const noexcept
 
const std::shared_ptr< const FunctionType > & Type () const noexcept
 
std::string debug_string () const override
 
bool operator== (const Operation &other) const noexcept override
 
std::unique_ptr< Operationcopy () const override
 
- Public Member Functions inherited from jlm::rvsdg::StructuralOperation
bool operator== (const Operation &other) const noexcept override
 
- Public Member Functions inherited from jlm::rvsdg::Operation
virtual ~Operation () noexcept
 
bool operator!= (const Operation &other) const noexcept
 

Private Attributes

std::shared_ptr< const FunctionTypetype_
 

Detailed Description

Lambda operation.

A lambda operation determines a lambda's function type.

Definition at line 28 of file lambda.hpp.

Constructor & Destructor Documentation

◆ ~LambdaOperation()

jlm::rvsdg::LambdaOperation::~LambdaOperation ( )
overridedefault

◆ LambdaOperation()

jlm::rvsdg::LambdaOperation::LambdaOperation ( std::shared_ptr< const FunctionType type)
explicit

Definition at line 15 of file lambda.cpp.

Member Function Documentation

◆ copy()

std::unique_ptr< rvsdg::Operation > jlm::rvsdg::LambdaOperation::copy ( ) const
overridevirtual

Implements jlm::rvsdg::Operation.

Definition at line 33 of file lambda.cpp.

◆ debug_string()

std::string jlm::rvsdg::LambdaOperation::debug_string ( ) const
overridevirtual

Implements jlm::rvsdg::Operation.

Definition at line 20 of file lambda.cpp.

◆ operator==()

bool jlm::rvsdg::LambdaOperation::operator== ( const Operation other) const
overridevirtualnoexcept

Implements jlm::rvsdg::Operation.

Definition at line 26 of file lambda.cpp.

◆ type()

const FunctionType& jlm::rvsdg::LambdaOperation::type ( ) const
inlinenoexcept

Definition at line 36 of file lambda.hpp.

◆ Type()

const std::shared_ptr<const FunctionType>& jlm::rvsdg::LambdaOperation::Type ( ) const
inlinenoexcept

Definition at line 42 of file lambda.hpp.

Member Data Documentation

◆ type_

std::shared_ptr<const FunctionType> jlm::rvsdg::LambdaOperation::type_
private

Definition at line 57 of file lambda.hpp.


The documentation for this class was generated from the following files: