[PATCH] D106910: [Support]: Introduce the `HashBuilder` interface.

Alexandre Rames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 27 12:59:11 PDT 2021


arames created this revision.
Herald added subscribers: dexonsmith, hiraditya, mgorny.
arames requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

1. Expose a raw pointer `update` interface for hashes.

The new method `update(const uint8_t *Ptr, size_t Size)` is an alternative to
the existing `update(ArrayRef<uint8_t> Data)`. It will allow the incoming
`HashBuilder` interface to not depend on `ArrayRef`.

2. Introduce the `HashBuilder` interface.

The `HashBuilder` interface allows conveniently building hashes of various data
types, without relying on the underlying hasher type to know about hashed data
types.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D106910

Files:
  llvm/include/llvm/ADT/ArrayRef.h
  llvm/include/llvm/ADT/StringRef.h
  llvm/include/llvm/Support/HashBuilder.h
  llvm/include/llvm/Support/MD5.h
  llvm/include/llvm/Support/SHA1.h
  llvm/include/llvm/Support/SHA256.h
  llvm/lib/Support/MD5.cpp
  llvm/lib/Support/SHA1.cpp
  llvm/lib/Support/SHA256.cpp
  llvm/unittests/Support/CMakeLists.txt
  llvm/unittests/Support/HashBuilderTest.cpp
  llvm/unittests/Support/MD5Test.cpp
  llvm/unittests/Support/SHA256.cpp
  llvm/unittests/Support/raw_sha1_ostream_test.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D106910.362146.patch
Type: text/x-patch
Size: 23730 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210727/d2276e29/attachment.bin>


More information about the llvm-commits mailing list