Replace boost hash usage with TfHash in pxr/base/vt #2176
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of Change(s)
Requires #2173, #2304, #2298
To remove the dependency of pxr/base/vt on boost's hashing functions
VtDictionary
defers its hashing toTfHash
's defaultstd::map
hashingVtArray
implements aTfHashAppend
overload to take advantage of the hashability of its contiguous elements.hash_value
has been modified to use this viaTfHash
.hash_value
support inhash.h
asTfHash
will fallback tohash_value
if no explicitTfHashAppend
is defined. This may change the order of which hash implementation is chosen (now preferringTfHashAppend
tohash_value
) but the implementations should not vary for most types.testVtCpp
now provides test coverage forVtArray
hashingTfHash
supports hashing viastd::type_index
andstd::pair
, an explicit implementation hashing the type index pair is no longer necessaryFixes Issue(s)
-#2172 (additional PRs forthcoming)