include/lshkit/composite.h File Reference

Defining a bunch of LSH compositions. More...

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


Detailed Description

Defining a bunch of LSH compositions.

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.
      };
      ...
 };

Get LSHKIT at SourceForge.net. Fast, secure and Free Open Source software downloads doxygen