BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Base class for all factories. More...
Public Types | |
typedef std::function< AbstractProduct *()> | CreateItemCallback |
function which will be used to create object of AbstractProduct base type | |
typedef std::map< Key, CreateItemCallback > | CallbackMap_t |
map for correspondance between object identifier and object creation function | |
Public Member Functions | |
AbstractProduct * | createItem (const Key &item_key) const |
Creates object by calling creation function corresponded to given identifier. | |
std::unique_ptr< AbstractProduct > | createItemPtr (const Key &item_key) const |
bool | registerItem (const Key &item_key, CreateItemCallback CreateFn) |
Registers object's creation function. | |
bool | contains (const Key &item_key) const |
size_t | size () const |
Returns number of registered objects. | |
Protected Attributes | |
CallbackMap_t | m_callbacks |
map of correspondence of objectsId and creation functions | |
Base class for all factories.
Definition at line 28 of file IFactory.h.