ITK
6.0.0
Insight Toolkit
|
#include <itkObjectFactory.h>
Create instances of a class.
ObjectFactory is a helper class used to created instances of a class. Object factories are used for instantiation because they allow run-time replacement of a class with a user-supplied version. For example, if you wished to replace an algorithm with your own custom version, or with a hardware-accelerated version, ObjectFactory can be used to do this.
This implementation of the object factory is templated and uses RTTI (Run-Time Type Information) to create the name of the class it is to instantiate. (The name may include template type parameters, depending on the class definition.)
Definition at line 55 of file itkObjectFactory.h.
Static Public Member Functions | |
static T::Pointer | Create () |
Static Public Member Functions inherited from itk::ObjectFactoryBase | |
static std::list< LightObject::Pointer > | CreateAllInstance (const char *itkclassname) |
static LightObject::Pointer | CreateInstance (const char *itkclassname) |
static std::list< ObjectFactoryBase * > | GetRegisteredFactories () |
static void | Initialize () |
static void | RegisterFactoryInternal (ObjectFactoryBase *) |
template<typename TFactory > | |
static void | RegisterInternalFactoryOnce () |
static void | ReHash () |
static void | UnRegisterAllFactories () |
static void | UnRegisterFactory (ObjectFactoryBase *) |
static bool | RegisterFactory (ObjectFactoryBase *, InsertionPositionEnum where=InsertionPositionEnum::INSERT_AT_BACK, vcl_size_t position=0) |
static void | SetStrictVersionChecking (bool) |
static void | StrictVersionCheckingOn () |
static void | StrictVersionCheckingOff () |
static bool | GetStrictVersionChecking () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Additional Inherited Members | |
Public Types inherited from itk::ObjectFactoryBase | |
using | ConstPointer = SmartPointer< const Self > |
using | InsertionPositionEnum = ObjectFactoryEnums::InsertionPosition |
using | Pointer = SmartPointer< Self > |
using | Self = ObjectFactoryBase |
using | Superclass = Object |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Public Member Functions inherited from itk::ObjectFactoryBase | |
virtual void | Disable (const char *className) |
virtual std::list< std::string > | GetClassOverrideDescriptions () |
virtual std::list< std::string > | GetClassOverrideNames () |
virtual std::list< std::string > | GetClassOverrideWithNames () |
virtual const char * | GetDescription () const =0 |
virtual bool | GetEnableFlag (const char *className, const char *subclassName) |
virtual std::list< bool > | GetEnableFlags () |
virtual const char * | GetITKSourceVersion () const =0 |
const char * | GetLibraryPath () |
const char * | GetNameOfClass () const override |
virtual void | SetEnableFlag (bool flag, const char *className, const char *subclassName) |
Public Member Functions inherited from itk::Object | |
unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
LightObject::Pointer | CreateAnother () const override |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
const char * | GetNameOfClass () const override |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) const |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexcept override |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
Public Member Functions inherited from itk::LightObject | |
Pointer | Clone () const |
virtual Pointer | CreateAnother () const |
virtual void | Delete () |
virtual const char * | GetNameOfClass () const |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | SetReferenceCount (int) |
virtual void | UnRegister () const noexcept |
Protected Member Functions inherited from itk::ObjectFactoryBase | |
virtual std::list< LightObject::Pointer > | CreateAllObject (const char *itkclassname) |
virtual LightObject::Pointer | CreateObject (const char *itkclassname) |
ObjectFactoryBase () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
void | RegisterOverride (const char *classOverride, const char *subclass, const char *description, bool enableFlag, CreateObjectFunctionBase *createFunction) |
~ObjectFactoryBase () override | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
|
inlinestatic |
Definition at line 59 of file itkObjectFactory.h.
References itk::ObjectFactoryBase::CreateInstance(), and itk::SmartPointer< TObjectType >::GetPointer().
Referenced by itk::ScanlineFilterCommon< TInputImage, TOutputImage >::New().