Template Function lsst::utils::hashCombine(std::size_t, const T&, Rest…)¶
Function Documentation¶
-
template<typename
T
, typename ...Rest
>
std::size_tlsst::utils
::
hashCombine
(std::size_t seed, const T &value, Rest... rest) Combine hashes
This is provided as a convenience for those who need to hash a composite. C++11 includes std::hash, but neglects to include a facility for combining hashes.
Shall not throw exceptions.
- Return
A combined hash for all the arguments after
seed
.- Template Parameters
TRest
: the types to hash. All types must have a valid (in particular, non-throwing) specialization of std::hash.
- Parameters
seed
: An arbitrary starting value.valuerest
: The objects to hash.
To use it:
// Arbitrary seed; can change to get different hashes of same argument list std::size_t seed = 0; result = hashCombine(seed, obj1, obj2, obj3);