10#include "MantidKernel/DllConfig.h"
26 std::unique_ptr<Product>
create(
const Argument &argument)
const {
28 return std::unique_ptr<Product>(this->
createRaw(argument));
33 throw std::invalid_argument(
"No successor MDUnitFactory");
40 virtual Product *
createRaw(
const Argument &argument)
const = 0;
ChainableFactory : Chain of Responsiblity generic factory.
virtual bool canInterpret(const Argument &unitString) const =0
Indicate an ability to intepret the string.
virtual Product * createRaw(const Argument &argument) const =0
Create the product.
std::unique_ptr< Product > create(const Argument &argument) const
Factory method wrapper.
bool hasSuccessor() const
Helper class which provides the Collimation Length for SANS instruments.