9int main(
int argc,
char **argv)
12 std::cout << std::hex;
13 std::cout << std::setfill(
'0');
16 const bool fast = arguments.
has_flag(
"fast");
20 const std::string_view file_name = arguments.
get_next();
30 for (uint32_t i = 0; i < 8; i++)
31 std::cout << std::setw(8) << hash[i];
32 std::cout <<
" " << file_name <<
'\n';
36 std::cout << file_name <<
": Error: " << e.what() <<
'\n';
Class for conveniently parsing command-line arguments.
std::string_view get_next()
int get_remaining_count() const
bool has_flag(const char *name)
static SHA_256::Hash get_fast_hash(Buffered_File &file, int64_t start, int64_t size)
static SHA_256::Hash get_hash(Buffered_File &file, int64_t start, int64_t size)
std::array< uint32_t, 8 > Hash
@ read_existing
fails if does not exist