#pragma once #include "../hash.hpp" #include namespace cruft::hash { /// A std compatible adapter for a variadic 'mix' hash. /// /// It combines multiple values in a way that is unlikely to result in collisions. /// /// The exact implementation is not defined. struct mixer { template auto operator () (ValueT &&...elements) { return cruft::hash::mix ( std::forward (elements)... ); } }; }