HDK
|
#include "pxr/pxr.h"
#include "pxr/base/tf/tf.h"
#include "pxr/base/tf/api.h"
#include <cstring>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
Go to the source code of this file.
Classes | |
struct | Tf_SizedUnsignedInt< Size > |
struct | Tf_SizedUnsignedInt< 1 > |
struct | Tf_SizedUnsignedInt< 2 > |
struct | Tf_SizedUnsignedInt< 4 > |
struct | Tf_SizedUnsignedInt< 8 > |
struct | TfCStrHashWrapper |
class | Tf_HashStateAPI< Derived > |
class | Tf_HashState |
class | TfHash |
struct | TfHashCharPtr |
A hash function object that hashes the address of a char pointer. More... | |
struct | TfHashCString |
A hash function object that hashes null-terminated c-string content. More... | |
struct | TfEqualCString |
A function object that compares two c-strings for equality. More... | |
Functions | |
template<class HashState , class T > | |
PXR_NAMESPACE_OPEN_SCOPE std::enable_if_t < std::is_integral< T >::value > | TfHashAppend (HashState &h, T integral) |
template<class HashState , class Enum > | |
std::enable_if_t< std::is_enum < Enum >::value > | TfHashAppend (HashState &h, Enum e) |
template<class HashState , class T > | |
std::enable_if_t < std::is_floating_point< T > ::value > | TfHashAppend (HashState &h, T fp) |
template<class HashState , class T , class U > | |
void | TfHashAppend (HashState &h, std::pair< T, U > const &p) |
template<class HashState , class T > | |
void | TfHashAppend (HashState &h, std::vector< T > const &vec) |
template<class HashState > | |
void | TfHashAppend (HashState &h, const std::string &s) |
template<class HashState , class T > | |
void | TfHashAppend (HashState &h, const T *ptr) |
template<class HashState > | |
void | TfHashAppend (HashState &h, char const *ptr)=delete |
template<class HashState > | |
void | TfHashAppend (HashState &h, char *ptr)=delete |
TfCStrHashWrapper | TfHashAsCStr (char const *cstr) |
template<class HashState > | |
void | TfHashAppend (HashState &h, TfCStrHashWrapper hcstr) |
template<class HashState , class T > | |
auto | Tf_HashImpl (HashState &h, T &&obj, long) -> decltype(hash_value(std::forward< T >(obj)), void()) |
template<class HashState , class T > | |
auto | Tf_HashImpl (HashState &h, T &&obj, int) -> decltype(TfHashAppend(h, std::forward< T >(obj)), void()) |
|
inline |
|
inline |
PXR_NAMESPACE_OPEN_SCOPE std::enable_if_t<std::is_integral<T>::value> TfHashAppend | ( | HashState & | h, |
T | integral | ||
) |
std::enable_if_t<std::is_enum<Enum>::value> TfHashAppend | ( | HashState & | h, |
Enum | e | ||
) |
std::enable_if_t<std::is_floating_point<T>::value> TfHashAppend | ( | HashState & | h, |
T | fp | ||
) |
|
inline |
|
inlinedelete |
|
inline |
|
inline |
Indicate that a char pointer is intended to be hashed as a C-style null terminated string. Use this to wrap a char pointer in a HashState::Append() call when implementing a TfHashAppend overload.
This structure provides a lightweight view on the char pointer passed to its constructor. It does not copy the data or participate in its lifetime. The passed char pointer must remain valid as long as this struct is used.