Monero
Loading...
Searching...
No Matches
internal::Hasher< Encoding, Allocator > Class Template Reference

#include <schema.h>

Collaboration diagram for internal::Hasher< Encoding, Allocator >:

Classes

struct  Number

Public Types

typedef Encoding::Ch Ch

Public Member Functions

 Hasher (Allocator *allocator=0, size_t stackCapacity=kDefaultSize)
bool Null ()
bool Bool (bool b)
bool Int (int i)
bool Uint (unsigned u)
bool Int64 (int64_t i)
bool Uint64 (uint64_t u)
bool Double (double d)
bool RawNumber (const Ch *str, SizeType len, bool)
bool String (const Ch *str, SizeType len, bool)
bool StartObject ()
bool Key (const Ch *str, SizeType len, bool copy)
bool EndObject (SizeType memberCount)
bool StartArray ()
bool EndArray (SizeType elementCount)
bool IsValid () const
uint64_t GetHashCode () const

Private Member Functions

bool WriteType (Type type)
bool WriteNumber (const Number &n)
bool WriteBuffer (Type type, const void *data, size_t len)

Static Private Member Functions

static uint64_t Hash (uint64_t h, uint64_t d)

Private Attributes

Stack< Allocatorstack_

Static Private Attributes

static const size_t kDefaultSize = 256

Member Typedef Documentation

◆ Ch

template<typename Encoding, typename Allocator>
typedef Encoding::Ch internal::Hasher< Encoding, Allocator >::Ch

Constructor & Destructor Documentation

◆ Hasher()

template<typename Encoding, typename Allocator>
internal::Hasher< Encoding, Allocator >::Hasher ( Allocator * allocator = 0,
size_t stackCapacity = kDefaultSize )
inline

Member Function Documentation

◆ Bool()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::Bool ( bool b)
inline

◆ Double()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::Double ( double d)
inline

◆ EndArray()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::EndArray ( SizeType elementCount)
inline

◆ EndObject()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::EndObject ( SizeType memberCount)
inline

◆ GetHashCode()

template<typename Encoding, typename Allocator>
uint64_t internal::Hasher< Encoding, Allocator >::GetHashCode ( ) const
inline

◆ Hash()

template<typename Encoding, typename Allocator>
uint64_t internal::Hasher< Encoding, Allocator >::Hash ( uint64_t h,
uint64_t d )
inlinestaticprivate

◆ Int()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::Int ( int i)
inline

◆ Int64()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::Int64 ( int64_t i)
inline

◆ IsValid()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::IsValid ( ) const
inline

◆ Key()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::Key ( const Ch * str,
SizeType len,
bool copy )
inline

◆ Null()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::Null ( )
inline

◆ RawNumber()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::RawNumber ( const Ch * str,
SizeType len,
bool  )
inline

◆ StartArray()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::StartArray ( )
inline

◆ StartObject()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::StartObject ( )
inline

◆ String()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::String ( const Ch * str,
SizeType len,
bool  )
inline

◆ Uint()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::Uint ( unsigned u)
inline

◆ Uint64()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::Uint64 ( uint64_t u)
inline

◆ WriteBuffer()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::WriteBuffer ( Type type,
const void * data,
size_t len )
inlineprivate

◆ WriteNumber()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::WriteNumber ( const Number & n)
inlineprivate

◆ WriteType()

template<typename Encoding, typename Allocator>
bool internal::Hasher< Encoding, Allocator >::WriteType ( Type type)
inlineprivate

Member Data Documentation

◆ kDefaultSize

template<typename Encoding, typename Allocator>
const size_t internal::Hasher< Encoding, Allocator >::kDefaultSize = 256
staticprivate

◆ stack_

template<typename Encoding, typename Allocator>
Stack<Allocator> internal::Hasher< Encoding, Allocator >::stack_
private

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