Go to the source code of this file.
Namespaces | |
namespace | lshkit |
Classes | |
class | lshkit::Tail< LSH > |
The modulo operation on hash values. More... | |
struct | lshkit::Tail< LSH >::Parameter |
class | lshkit::FixedTail< LSH, range > |
The modulo operation with fixed divisor. More... | |
struct | lshkit::FixedTail< LSH, range >::Parameter |
class | lshkit::LSB< LSH > |
Take the LSB of the hash value. More... | |
struct | lshkit::LSB< LSH >::Parameter |
class | lshkit::DeltaLSB< LSH > |
The DeltaLSH version of LSB.. More... | |
struct | lshkit::DeltaLSB< LSH >::Parameter |
class | lshkit::Repeat< LSH > |
Concatenation of a number of LSHes. More... | |
struct | lshkit::Repeat< LSH >::Parameter |
class | lshkit::RepeatHash< LSH > |
Apply a random hash to the concatenation a number of hash values. More... | |
struct | lshkit::RepeatHash< LSH >::Parameter |
class | lshkit::Xor< LSH > |
XOR a number of 1-bit LSHes. More... | |
struct | lshkit::Xor< LSH >::Parameter |
class | lshkit::DeltaXor< LSH > |
DeltaLSH version of XOR. More... | |
struct | lshkit::DeltaXor< LSH >::Parameter |
LSH composition is to use an existing LSH class as building block to generate a new class of LSH.
All template classes in this header are defined in a very similar fashion:
template <typename LSH> // base LSH is given as a template parameter class SomeDerivedLSH { public: typedef LSH Super; // the base LSH is defined to be Super. typedef ... Domain; struct Parameter: public Super::Parameter { ... // all parameters to the base LSH are inherited. }; ... };