Mantid
|
ChainableFactory : Chain of Responsiblity generic factory. More...
#include <ChainableFactory.h>
Public Member Functions | |
std::unique_ptr< Product > | create (const Argument &argument) const |
Factory method wrapper. More... | |
Public Member Functions inherited from Mantid::Kernel::Chainable< Factory > | |
bool | hasSuccessor () const |
Chainable & | setSuccessor (T &&successor) |
Set the successor. More... | |
virtual | ~Chainable ()=0 |
Keep our destructor pure virtual, but require an implementation. More... | |
Private Member Functions | |
virtual bool | canInterpret (const Argument &unitString) const =0 |
Indicate an ability to intepret the string. More... | |
virtual Product * | createRaw (const Argument &argument) const =0 |
Create the product. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Mantid::Kernel::Chainable< Factory > | |
virtual void | checkSuccessor () const |
Provide option for derived classes to check successor and throw if bad. More... | |
Protected Attributes inherited from Mantid::Kernel::Chainable< Factory > | |
std::unique_ptr< Factory > | m_successor |
Successor factory boost::optional<std::unique_ptr<ChainableType>> m_successor;. More... | |
ChainableFactory : Chain of Responsiblity generic factory.
Definition at line 20 of file ChainableFactory.h.
|
privatepure virtual |
Indicate an ability to intepret the string.
Implemented in Mantid::Geometry::GeneralFrameFactory, Mantid::Geometry::QLabFrameFactory, Mantid::Geometry::QSampleFrameFactory, Mantid::Geometry::HKLFrameFactory, Mantid::Geometry::UnknownFrameFactory, Mantid::Kernel::LabelUnitFactory, Mantid::Kernel::InverseAngstromsUnitFactory, Mantid::Kernel::ReciprocalLatticeUnitFactory, and Mantid::Kernel::MDUnitFactory.
|
inline |
Factory method wrapper.
Wraps results in smart pointer.
argument | : creational arguments |
Definition at line 27 of file ChainableFactory.h.
|
privatepure virtual |
Create the product.
Implemented in Mantid::Geometry::GeneralFrameFactory, Mantid::Geometry::QLabFrameFactory, Mantid::Geometry::QSampleFrameFactory, Mantid::Geometry::HKLFrameFactory, Mantid::Geometry::UnknownFrameFactory, Mantid::Kernel::LabelUnitFactory, Mantid::Kernel::InverseAngstromsUnitFactory, Mantid::Kernel::ReciprocalLatticeUnitFactory, and Mantid::Kernel::MDUnitFactory.