|
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 |
1.8.17