template<typename Key, typename Adaptator = AdaptatorDefault<Key>, class Progress = tools::misc::impl::ProgressNone>
class gatb::core::tools::collections::impl::BooPHF< Key, Adaptator, Progress >
Minimal Perfect Hash Function.
This is a specialization of the MPHF<Key,Adaptor,exist> class for exist=true. It uses BooPHF for the implementation and is most a wrapper between BooPHF and GATB-CORE concepts.Perfect minimal hash function for a given kind of key
This class provides an interface for getting hash codes for some key type T, which can be done through the operator() method
This class is not a classic hash feature because it hashes only a given set of T items (provided as a T iterator) through its 'build' method. Once building is done, hash code can be accessed through the operator()
We propose here a default implementation that doesn't do much. The idea behind is that we can specialize the class for the 'exist' template argument in order to provide a true implementation (through EMPHF library for instance). If such an implementation exists, the constant 'enabled' will be true, which allows to test it in the code (it is a little bit better than using compilation flag).