20 #ifndef BUILDCACHE_HASHER_HPP_
21 #define BUILDCACHE_HASHER_HPP_
23 #include <base/string_list.hpp>
42 const uint8_t* data()
const {
51 static const size_t SIZE = 16U;
54 uint8_t m_data[SIZE]{};
71 void update(
const void* data,
const size_t size);
75 void update(
const std::string& text) {
76 update(text.data(), text.size());
85 void update(
const std::map<std::string, std::string>& data);
118 void* m_state =
nullptr;
123 #endif // BUILDCACHE_HASHER_HPP_
hasher_t & operator=(const hasher_t &other)
Copy the hash state to an existing hasher_t object.
Definition: hasher.cpp:82
void update_from_file_deterministic(const std::string &path)
Update the hash with more data.
Definition: hasher.cpp:120
A helper class for storing the data hash.
Definition: hasher.hpp:36
void update(const std::string &text)
Update the hash with more data.
Definition: hasher.hpp:75
The top level namespace.
Definition: compressor.cpp:34
A convenient vector of strings container with support functions for program argument handling.
Definition: string_list.hpp:30
A class for hashing data.
Definition: hasher.hpp:33
void update(const void *data, const size_t size)
Update the hash with more data.
Definition: hasher.cpp:88
std::string as_string() const
Convert a hash to a hexadecimal string.
Definition: hasher.cpp:47
void inject_separator()
Update the hash with a separator sequence.
Definition: hasher.cpp:130
void update_from_file(const std::string &path)
Update the hash with more data.
Definition: hasher.cpp:112
void update_from_ar_data(const std::string &data)
Update the hash with data from an AR archive.
Definition: hasher.cpp:134