Inviwo  0.9.10.1
Inviwo documentation
inviwo::StandardFactory< T, M, K, Args > Class Template Reference

#include <factory.h>

+ Inheritance diagram for inviwo::StandardFactory< T, M, K, Args >:

Public Types

using Key = typename std::remove_cv< typename std::remove_reference< K >::type >::type
 
using Map = std::unordered_map< Key, M * >
 

Public Member Functions

virtual bool registerObject (M *obj)
 
virtual bool unRegisterObject (M *obj)
 
virtual std::unique_ptr< T > create (K key, Args... args) const override
 
virtual bool hasKey (K key) const override
 
virtual std::vector< Key > getKeys () const
 
- Public Member Functions inherited from inviwo::FactoryBase
 FactoryBase (const FactoryBase &)=delete
 
FactoryBaseoperator= (const FactoryBase &)=delete
 
 FactoryBase (FactoryBase &&)=default
 
FactoryBaseoperator= (FactoryBase &&)=default
 
- Public Member Functions inherited from inviwo::Observable< FactoryObserver< M > >
 Observable (const Observable< FactoryObserver< M > > &other)
 
 Observable (Observable< FactoryObserver< M > > &&other)
 
Observable< FactoryObserver< M > > & operator= (const Observable< FactoryObserver< M > > &other)
 
Observable< FactoryObserver< M > > & operator= (Observable< FactoryObserver< M > > &&other)
 
void addObserver (FactoryObserver< M > *observer)
 
void removeObserver (FactoryObserver< M > *observer)
 
virtual void startBlockingNotifications () override final
 
virtual void stopBlockingNotifications () override final
 

Protected Attributes

Map map_
 

Additional Inherited Members

- Protected Member Functions inherited from inviwo::FactoryObservable< M >
void notifyObserversOnRegister (M *p)
 
void notifyObserversOnUnRegister (M *p)
 
- Protected Member Functions inherited from inviwo::Observable< FactoryObserver< M > >
void forEachObserver (C callback)
 
- Protected Member Functions inherited from inviwo::ObservableInterface
void addObservationHelper (Observer *observer)
 
void removeObservationHelper (Observer *observer)
 

Detailed Description

template<typename T, typename M, typename K = const std::string&, typename... Args>
class inviwo::StandardFactory< T, M, K, Args >

T Models the object created M Models a object with a function create(K key, Args...) that can create objects of type T with constructor T(Args...) M would usually be a "factory object" type K Models a key used to look up T


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