#include <node.hpp>
Definition at line 245 of file node.hpp.
◆ UsersConstRange
◆ UsersList
◆ UsersRange
◆ Output() [1/4]
| jlm::rvsdg::Output::Output |
( |
Node & |
owner, |
|
|
std::shared_ptr< const rvsdg::Type > |
type |
|
) |
| |
|
protected |
◆ Output() [2/4]
◆ ~Output()
| jlm::rvsdg::Output::~Output |
( |
| ) |
|
|
virtualnoexcept |
◆ Output() [3/4]
| jlm::rvsdg::Output::Output |
( |
const Output & |
| ) |
|
|
delete |
◆ Output() [4/4]
| jlm::rvsdg::Output::Output |
( |
Output && |
| ) |
|
|
delete |
◆ add_user()
◆ debug_string()
| std::string jlm::rvsdg::Output::debug_string |
( |
| ) |
const |
|
virtual |
◆ divert_users()
◆ divertUsersWhere()
template<typename F >
| size_t jlm::rvsdg::Output::divertUsersWhere |
( |
Output & |
newOrigin, |
|
|
const F & |
match |
|
) |
| |
|
inline |
Divert all users of the output that satisfy the predicate match.
- Template Parameters
-
| F | A functor with the signature (const rvsdg::Input &) -> bool |
- Parameters
-
| newOrigin | The new origin of each user that satisfies match. |
| match | An instance of F, to be invoked on each user |
- Returns
- The number of diverted users.
Definition at line 321 of file node.hpp.
◆ GetOwner()
| std::variant<Node *, Region *> jlm::rvsdg::Output::GetOwner |
( |
| ) |
const |
|
inlinenoexcept |
◆ index()
| size_t jlm::rvsdg::Output::index |
( |
| ) |
const |
|
inlinenoexcept |
◆ IsDead()
| bool jlm::rvsdg::Output::IsDead |
( |
| ) |
const |
|
inlinenoexcept |
Determines whether the output is dead.
An output is considered dead when it has no users.
- Returns
- True, if the output is dead, otherwise false.
- See also
- nusers()
Definition at line 295 of file node.hpp.
◆ nusers()
| size_t jlm::rvsdg::Output::nusers |
( |
| ) |
const |
|
inlinenoexcept |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ region()
◆ remove_user()
◆ SingleUser()
- Returns
- The first and only user of the output.
- Precondition
- The output has only a single user.
Definition at line 347 of file node.hpp.
◆ Type()
| const std::shared_ptr<const rvsdg::Type>& jlm::rvsdg::Output::Type |
( |
| ) |
const |
|
inlinenoexcept |
◆ Users() [1/2]
◆ Users() [2/2]
◆ Node
◆ Region
◆ index_
| size_t jlm::rvsdg::Output::index_ |
|
private |
◆ Input
| friend jlm::rvsdg::Output::Input |
|
private |
◆ NumUsers_
| std::size_t jlm::rvsdg::Output::NumUsers_ = 0 |
|
private |
◆ Owner_
| std::variant<Node *, Region *> jlm::rvsdg::Output::Owner_ |
|
private |
◆ Type_
| std::shared_ptr<const rvsdg::Type> jlm::rvsdg::Output::Type_ |
|
private |
◆ Users_
The documentation for this class was generated from the following files: