1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-01 04:18:00 +02:00

Merge remote-tracking branch 'upstream/master' into enum-class

This commit is contained in:
John Ericson 2020-06-18 21:38:15 +00:00
commit 40526fbea5
158 changed files with 3027 additions and 1816 deletions

View file

@ -26,7 +26,7 @@ const int sha512HashSize = 64;
extern const string base32Chars;
enum struct Base : int {
enum struct Base {
Base64,
Base32,
Base16,
@ -53,7 +53,7 @@ struct Hash
Subresource Integrity hash expression). If the 'type' argument
is HashType::Unknown, then the hash type must be specified in the
string. */
Hash(const std::string & s, HashType type = HashType::Unknown);
Hash(std::string_view s, HashType type = HashType::Unknown);
void init();
@ -90,7 +90,7 @@ struct Hash
/* Return a string representation of the hash, in base-16, base-32
or base-64. By default, this is prefixed by the hash type
(e.g. "sha256:"). */
std::string to_string(Base base = Base::Base32, bool includeType = true) const;
std::string to_string(Base base, bool includeType) const;
std::string gitRev() const
{
@ -105,6 +105,8 @@ struct Hash
}
};
/* Helper that defaults empty hashes to the 0 hash. */
Hash newHashAllowEmpty(std::string hashStr, HashType ht);
/* Print a hash in base-16 if it's MD5, or base-32 otherwise. */
string printHash16or32(const Hash & hash);