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

Delta operation. More...

#include <delta.hpp>

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

Public Member Functions

 ~DeltaOperation () noexcept override
 
 DeltaOperation (std::shared_ptr< const rvsdg::Type > type, bool constant, std::shared_ptr< const rvsdg::Type > reftype)
 
 DeltaOperation (const DeltaOperation &other)=default
 
 DeltaOperation (DeltaOperation &&other) noexcept=default
 
DeltaOperationoperator= (const DeltaOperation &)=delete
 
DeltaOperationoperator= (DeltaOperation &&)=delete
 
std::string debug_string () const override
 
std::unique_ptr< Operationcopy () const override
 
bool operator== (const Operation &other) const noexcept override
 
bool constant () const noexcept
 
const rvsdg::Typetype () const noexcept
 
const std::shared_ptr< const rvsdg::Type > & Type () const noexcept
 
const std::shared_ptr< const rvsdg::Type > & ReferenceType () const noexcept
 
- 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
 

Static Public Member Functions

static std::unique_ptr< DeltaOperationCreate (std::shared_ptr< const rvsdg::Type > type, bool constant, std::shared_ptr< const rvsdg::Type > reftype)
 Creates parameterized delta operation. More...
 

Private Attributes

bool constant_
 
std::shared_ptr< const rvsdg::Typetype_
 
std::shared_ptr< const rvsdg::Typereftype_
 

Detailed Description

Delta operation.

Definition at line 17 of file delta.hpp.

Constructor & Destructor Documentation

◆ ~DeltaOperation()

jlm::rvsdg::DeltaOperation::~DeltaOperation ( )
overridedefaultnoexcept

◆ DeltaOperation() [1/3]

jlm::rvsdg::DeltaOperation::DeltaOperation ( std::shared_ptr< const rvsdg::Type type,
bool  constant,
std::shared_ptr< const rvsdg::Type reftype 
)
inline

Definition at line 22 of file delta.hpp.

◆ DeltaOperation() [2/3]

jlm::rvsdg::DeltaOperation::DeltaOperation ( const DeltaOperation other)
default

◆ DeltaOperation() [3/3]

jlm::rvsdg::DeltaOperation::DeltaOperation ( DeltaOperation &&  other)
defaultnoexcept

Member Function Documentation

◆ constant()

bool jlm::rvsdg::DeltaOperation::constant ( ) const
inlinenoexcept

Definition at line 51 of file delta.hpp.

◆ copy()

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

Implements jlm::rvsdg::Operation.

Definition at line 56 of file delta.cpp.

◆ Create()

static std::unique_ptr<DeltaOperation> jlm::rvsdg::DeltaOperation::Create ( std::shared_ptr< const rvsdg::Type type,
bool  constant,
std::shared_ptr< const rvsdg::Type reftype 
)
inlinestatic

Creates parameterized delta operation.

Parameters
typeThe type of the value bound in the definition.
constantWhether the data element is to be considered runtime constant.
reftypeThe type used to reference the bound object (typically a poniter type).
Returns
The created operation structure.

Creates a parameterized delta operation that binds an (initial) value into a program definition.

Definition at line 93 of file delta.hpp.

◆ debug_string()

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

Implements jlm::rvsdg::Operation.

Definition at line 50 of file delta.cpp.

◆ operator=() [1/2]

DeltaOperation& jlm::rvsdg::DeltaOperation::operator= ( const DeltaOperation )
delete

◆ operator=() [2/2]

DeltaOperation& jlm::rvsdg::DeltaOperation::operator= ( DeltaOperation &&  )
delete

◆ operator==()

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

Implements jlm::rvsdg::Operation.

Definition at line 62 of file delta.cpp.

◆ ReferenceType()

const std::shared_ptr<const rvsdg::Type>& jlm::rvsdg::DeltaOperation::ReferenceType ( ) const
inlinenoexcept

Definition at line 69 of file delta.hpp.

◆ type()

const rvsdg::Type& jlm::rvsdg::DeltaOperation::type ( ) const
inlinenoexcept

Definition at line 57 of file delta.hpp.

◆ Type()

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

Definition at line 63 of file delta.hpp.

Member Data Documentation

◆ constant_

bool jlm::rvsdg::DeltaOperation::constant_
private

Definition at line 102 of file delta.hpp.

◆ reftype_

std::shared_ptr<const rvsdg::Type> jlm::rvsdg::DeltaOperation::reftype_
private

Definition at line 104 of file delta.hpp.

◆ type_

std::shared_ptr<const rvsdg::Type> jlm::rvsdg::DeltaOperation::type_
private

Definition at line 103 of file delta.hpp.


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