Files
chaos/Chaos/Hash/Hasher.hpp
hashlag 5d09391339
All checks were successful
ChaosTest CI / build-and-test (push) Successful in 31s
Add comments on closing #include guard #endif's
2026-01-02 21:40:07 +03:00

42 lines
596 B
C++

#ifndef CHAOS_HASH_HASHER_HPP
#define CHAOS_HASH_HASHER_HPP
namespace Chaos::Hash
{
template<typename T>
class Hasher
{
public:
void Reset()
{
Impl().Reset();
}
template<typename InputIt>
void Update(InputIt begin, InputIt end)
{
Impl().Update(begin, end);
}
auto Finish()
{
return Impl().Finish();
}
private:
const T & Impl() const
{
return static_cast<const T &>(*this);
}
T & Impl()
{
return static_cast<T &>(*this);
}
};
} // namespace Chaos::Hash
#endif // CHAOS_HASH_HASHER_HPP