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 Sat Mar 29 2025 02:43:30 for HDK by
1.8.6