7 #ifndef PXR_EXEC_EF_VECTOR_KEY_H
8 #define PXR_EXEC_EF_VECTOR_KEY_H
63 virtual size_t CreateHash()
const = 0;
78 return !(*
this == rhs);
83 template <
class HashState>
85 h.Append(v->CreateHash());
92 return lhs->IsEqual(*rhs);
98 template <
typename T >
124 template <
typename T >
166 const VdfVector &rhsV = rhsDerived->_value;
173 if (a[i] != rhsA[i]) {
bool operator!=(const Ef_VectorKey &rhs) const
The derived Ef_VectorKey type, which implements the methods for generating hashes and equality compar...
Ef_VectorKey(const VdfVector &value)
#define PXR_NAMESPACE_OPEN_SCOPE
GLsizei const GLfloat * value
This class wraps a VdfVector adding equality comparison and hashing capabilities to the vector...
const VdfVector & GetValue() const
GLboolean GLboolean GLboolean GLboolean a
std::shared_ptr< Ef_VectorKey > StoredType
friend void TfHashAppend(HashState &h, const Ef_VectorKey::StoredType &v)
virtual bool IsEqual(const Ef_VectorKey &rhs) const
Ef_TypedVectorKey & operator=(const Ef_TypedVectorKey &)=delete
Ef_TypedVectorKey(const VdfVector &value)
size_t operator()(const StoredType &lhs, const StoredType &rhs) const
GLfloat GLfloat GLfloat GLfloat h
static size_t Combine(Args &&...args)
Produce a hash code by combining the hash codes of several objects.
ReadAccessor< TYPE > GetReadAccessor() const
LeafData & operator=(const LeafData &)=delete
#define PXR_NAMESPACE_CLOSE_SCOPE
size_t GetNumValues() const
virtual size_t CreateHash() const
bool operator==(const Ef_VectorKey &rhs) const