HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
hash.h
Go to the documentation of this file.
1
//
2
// Copyright 2016 Pixar
3
//
4
// Licensed under the Apache License, Version 2.0 (the "Apache License")
5
// with the following modification; you may not use this file except in
6
// compliance with the Apache License and the following modification to it:
7
// Section 6. Trademarks. is deleted and replaced with:
8
//
9
// 6. Trademarks. This License does not grant permission to use the trade
10
// names, trademarks, service marks, or product names of the Licensor
11
// and its affiliates, except as required to comply with Section 4(c) of
12
// the License and to reproduce the content of the NOTICE file.
13
//
14
// You may obtain a copy of the Apache License at
15
//
16
// http://www.apache.org/licenses/LICENSE-2.0
17
//
18
// Unless required by applicable law or agreed to in writing, software
19
// distributed under the Apache License with the above modification is
20
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
// KIND, either express or implied. See the Apache License for the specific
22
// language governing permissions and limitations under the Apache License.
23
//
24
#ifndef PXR_BASE_ARCH_HASH_H
25
#define PXR_BASE_ARCH_HASH_H
26
27
/// \file arch/hash.h
28
/// Hash functions.
29
30
#include "
pxr/pxr.h
"
31
#include "
pxr/base/arch/api.h
"
32
#include "
pxr/base/arch/inttypes.h
"
33
34
PXR_NAMESPACE_OPEN_SCOPE
35
36
/// Hash \a len bytes of \a data.
37
///
38
/// To compute a hash value for data that is not contiguous in memory, iterate
39
/// over all the contiguous blocks of memory and accumulate the hash value by
40
/// passing it on as \p seed. Note that this is *not* equivalent to hashing the
41
/// contiguous pieces as a whole. Support for that may be added in future.
42
///
43
ARCH_API
uint32_t
ArchHash
(
const
char
*
data
,
size_t
len);
44
/// \overload
45
ARCH_API
uint32_t
ArchHash
(
const
char
*
data
,
size_t
len, uint32_t seed);
46
47
/// Hash \a len bytes of \a data.
48
///
49
/// To compute a hash value for data that is not contiguous in memory, iterate
50
/// over all the contiguous blocks of memory and accumulate the hash value by
51
/// passing it on as \p seed. Note that this is *not* equivalent to hashing the
52
/// contiguous pieces as a whole. Support for that may be added in future.
53
///
54
ARCH_API
uint64_t
ArchHash64
(
const
char
*
data
,
size_t
len);
55
/// \overload
56
ARCH_API
uint64_t
ArchHash64
(
const
char
*
data
,
size_t
len, uint64_t seed);
57
58
PXR_NAMESPACE_CLOSE_SCOPE
59
60
#endif // PXR_BASE_ARCH_HASH_H
pxr.h
ArchHash64
ARCH_API uint64_t ArchHash64(const char *data, size_t len)
inttypes.h
PXR_NAMESPACE_OPEN_SCOPE
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition:
path.h:1432
api.h
PXR_NAMESPACE_CLOSE_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition:
pxr.h:91
ARCH_API
#define ARCH_API
Definition:
api.h:40
ArchHash
PXR_NAMESPACE_OPEN_SCOPE ARCH_API uint32_t ArchHash(const char *data, size_t len)
data
Definition:
format.h:895
pxr
base
arch
hash.h
Generated on Sun Nov 24 2024 02:44:47 for HDK by
1.8.6