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

#include <graph.hpp>

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

Public Member Functions

 GraphImport (Graph &graph, std::shared_ptr< const rvsdg::Type > type, std::string name)
 
const std::string & Name () const noexcept
 
std::string debug_string () const override
 
GraphImportCopy (Region &region, StructuralInput *input) const override
 
- Public Member Functions inherited from jlm::rvsdg::RegionArgument
 ~RegionArgument () noexcept override
 
 RegionArgument (rvsdg::Region *region, StructuralInput *input, std::shared_ptr< const rvsdg::Type > type)
 
 RegionArgument (const RegionArgument &)=delete
 
 RegionArgument (RegionArgument &&)=delete
 
RegionArgumentoperator= (const RegionArgument &)=delete
 
RegionArgumentoperator= (RegionArgument &&)=delete
 
std::string debug_string () const override
 
StructuralInputinput () const noexcept
 
- Public Member Functions inherited from jlm::rvsdg::Output
virtual ~Output () noexcept
 
 Output (const Output &)=delete
 
 Output (Output &&)=delete
 
Outputoperator= (const Output &)=delete
 
Outputoperator= (Output &&)=delete
 
size_t index () const noexcept
 
size_t nusers () const noexcept
 
bool IsDead () const noexcept
 
void divert_users (jlm::rvsdg::Output *new_origin)
 
template<typename F >
size_t divertUsersWhere (Output &newOrigin, const F &match)
 
rvsdg::InputSingleUser () noexcept
 
UsersRange Users ()
 
UsersConstRange Users () const
 
const std::shared_ptr< const rvsdg::Type > & Type () const noexcept
 
rvsdg::Regionregion () const noexcept
 
std::variant< Node *, Region * > GetOwner () const noexcept
 

Static Public Member Functions

static GraphImportCreate (Graph &graph, std::shared_ptr< const rvsdg::Type > type, std::string name)
 
- Static Public Member Functions inherited from jlm::rvsdg::RegionArgument
static RegionArgumentCreate (rvsdg::Region &region, StructuralInput *input, std::shared_ptr< const rvsdg::Type > type)
 Creates region entry argument. More...
 

Private Attributes

std::string Name_
 

Additional Inherited Members

- Public Types inherited from jlm::rvsdg::RegionArgument
typedef util::IntrusiveListAccessor< RegionArgument, &RegionArgument::structural_input_anchor_structural_input_accessor
 
- Public Types inherited from jlm::rvsdg::Output
using UsersList = Input::UsersList
 
using UsersRange = jlm::util::IteratorRange< UsersList::Iterator >
 
using UsersConstRange = jlm::util::IteratorRange< UsersList::ConstIterator >
 
- Protected Member Functions inherited from jlm::rvsdg::Output
 Output (Node &owner, std::shared_ptr< const rvsdg::Type > type)
 
 Output (Region *owner, std::shared_ptr< const rvsdg::Type > type)
 

Detailed Description

Represents an import into the RVSDG of an external entity.

Definition at line 19 of file graph.hpp.

Constructor & Destructor Documentation

◆ GraphImport()

jlm::rvsdg::GraphImport::GraphImport ( Graph graph,
std::shared_ptr< const rvsdg::Type type,
std::string  name 
)

Definition at line 16 of file graph.cpp.

Member Function Documentation

◆ Copy()

GraphImport & jlm::rvsdg::GraphImport::Copy ( Region region,
StructuralInput input 
) const
overridevirtual

Creates a copy of the argument in region with the structural_input input.

Parameters
regionThe region where the copy of the argument is created in.
inputThe structural_input to the argument, if any.
Returns
A reference to the copied argument.

Reimplemented from jlm::rvsdg::RegionArgument.

Definition at line 28 of file graph.cpp.

◆ Create()

GraphImport & jlm::rvsdg::GraphImport::Create ( Graph graph,
std::shared_ptr< const rvsdg::Type type,
std::string  name 
)
static

Definition at line 36 of file graph.cpp.

◆ debug_string()

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

Reimplemented from jlm::rvsdg::Output.

Definition at line 22 of file graph.cpp.

◆ Name()

const std::string& jlm::rvsdg::GraphImport::Name ( ) const
inlinenoexcept

Definition at line 25 of file graph.hpp.

Member Data Documentation

◆ Name_

std::string jlm::rvsdg::GraphImport::Name_
private

Definition at line 40 of file graph.hpp.


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