10int main(
int argc,
char **argv)
13 std::cout << std::hex;
14 std::cout << std::setfill(
'0');
17 const bool fast = arguments.
has_flag(
"fast");
21 const std::string_view file_name = arguments.
get_next();
31 for (uint32_t i = 0; i < 8; i++)
32 std::cout << std::setw(8) << hash[i];
33 std::cout <<
" " << file_name <<
'\n';
37 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(const Abstract_File &file, int64_t start, int64_t size)
static SHA_256::Hash get_hash(const Abstract_File &file, int64_t start, int64_t size)
std::array< uint32_t, 8 > Hash
@ read_existing
fails if does not exist