Enzo
Loading...
Searching...
No Matches
enzo::nt::NodeTypeTable Class Reference

The sole owner of every node type the application knows about. More...

#include <NodeTypeTable.h>

Static Public Member Functions

static const NodeType & addNodeType (NodeType nodeType)
 Takes ownership of a node type and returns the stored copy.
 
static const NodeType * getNodeType (const std::string &fullName)
 Returns the type registered under a full name, such as "enzo::grid".
 
static const NodeType & requireNodeType (const std::string &fullName)
 Returns the type registered under a full name, for callers that cannot go on without it.
 
static const std::deque< NodeType > & getData ()
 Returns every registered type, in the order they were added.
 
static const NodeAlias & addNodeAlias (NodeAlias nodeAlias)
 Takes ownership of an alias and returns the stored copy.
 
static const NodeAlias * getNodeAlias (const std::string &fullName)
 Returns the alias registered under a full name, such as "enzo::mountain".
 
static const std::deque< NodeAlias > & getNodeAliases ()
 Returns every registered alias, in the order they were added.
 

Detailed Description

The sole owner of every node type the application knows about.

The nt::NodeLoader fills the table at startup and nodes hold references into it, so a type exists once no matter how many nodes are built from it. Entries are never removed, which is what keeps those references valid.

Member Function Documentation

◆ addNodeAlias()

const NodeAlias & enzo::nt::NodeTypeTable::addNodeAlias ( NodeAlias nodeAlias)
static

Takes ownership of an alias and returns the stored copy.

Exceptions
std::runtime_errorwhen a type or another alias already carries its full name.

◆ getNodeAlias()

const NodeAlias * enzo::nt::NodeTypeTable::getNodeAlias ( const std::string & fullName)
static

Returns the alias registered under a full name, such as "enzo::mountain".

Returns
The alias, or nullptr when nothing carries that name.

◆ getNodeType()

const NodeType * enzo::nt::NodeTypeTable::getNodeType ( const std::string & fullName)
static

Returns the type registered under a full name, such as "enzo::grid".

Returns
The type, or nullptr when nothing carries that name.

◆ requireNodeType()

const NodeType & enzo::nt::NodeTypeTable::requireNodeType ( const std::string & fullName)
static

Returns the type registered under a full name, for callers that cannot go on without it.

Exceptions
std::runtime_errorwhen nothing carries that name.

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