FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
Public Types | Static Public Member Functions | List of all members
fast::ProcessObjectRegistry Class Reference

#include <ProcessObjectRegistry.hpp>

Public Types

using ctor_t = std::function< std::shared_ptr< ProcessObject >()>
 
using map_t = std::unordered_map< std::string, ctor_t >
 

Static Public Member Functions

static std::shared_ptr< ProcessObjectcreate (const std::string &class_name)
 
static bool registerPO (const std::string &class_name, const ctor_t &ctor)
 
static bool isPORegistered (const std::string &class_name)
 
static void unregisterPO (const std::string &class_name)
 

Detailed Description

This class implements the C++ registry pattern which is used to keep a registry of process objects so that we can instantiate process objects using only a string of its name.

Member Typedef Documentation

◆ ctor_t

using fast::ProcessObjectRegistry::ctor_t = std::function<std::shared_ptr<ProcessObject>()>

◆ map_t

using fast::ProcessObjectRegistry::map_t = std::unordered_map<std::string, ctor_t>

Member Function Documentation

◆ create()

static std::shared_ptr<ProcessObject> fast::ProcessObjectRegistry::create ( const std::string &  class_name)
inlinestatic

◆ isPORegistered()

static bool fast::ProcessObjectRegistry::isPORegistered ( const std::string &  class_name)
inlinestatic

◆ registerPO()

static bool fast::ProcessObjectRegistry::registerPO ( const std::string &  class_name,
const ctor_t ctor 
)
inlinestatic

◆ unregisterPO()

static void fast::ProcessObjectRegistry::unregisterPO ( const std::string &  class_name)
inlinestatic

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