SPROUT_CONSTEXPR result_type operator()(char32_t const* name) const { return sha_to_uuid(sum_.c_process_bytes(name, sprout::char_traits<char32_t>::length(name))); }
uuid operator()(void const* buffer, std::size_t byte_count) { reset(); sha.process_bytes(buffer, byte_count); return sha_to_uuid(); };
SPROUT_CONSTEXPR result_type operator()(sprout::basic_string<Elem, N, Traits> const& name) const { return sha_to_uuid(sum_.c_process_range(name)); }
uuid operator()(std::basic_string<ch, char_traits, alloc> const& name) { reset(); process_characters(name.c_str(), name.length()); return sha_to_uuid(); }