Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
llvm::HashBuilderBase< HasherT > Class Template Reference

Declares the hasher member, and functions forwarding directly to the hasher. More...

#include "llvm/Support/HashBuilder.h"

Inheritance diagram for llvm::HashBuilderBase< HasherT >:
[legend]

Public Types

template<typename HasherT_ = HasherT>
using HashResultTy = decltype(std::declval<HasherT_ &>().final())

Public Member Functions

HasherT & getHasher ()
void update (ArrayRef< uint8_t > Data)
 Forward to HasherT::update(ArrayRef<uint8_t>).
void update (StringRef Data)
 Forward to HasherT::update(ArrayRef<uint8_t>).
template<typename HasherT_ = HasherT>
HashResultTy< HasherT_ > final ()
 Forward to HasherT::final() if available.
template<typename HasherT_ = HasherT>
HashResultTy< HasherT_ > result ()
 Forward to HasherT::result() if available.

Protected Member Functions

 HashBuilderBase (HasherT &Hasher)
template<typename... ArgTypes>
 HashBuilderBase (ArgTypes &&...Args)

Detailed Description

template<typename HasherT>
class llvm::HashBuilderBase< HasherT >

Declares the hasher member, and functions forwarding directly to the hasher.

Definition at line 40 of file HashBuilder.h.

Member Typedef Documentation

◆ HashResultTy

template<typename HasherT>
template<typename HasherT_ = HasherT>
using llvm::HashBuilderBase< HasherT >::HashResultTy = decltype(std::declval<HasherT_ &>().final())

Definition at line 43 of file HashBuilder.h.

Constructor & Destructor Documentation

◆ HashBuilderBase() [1/2]

template<typename HasherT>
llvm::HashBuilderBase< HasherT >::HashBuilderBase ( HasherT & Hasher)
inlineexplicitprotected

◆ HashBuilderBase() [2/2]

template<typename HasherT>
template<typename... ArgTypes>
llvm::HashBuilderBase< HasherT >::HashBuilderBase ( ArgTypes &&... Args)
inlineexplicitprotected

Definition at line 78 of file HashBuilder.h.

Member Function Documentation

◆ final()

template<typename HasherT>
template<typename HasherT_ = HasherT>
HashResultTy< HasherT_ > llvm::HashBuilderBase< HasherT >::final ( )
inline

Forward to HasherT::final() if available.

Definition at line 65 of file HashBuilder.h.

References getHasher().

Referenced by llvm::memprof::computeFullStackId(), and computeStackId().

◆ getHasher()

template<typename HasherT>
HasherT & llvm::HashBuilderBase< HasherT >::getHasher ( )
inline

Definition at line 45 of file HashBuilder.h.

Referenced by final(), llvm::hash_value(), result(), and update().

◆ result()

template<typename HasherT>
template<typename HasherT_ = HasherT>
HashResultTy< HasherT_ > llvm::HashBuilderBase< HasherT >::result ( )
inline

Forward to HasherT::result() if available.

Definition at line 70 of file HashBuilder.h.

References getHasher().

◆ update() [1/2]

template<typename HasherT>
void llvm::HashBuilderBase< HasherT >::update ( ArrayRef< uint8_t > Data)
inline

Forward to HasherT::update(ArrayRef<uint8_t>).

This may not take the size of Data into account. Users of this function should pay attention to respect endianness contraints.

Definition at line 52 of file HashBuilder.h.

References llvm::Data, and getHasher().

Referenced by llvm::HashBuilder< hashbuilder_detail::HashCodeHasher, llvm::endianness::native >::add(), llvm::HashBuilder< hashbuilder_detail::HashCodeHasher, llvm::endianness::native >::add(), llvm::HashBuilder< hashbuilder_detail::HashCodeHasher, llvm::endianness::native >::adjustForEndiannessAndAdd(), and update().

◆ update() [2/2]

template<typename HasherT>
void llvm::HashBuilderBase< HasherT >::update ( StringRef Data)
inline

Forward to HasherT::update(ArrayRef<uint8_t>).

This may not take the size of Data into account. Users of this function should pay attention to respect endianness contraints.

Definition at line 59 of file HashBuilder.h.

References llvm::ArrayRef(), llvm::Data, and update().


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