C++ Actor Framework 1.0.0
Loading...
Searching...
No Matches
caf::hash::fnv< T > Class Template Reference

Non-cryptographic hash algorithm (variant 1a) named after Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo. More...

#include <fnv.hpp>

Inherits caf::save_inspector_base< Subtype >.

Public Types

using super = save_inspector_base<fnv<T>>
 

Public Member Functions

constexpr bool begin_object (type_id_t, std::string_view)
 
constexpr bool end_object ()
 
bool begin_field (std::string_view)
 
bool begin_field (std::string_view, bool is_present)
 
bool begin_field (std::string_view, span< const type_id_t >, size_t index)
 
bool begin_field (std::string_view, bool is_present, span< const type_id_t >, size_t index)
 
constexpr bool end_field ()
 
constexpr bool begin_tuple (size_t)
 
constexpr bool end_tuple ()
 
constexpr bool begin_key_value_pair ()
 
constexpr bool end_key_value_pair ()
 
constexpr bool begin_sequence (size_t)
 
constexpr bool end_sequence ()
 
constexpr bool begin_associative_array (size_t)
 
constexpr bool end_associative_array ()
 
template<class Integral >
std::enable_if_t< std::is_integral_v< Integral >, bool > value (Integral x) noexcept
 
bool value (std::byte x) noexcept
 
bool value (bool x) noexcept
 
bool value (float x) noexcept
 
bool value (double x) noexcept
 
bool value (std::string_view x) noexcept
 
bool value (span< const std::byte > x) noexcept
 

Static Public Member Functions

static constexpr bool has_human_readable_format () noexcept
 
template<class... Ts>
static T compute (Ts &&... xs) noexcept
 Convenience function for computing an FNV1a hash value for given arguments in one shot.
 

Public Attributes

result
 

Detailed Description

template<class T>
class caf::hash::fnv< T >

Non-cryptographic hash algorithm (variant 1a) named after Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo.

For more details regarding the public domain algorithm, see:

Template Parameters
TOne of uint32_t, uint64_t, or size_t.

The documentation for this class was generated from the following files: