blob: 4b788b8eef171821ddf69bcb79715d65103631a2 [file] [log] [blame]
//===-- Checksum.h ----------------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef LLDB_UTILITY_CHECKSUM_H
#define LLDB_UTILITY_CHECKSUM_H
#include "llvm/Support/MD5.h"
namespace lldb_private {
class Checksum {
public:
static llvm::MD5::MD5Result g_sentinel;
Checksum(llvm::MD5::MD5Result md5 = g_sentinel);
Checksum(const Checksum &checksum);
Checksum &operator=(const Checksum &checksum);
explicit operator bool() const;
bool operator==(const Checksum &checksum) const;
bool operator!=(const Checksum &checksum) const;
std::string digest() const;
private:
void SetMD5(llvm::MD5::MD5Result);
llvm::MD5::MD5Result m_checksum;
};
} // namespace lldb_private
#endif // LLDB_UTILITY_CHECKSUM_H