20#ifndef __stir_RegisteredObject_H__
21#define __stir_RegisteredObject_H__
94template <
typename Root>
98 inline RegisteredObject();
124 typedef Root* (*RootFactory)(std::istream*);
Declaration of class stir::FactoryRegistry.
Declaration of class stir::RegisteredObjectBase.
Inline implementations for class stir::RegisteredObject.
This class can be used to store 'factories' and their corresponding keys. It is essentially a map,...
Definition FactoryRegistry.h:53
Base class for all classes that can parse .par files (and more?)The only reason that this class exist...
Definition RegisteredObjectBase.h:41
static Root * ask_type_and_parameters()
ask the user for the type, and then calls read_registered_object(0, type)
Definition RegisteredObject.inl:49
static RegistryType & registry()
Static function returning the registry.
Definition RegisteredObject.inl:33
static void list_registered_names(std::ostream &stream)
List all possible registered names to the stream.
Definition RegisteredObject.inl:59
static Root * read_registered_object(std::istream *in, const std::string ®istered_name)
Construct a new object (of a type derived from Root, its actual type determined by the registered_nam...
Definition RegisteredObject.inl:41
FactoryRegistry< std::string, RootFactory, interfile_less > RegistryType
The type of the registry.
Definition RegisteredObject.h:126
Functions useful for manipulating Interfile keywords.