10 #include "llvm/Support/SHA1.h"
16 auto Hash = llvm::SHA1::hash(llvm::arrayRefFromStringRef(USR));
17 static_assert(
sizeof(Hash) >=
RawSize,
"RawSize larger than SHA1");
18 memcpy(HashValue.data(), Hash.data(),
RawSize);
22 return llvm::StringRef(reinterpret_cast<const char *>(HashValue.data()),
29 memcpy(ID.HashValue.data(), Raw.data(),
RawSize);
37 return llvm::createStringError(llvm::inconvertibleErrorCode(),
40 if (!llvm::isHexDigit(C))
41 return llvm::createStringError(llvm::inconvertibleErrorCode(),
43 return fromRaw(llvm::fromHex(Str));
47 return OS << llvm::toHex(ID.raw());
53 "size_t longer than SHA1!");
55 memcpy(&Result, ID.raw().data(),
sizeof(size_t));
56 return llvm::hash_code(Result);