GTIRB  v2.2.0
GrammaTech Intermediate Representation for Binaries: C++ API
Public Member Functions | Static Public Member Functions | Friends | List of all members
gtirb::Node Class Reference

Represents the base of the Node class hierarchy. More...

#include <Node.hpp>

Inheritance diagram for gtirb::Node:
Inheritance graph
[legend]

Public Member Functions

 Node (const Node &)=delete
 Copying Nodes is explicitly disabled. More...
 
 Node (Node &&)=delete
 Move-constructing Nodes is explicitly disabled. More...
 
 ~Node () noexcept
 Cleans up resources no longer needed by the Node object. More...
 
const UUIDgetUUID () const
 Get the Universally Unique ID (UUID) for this. More...
 
Nodeoperator= (const Node &)=delete
 Copying Nodes is explicilty disabled. More...
 
Nodeoperator= (Node &&)=delete
 Move-assigning Nodes is explicilty disabled. More...
 

Static Public Member Functions

static NodeCreate (Context &C)
 Create a Node object in its default state. More...
 
static const NodegetByUUID (const Context &C, const UUID &Uuid)
 Retrieve a node by its UUID. More...
 
static NodegetByUUID (Context &C, const UUID &Uuid)
 Retrieve a node by its UUID. More...
 

Friends

class Context
 

Detailed Description

Represents the base of the Node class hierarchy.

Objects of Node types can be converted into more specific types by using the casting machinery from Casting.hpp. You can use static_cast<>() and reinterpret_cast<>(), but cast<>() and dyn_cast<>() are safer alternatives. You cannot use dynamic_cast<> to cast Node objects.

Constructor & Destructor Documentation

◆ Node() [1/2]

gtirb::Node::Node ( const Node )
delete

Copying Nodes is explicitly disabled.

◆ Node() [2/2]

gtirb::Node::Node ( Node &&  )
delete

Move-constructing Nodes is explicitly disabled.

◆ ~Node()

gtirb::Node::~Node ( )
noexcept

Cleans up resources no longer needed by the Node object.

Member Function Documentation

◆ Create()

static Node* gtirb::Node::Create ( Context C)
inlinestatic

Create a Node object in its default state.

Parameters
CThe Context in which this object will be held.
Returns
The newly created object.

◆ getByUUID() [1/2]

static const Node* gtirb::Node::getByUUID ( const Context C,
const UUID Uuid 
)
inlinestatic

Retrieve a node by its UUID.

Returns
The Node with the given UUID, or nullptr if none exists.

◆ getByUUID() [2/2]

static Node* gtirb::Node::getByUUID ( Context C,
const UUID Uuid 
)
inlinestatic

Retrieve a node by its UUID.

Returns
The Node with the given UUID, or nullptr if none exists.

◆ getUUID()

const UUID& gtirb::Node::getUUID ( ) const
inline

Get the Universally Unique ID (UUID) for this.

Returns
The UUID.

◆ operator=() [1/2]

Node& gtirb::Node::operator= ( const Node )
delete

Copying Nodes is explicilty disabled.

◆ operator=() [2/2]

Node& gtirb::Node::operator= ( Node &&  )
delete

Move-assigning Nodes is explicilty disabled.

Friends And Related Function Documentation

◆ Context

friend class Context
friend

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