ROSE 0.11.145.275
|
Templated to create any Hasher and register it with HasherFactory.
HasherMaker makes the Hasher named by typename T
, and automatically registers itself with HasherFactory. If a user creates a new Hasher, In their implemntation file (.C) they should include a static variable declared and defined like this
The instantiation of this variable at module load time will call the HasherMaker constructor, which automatically registers it with the HasherFactory (and constructs the HasherFactory if necessary.)
Definition at line 283 of file Combinatorics.h.
#include <roseSupport/Combinatorics.h>
Public Member Functions | |
HasherMaker (const std::string &hashType) | |
Creates a HasherMaker and registers it with HasherFactory. | |
virtual std::shared_ptr< Hasher > | create () const |
Creates a Hasher. | |
|
inline |
Creates a HasherMaker and registers it with HasherFactory.
Make HasherMakers static variableso so this is run at module initialization time.
[in] | hashType | The name/key of this hasher in the HasherFactory. |
Definition at line 290 of file Combinatorics.h.
|
inlinevirtual |
Creates a Hasher.
The type of Hasher is determined by the typename T
and returns it as a shared_ptr
.
Implements Rose::Combinatorics::Hasher::IHasherMaker.
Definition at line 297 of file Combinatorics.h.