TrinityCore
Loading...
Searching...
No Matches
Trinity::Impl::GenericHash< HashCreator, DigestLength > Class Template Reference

#include <CryptoHash.h>

Public Types

using Digest = std::array< uint8, DIGEST_LENGTH >
 

Public Member Functions

 GenericHash ()
 
 GenericHash (GenericHash const &right)
 
 GenericHash (GenericHash &&right) noexcept
 
 ~GenericHash ()
 
GenericHash & operator= (GenericHash const &right)
 
GenericHash & operator= (GenericHash &&right) noexcept
 
void UpdateData (uint8 const *data, size_t len)
 
void UpdateData (std::string_view str)
 
void UpdateData (std::string const &str)
 
void UpdateData (char const *str)
 
template<typename Container >
void UpdateData (Container const &c)
 
void Finalize ()
 
Digest const & GetDigest () const
 

Static Public Member Functions

static Digest GetDigestOf (uint8 const *data, size_t len)
 
template<typename... Ts, std::enable_if_t< std::conjunction_v< std::negation< std::is_integral< Ts > >... >, int32 > = 0>
static Digest GetDigestOf (Ts &&... pack)
 

Static Public Attributes

static constexpr size_t DIGEST_LENGTH = DigestLength
 

Private Attributes

EVP_MD_CTX * _ctx
 
Digest _digest = { }
 

Detailed Description

template<GenericHashImpl::HashCreator HashCreator, size_t DigestLength>
class Trinity::Impl::GenericHash< HashCreator, DigestLength >

Definition at line 43 of file CryptoHash.h.

Member Typedef Documentation

◆ Digest

template<GenericHashImpl::HashCreator HashCreator, size_t DigestLength>
using Trinity::Impl::GenericHash< HashCreator, DigestLength >::Digest = std::array<uint8, DIGEST_LENGTH>

Definition at line 47 of file CryptoHash.h.

Constructor & Destructor Documentation

◆ GenericHash() [1/3]

template<GenericHashImpl::HashCreator HashCreator, size_t DigestLength>
Trinity::Impl::GenericHash< HashCreator, DigestLength >::GenericHash ( )
inline

◆ GenericHash() [2/3]

template<GenericHashImpl::HashCreator HashCreator, size_t DigestLength>
Trinity::Impl::GenericHash< HashCreator, DigestLength >::GenericHash ( GenericHash< HashCreator, DigestLength > const &  right)
inline

Definition at line 72 of file CryptoHash.h.

◆ GenericHash() [3/3]

template<GenericHashImpl::HashCreator HashCreator, size_t DigestLength>
Trinity::Impl::GenericHash< HashCreator, DigestLength >::GenericHash ( GenericHash< HashCreator, DigestLength > &&  right)
inlinenoexcept

Definition at line 77 of file CryptoHash.h.

◆ ~GenericHash()

template<GenericHashImpl::HashCreator HashCreator, size_t DigestLength>
Trinity::Impl::GenericHash< HashCreator, DigestLength >::~GenericHash ( )
inline

Member Function Documentation

◆ Finalize()

◆ GetDigest()

◆ GetDigestOf() [1/2]

template<GenericHashImpl::HashCreator HashCreator, size_t DigestLength>
template<typename... Ts, std::enable_if_t< std::conjunction_v< std::negation< std::is_integral< Ts > >... >, int32 > = 0>
static Digest Trinity::Impl::GenericHash< HashCreator, DigestLength >::GetDigestOf ( Ts &&...  pack)
inlinestatic

◆ GetDigestOf() [2/2]

◆ operator=() [1/2]

template<GenericHashImpl::HashCreator HashCreator, size_t DigestLength>
GenericHash & Trinity::Impl::GenericHash< HashCreator, DigestLength >::operator= ( GenericHash< HashCreator, DigestLength > &&  right)
inlinenoexcept

◆ operator=() [2/2]

template<GenericHashImpl::HashCreator HashCreator, size_t DigestLength>
GenericHash & Trinity::Impl::GenericHash< HashCreator, DigestLength >::operator= ( GenericHash< HashCreator, DigestLength > const &  right)
inline

◆ UpdateData() [1/5]

template<GenericHashImpl::HashCreator HashCreator, size_t DigestLength>
void Trinity::Impl::GenericHash< HashCreator, DigestLength >::UpdateData ( char const *  str)
inline

◆ UpdateData() [2/5]

template<GenericHashImpl::HashCreator HashCreator, size_t DigestLength>
template<typename Container >
void Trinity::Impl::GenericHash< HashCreator, DigestLength >::UpdateData ( Container const &  c)
inline

◆ UpdateData() [3/5]

template<GenericHashImpl::HashCreator HashCreator, size_t DigestLength>
void Trinity::Impl::GenericHash< HashCreator, DigestLength >::UpdateData ( std::string const &  str)
inline

◆ UpdateData() [4/5]

template<GenericHashImpl::HashCreator HashCreator, size_t DigestLength>
void Trinity::Impl::GenericHash< HashCreator, DigestLength >::UpdateData ( std::string_view  str)
inline

◆ UpdateData() [5/5]

Member Data Documentation

◆ _ctx

◆ _digest

◆ DIGEST_LENGTH


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