ROSE
0.11.96.11
|
HasherFactory is a singleton that creates and returns Hashers by name.
Hasher factory contains a map of names to HasherMaker . When createHasher is passed a name, it will attempt to create the correct Hasher and pass it back.
Users can add Hashers to HasherFactory using @HasherMaker. HasherFactory is created when Instance is first called. Generally this is done at module initialization time.
Definition at line 260 of file Combinatorics.h.
#include <Combinatorics.h>
Public Member Functions | |
void | registerMaker (const std::string &hashType, IHasherMaker *createHasherPtr) |
Adds a new @HasherMaker to the HasherFactory. More... | |
boost::shared_ptr< Hasher > | createHasher (const std::string &hashType) const |
Creates a registered Hasher by type from the map. More... | |
Static Public Member Functions | |
static HasherFactory & | Instance () |
Returns a reference to the HasherFactory singleton. More... | |
|
static |
Returns a reference to the HasherFactory singleton.
Creates a HasherFactory if necessary
void Rose::Combinatorics::Hasher::HasherFactory::registerMaker | ( | const std::string & | hashType, |
IHasherMaker * | createHasherPtr | ||
) |
Adds a new @HasherMaker to the HasherFactory.
Ussually called by the HasherMaker constructor
boost::shared_ptr<Hasher> Rose::Combinatorics::Hasher::HasherFactory::createHasher | ( | const std::string & | hashType | ) | const |