ROSE 0.11.145.147
|
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 323 of file Combinatorics.h.
#include <roseSupport/Combinatorics.h>
Public Member Functions | |
void | registerMaker (const std::string &hashType, IHasherMaker *createHasherPtr) |
Adds a new @HasherMaker to the HasherFactory. | |
std::shared_ptr< Hasher > | createHasher (const std::string &hashType) const |
Creates a registered Hasher by type from the map. | |
Static Public Member Functions | |
static HasherFactory & | Instance () |
Returns a reference to the HasherFactory singleton. | |
|
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
std::shared_ptr< Hasher > Rose::Combinatorics::Hasher::HasherFactory::createHasher | ( | const std::string & | hashType | ) | const |