STLdoc
STLdocumentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
GCC4
inc
bits
hash_bytes.h
Go to the documentation of this file.
1
// Declarations for hash functions. -*- C++ -*-
2
3
// Copyright (C) 2010-2013 Free Software Foundation, Inc.
4
//
5
// This file is part of the GNU ISO C++ Library. This library is free
6
// software; you can redistribute it and/or modify it under the
7
// terms of the GNU General Public License as published by the
8
// Free Software Foundation; either version 3, or (at your option)
9
// any later version.
10
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
// GNU General Public License for more details.
15
16
// Under Section 7 of GPL version 3, you are granted additional
17
// permissions described in the GCC Runtime Library Exception, version
18
// 3.1, as published by the Free Software Foundation.
19
20
// You should have received a copy of the GNU General Public License and
21
// a copy of the GCC Runtime Library Exception along with this program;
22
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
23
// <http://www.gnu.org/licenses/>.
24
30
#ifndef _HASH_BYTES_H
31
#define _HASH_BYTES_H 1
32
33
#pragma GCC system_header
34
35
#include <bits/c++config.h>
36
37
namespace
std
38
{
39
_GLIBCXX_BEGIN_NAMESPACE_VERSION
40
41
// Hash function implementation for the nontrivial specialization.
42
// All of them are based on a primitive that hashes a pointer to a
43
// byte array. The actual hash algorithm is not guaranteed to stay
44
// the same from release to release -- it may be updated or tuned to
45
// improve hash quality or speed.
46
size_t
47
_Hash_bytes(
const
void
* __ptr,
size_t
__len,
size_t
__seed);
48
49
// A similar hash primitive, using the FNV hash algorithm. This
50
// algorithm is guaranteed to stay the same from release to release.
51
// (although it might not produce the same values on different
52
// machines.)
53
size_t
54
_Fnv_hash_bytes(
const
void
* __ptr,
size_t
__len,
size_t
__seed);
55
56
_GLIBCXX_END_NAMESPACE_VERSION
57
}
// namespace
58
59
#endif
Generated on Sat Jul 22 2017 14:40:00 for STLdoc by
1.8.6