Foundation
Loading...
Searching...
No Matches
Namespaces | Functions | Variables
Hash.hpp File Reference
#include <bit>
#include <concepts>
#include <cstddef>
#include <cstdint>
#include <type_traits>

Go to the source code of this file.

Namespaces

namespace  Foundation
 
namespace  Foundation::Core
 Lock-free atomic primitives and implementations of data structures.
 

Functions

constexpr uint64_t Foundation::Core::FNV1a64CombineByte (uint64_t hash, uint8_t value) noexcept
 
uint64_t Foundation::Core::FNV1a64CombineBytes (uint64_t hash, void const *data, size_t size) noexcept
 
template<std::integral T>
constexpr uint64_t Foundation::Core::FNV1a64Combine (uint64_t hash, T value) noexcept
 
template<typename T >
requires std::is_enum_v<T>
constexpr uint64_t Foundation::Core::FNV1a64Combine (uint64_t hash, T value) noexcept
 
constexpr uint64_t Foundation::Core::FNV1a64Combine (uint64_t hash, float value) noexcept
 
constexpr uint64_t Foundation::Core::FNV1a64Combine (uint64_t hash, double value) noexcept
 
template<typename... T>
constexpr uint64_t Foundation::Core::FNV1a64 (T... values) noexcept
 
template<typename T >
constexpr uint64_t Foundation::Core::FNV1a64 (T *data, size_t size) noexcept
 

Variables

constexpr uint64_t Foundation::Core::kFNV1a64OffsetBasis = 14695981039346656037ull
 
constexpr uint64_t Foundation::Core::kFNV1a64Prime = 1099511628211ull