28 #ifndef itkObjectFactoryBase_h
29 #define itkObjectFactoryBase_h
60 struct ObjectFactoryBasePrivate;
81 CreateInstance(
const char * itkclassname);
87 static std::list<LightObject::Pointer>
88 CreateAllInstance(
const char * itkclassname);
106 #if !defined(ITK_LEGACY_REMOVE)
111 static constexpr
InsertionPositionEnum INSERT_AT_POSITION = InsertionPositionEnum::INSERT_AT_POSITION;
135 size_t position = 0);
144 UnRegisterAllFactories();
148 static std::list<ObjectFactoryBase *>
149 GetRegisteredFactories();
157 GetITKSourceVersion()
const = 0;
165 SetStrictVersionChecking(
bool);
167 StrictVersionCheckingOn();
169 StrictVersionCheckingOff();
171 GetStrictVersionChecking();
176 GetDescription()
const = 0;
179 virtual std::list<std::string>
180 GetClassOverrideNames();
183 virtual std::list<std::string>
184 GetClassOverrideWithNames();
187 virtual std::list<std::string>
188 GetClassOverrideDescriptions();
191 virtual std::list<bool>
196 SetEnableFlag(
bool flag,
const char * className,
const char * subclassName);
200 GetEnableFlag(
const char * className,
const char * subclassName);
206 Disable(
const char * className);
226 PrintSelf(std::ostream & os,
Indent indent)
const override;
230 RegisterOverride(
const char * classOverride,
231 const char * subclass,
232 const char * description,
240 CreateObject(
const char * itkclassname);
245 virtual std::list<LightObject::Pointer>
246 CreateAllObject(
const char * itkclassname);
255 SynchronizeObjectFactoryBase(
void * objectFactoryBasePrivate);
263 InitializeFactoryList();
276 LoadDynamicFactories();
280 LoadLibrariesInPath(
const char *);