generic_hash.h File Reference

Go to the source code of this file.

Classes

class  generic_hash_tags
struct  generic_hash_tags::generic_hash_tags::simple_tag
struct  generic_hash_tags::generic_hash_tags::js_tag
struct  generic_hash_tags::generic_hash_tags::pjw_tag
struct  generic_hash_tags::generic_hash_tags::elf_tag
struct  generic_hash_tags::generic_hash_tags::bkdr_tag
struct  generic_hash_tags::generic_hash_tags::sdbm_tag
struct  generic_hash_tags::generic_hash_tags::djb_tag
struct  generic_hash_tags::generic_hash_tags::dek_tag
class  simple_identity
class  simple_increment
class  generic_sequence_hash< Iterator, HashType, AlgTag, BitMask >
class  generic_hash< VectorType, HashType, AlgTag, BitMask >

Functions

template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function (Iterator start, Iterator finish, HashType sum, generic_hash_tags::simple_tag, UnaryOp op)
template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function (Iterator start, Iterator finish, HashType hash, generic_hash_tags::js_tag, UnaryOp op)
template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function (Iterator start, Iterator finish, HashType hash, generic_hash_tags::pjw_tag, UnaryOp op)
template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function (Iterator start, Iterator finish, HashType hash, generic_hash_tags::elf_tag, UnaryOp op)
template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function (Iterator start, Iterator finish, HashType hash, generic_hash_tags::bkdr_tag, UnaryOp op)
template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function (Iterator start, Iterator finish, HashType hash, generic_hash_tags::sdbm_tag, UnaryOp op)
template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function (Iterator start, Iterator finish, HashType hash, generic_hash_tags::djb_tag, UnaryOp op)
template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function (Iterator start, Iterator finish, HashType hash, generic_hash_tags::dek_tag, UnaryOp op)
template<class Iterator , class HashType , class HashTag >
HashType generic_hash_function (Iterator start, Iterator finish, HashType init, HashTag tag)


Detailed Description

Author:
Alexander Dreyer
Date:
2006-08-23
This file includes function and class templates defining various hash functions.

The implementation of the algorithms are based on the work of http://www.partow.net/programming/hashfunctions/ It's bases on CPL, so this file (only) may also be CPL. (Therefore do not use internal definitions here.)

Todo:
Check which algorithms are really useful for us, maybe these are public domain anyway.
Copyright:
(c) 2006 by The PolyBoRi Team

Function Documentation

template<class Iterator , class HashType , class HashTag >
HashType generic_hash_function ( Iterator  start,
Iterator  finish,
HashType  init,
HashTag  tag 
) [inline]

template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function ( Iterator  start,
Iterator  finish,
HashType  hash,
generic_hash_tags::dek_tag  ,
UnaryOp  op 
) [inline]

template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function ( Iterator  start,
Iterator  finish,
HashType  hash,
generic_hash_tags::djb_tag  ,
UnaryOp  op 
) [inline]

template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function ( Iterator  start,
Iterator  finish,
HashType  hash,
generic_hash_tags::sdbm_tag  ,
UnaryOp  op 
) [inline]

template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function ( Iterator  start,
Iterator  finish,
HashType  hash,
generic_hash_tags::bkdr_tag  ,
UnaryOp  op 
) [inline]

template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function ( Iterator  start,
Iterator  finish,
HashType  hash,
generic_hash_tags::elf_tag  ,
UnaryOp  op 
) [inline]

template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function ( Iterator  start,
Iterator  finish,
HashType  hash,
generic_hash_tags::pjw_tag  ,
UnaryOp  op 
) [inline]

template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function ( Iterator  start,
Iterator  finish,
HashType  hash,
generic_hash_tags::js_tag  ,
UnaryOp  op 
) [inline]

template<class Iterator , class HashType , class UnaryOp >
HashType generic_hash_function ( Iterator  start,
Iterator  finish,
HashType  sum,
generic_hash_tags::simple_tag  ,
UnaryOp  op 
) [inline]


Generated on Thu Mar 5 02:16:40 2009 for PolyBoRi by  doxygen 1.5.8