ModErn Text Analysis
META Enumerates Textual Applications
Classes | Namespaces | Functions
hash.h File Reference
#include <array>
#include <cassert>
#include <cstdint>
#include <random>
#include "hashes/farm_hash.h"
#include "hashes/metro_hash.h"
#include "hashes/murmur_hash.h"
#include "meta/config.h"

Go to the source code of this file.

Classes

struct  meta::hashing::default_hasher< Size >
 
struct  meta::hashing::default_hasher< 4 >
 
struct  meta::hashing::default_hasher< 8 >
 
struct  meta::hashing::detail::static_and<... >
 
struct  meta::hashing::detail::static_and< B, Bs... >
 
struct  meta::hashing::detail::static_and<>
 
struct  meta::hashing::detail::static_add<... >
 
struct  meta::hashing::detail::static_add< Size, Sizes... >
 
struct  meta::hashing::detail::static_add<>
 
struct  meta::hashing::is_contiguously_hashable< T >
 
struct  meta::hashing::is_contiguously_hashable< const T >
 
struct  meta::hashing::is_contiguously_hashable< const volatile T >
 
struct  meta::hashing::is_contiguously_hashable< T[N]>
 
struct  meta::hashing::is_contiguously_hashable< std::pair< T, U > >
 
struct  meta::hashing::is_contiguously_hashable< std::tuple< Ts... > >
 
struct  meta::hashing::is_contiguously_hashable< std::array< T, N > >
 
struct  meta::hashing::detail::sequence<... >
 
struct  meta::hashing::detail::generate< N, S >
 
struct  meta::hashing::detail::generate< 0, S... >
 
class  meta::hashing::seeded_hash< HashAlgorithm, SeedType >
 A generic, manually seeded hash function. More...
 
struct  meta::hashing::hash< HashAlgorithm >
 A generic, randomly seeded hash function. More...
 

Namespaces

 meta
 The ModErn Text Analysis toolkit is a suite of natural language processing, classification, information retrieval, data mining, and other applications of text processing.
 

Functions

template<class HashAlgorithm , class T >
std::enable_if< is_contiguously_hashable< T >::value >::type meta::hashing::hash_append (HashAlgorithm &h, const T &t)
 
template<class HashAlgorithm , class T >
std::enable_if< std::is_floating_point< T >::value >::type meta::hashing::hash_append (HashAlgorithm &h, T t)
 
template<class HashAlgorithm >
void meta::hashing::hash_append (HashAlgorithm &h, std::nullptr_t)
 
template<class HashAlgorithm , class T , std::size_t N>
std::enable_if<!is_contiguously_hashable< T >::value >::type meta::hashing::hash_append (HashAlgorithm &h, T(&a)[N])
 
template<class HashAlgorithm , class T , class U >
std::enable_if<!is_contiguously_hashable< std::pair< T, U > >::value >::type meta::hashing::hash_append (HashAlgorithm &h, const std::pair< T, U > &p)
 
template<class HashAlgorithm , class... Ts>
std::enable_if<!is_contiguously_hashable< std::tuple< Ts... > >::value >::type meta::hashing::hash_append (HashAlgorithm &h, const std::tuple< Ts... > &t)
 
template<class HashAlgorithm , class T , std::size_t N>
std::enable_if<!is_contiguously_hashable< std::array< T, N > >::value >::type meta::hashing::hash_append (HashAlgorithm &h, const std::array< T, N > &a)
 
template<class HashAlgorithm , class Char , class Traits , class Alloc >
std::enable_if< is_contiguously_hashable< Char >::value >::type meta::hashing::hash_append (HashAlgorithm &h, const std::basic_string< Char, Traits, Alloc > &s)
 
template<class HashAlgorithm , class Char , class Traits , class Alloc >
std::enable_if<!is_contiguously_hashable< Char >::value >::type meta::hashing::hash_append (HashAlgorithm &h, const std::basic_string< Char, Traits, Alloc > &s)
 
template<class HashAlgorithm , class T1 , class T2 , class... Ts>
void meta::hashing::hash_append (HashAlgorithm &h, const T1 &first, const T2 &second, const Ts &... ts)
 
template<class HashAlgorithm , class T , class Alloc >
std::enable_if< is_contiguously_hashable< T >::value >::type meta::hashing::hash_append (HashAlgorithm &h, const std::vector< T, Alloc > &v)
 
template<class HashAlgorithm , class T , class Alloc >
std::enable_if<!is_contiguously_hashable< T >::value >::type meta::hashing::hash_append (HashAlgorithm &h, const std::vector< T, Alloc > &v)
 
template<class HashAlgorithm , class... Ts, std::size_t... S>
void meta::hashing::detail::hash_tuple (HashAlgorithm &h, const std::tuple< Ts... > &t, sequence< S... >)
 
uint64_t meta::hashing::detail::get_process_seed ()
 

Detailed Description

Author
Chase Geigle

All files in META are dual-licensed under the MIT and NCSA licenses. For more details, consult the file LICENSE.mit and LICENSE.ncsa in the root of the project.