11 #include "llvm/Support/SHA1.h" 17 auto Hash = llvm::SHA1::hash(llvm::arrayRefFromStringRef(USR));
18 static_assert(
sizeof(Hash) >=
RawSize,
"RawSize larger than SHA1");
19 memcpy(HashValue.data(), Hash.data(),
RawSize);
23 return llvm::StringRef(reinterpret_cast<const char *>(HashValue.data()),
30 memcpy(ID.HashValue.data(), Raw.data(),
RawSize);
38 return llvm::createStringError(llvm::inconvertibleErrorCode(),
41 if (!llvm::isHexDigit(C))
42 return llvm::createStringError(llvm::inconvertibleErrorCode(),
44 return fromRaw(llvm::fromHex(Str));
48 return OS << llvm::toHex(ID.
raw());
55 memcpy(&Result, ID.
raw().data(),
sizeof(size_t));
56 return llvm::hash_code(Result);
static SymbolID fromRaw(llvm::StringRef)
static llvm::Expected< SymbolID > fromStr(llvm::StringRef)
static constexpr size_t RawSize
llvm::Optional< llvm::Expected< tooling::AtomicChanges > > Result
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
llvm::StringRef raw() const
llvm::hash_code hash_value(const SymbolID &ID)
llvm::raw_ostream & operator<<(llvm::raw_ostream &OS, const CodeCompletion &C)