Enzo
Loading...
Searching...
No Matches
NodeTypeTable.h
1#pragma once
2
3#include "Engine/Network/NodeType.h"
4#include <boost/config.hpp>
5#include <deque>
6#include <string>
7
8namespace enzo::nt {
9
17class BOOST_SYMBOL_EXPORT NodeTypeTable
18{
19 public:
21 static const NodeType& addNodeType(NodeType nodeType);
22
25 static const NodeType* getNodeType(const std::string& fullName);
26
30 static const NodeType& requireNodeType(const std::string& fullName);
31
33 static const std::deque<NodeType>& getData();
34
35 private:
36 // A deque rather than a vector so growing the table never moves the types
37 // nodes hold references to.
38 static std::deque<NodeType> nodeTypeStore_;
39};
40
41} // namespace enzo::nt
The sole owner of every node type the application knows about.
Definition NodeTypeTable.h:18
Everything every node of one kind shares.
Definition NodeType.h:39