Enzo
Loading...
Searching...
No Matches
OperatorTable.h
1#pragma once
2
3#include "Engine/Network/GeometryOpDef.h"
4#include "Engine/Network/NetworkManager.h"
5#include "Engine/Network/OpInfo.h"
6#include "Engine/Parameter/Template.h"
7#include <boost/config.hpp>
8#include <boost/filesystem.hpp>
9
10namespace enzo::op {
11
12class BOOST_SYMBOL_EXPORT OperatorTable
13{
14 public:
15 static void addOperator(enzo::op::OpInfo info);
16 static nt::opConstructor getOpConstructor(std::string name);
17 static const std::optional<op::OpInfo> getOpInfo(std::string name);
18 static std::vector<OpInfo> getData();
19 static boost::filesystem::path findPlugin(const std::string& undecoratedLibName);
20 // TODO: move to better spot (maybe engine class)
21 static void initPlugins();
22
23 private:
24 static std::vector<OpInfo> opInfoStore_;
25};
26using addOperatorPtr = void (*)(OpInfo);
27} // namespace enzo::op
Definition OperatorTable.h:13
Definition OpInfo.h:19