sdi_toolBox
Namespaces | Functions
hash.h File Reference
#include <cstdint>
#include <span>
#include <string_view>
Include dependency graph for hash.h:

Go to the source code of this file.

Namespaces

namespace  sdi_toolBox
 Root namespace for the sdi_toolBox library.
 
namespace  sdi_toolBox::common
 Cross-platform, reusable components shared across all sdi_toolBox modules.
 
namespace  sdi_toolBox::common::utils
 General-purpose utility functions shared across all sdi_toolBox modules.
 
namespace  sdi_toolBox::common::utils::hash
 Lightweight hashing utilities (FNV-1a implementations).
 

Functions

constexpr std::uint32_t fnv1a (std::span< const std::byte > data) noexcept
 Compute the FNV-1a 32-bit hash for a span of bytes.
 
constexpr std::uint32_t fnv1a (std::string_view sv) noexcept
 Compute the FNV-1a 32-bit hash for a std::string_view.
 
template<typename T >
requires std::is_trivially_copyable_v<T>
constexpr std::uint32_t fnv1a (const T &value) noexcept
 Compute the FNV-1a 32-bit hash for a trivially copyable POD object.
 
constexpr std::uint64_t fnv1a_64 (std::span< const std::byte > data) noexcept
 Compute the FNV-1a 64-bit hash for a span of bytes.
 
constexpr std::uint64_t fnv1a_64 (std::string_view sv) noexcept
 Compute the FNV-1a 64-bit hash for a std::string_view.
 
template<typename T >
requires std::is_trivially_copyable_v<T>
constexpr std::uint64_t fnv1a_64 (const T &value) noexcept
 Compute the FNV-1a 64-bit hash for a trivially copyable POD object.