Embelish documentation of new Hash functions

This commit is contained in:
John Ericson 2020-08-01 15:32:20 +00:00
parent 3cbee1e840
commit bc165e28ae

View file

@ -36,21 +36,26 @@ struct Hash
/* Create a zero-filled hash object. */ /* Create a zero-filled hash object. */
Hash(HashType type); Hash(HashType type);
/* Initialize the hash from a string representation, in the format /* Parse the hash from a string representation in the format
"[<type>:]<base16|base32|base64>" or "<type>-<base64>" (a "[<type>:]<base16|base32|base64>" or "<type>-<base64>" (a
Subresource Integrity hash expression). If the 'type' argument Subresource Integrity hash expression). If the 'type' argument
is not present, then the hash type must be specified in the is not present, then the hash type must be specified in the
string. */ string. */
static Hash parseAny(std::string_view s, std::optional<HashType> type); static Hash parseAny(std::string_view s, std::optional<HashType> type);
/* hash type must be part of string */
/* Parse a hash from a string representation like the above, except the
type prefix is mandatory is there is no separate arguement. */
static Hash parseAnyPrefixed(std::string_view s); static Hash parseAnyPrefixed(std::string_view s);
/* prefix parsed separately; non SRI hash */
/* Parse a plain hash that musst not have any prefix indicating the type.
The type is passed in to disambiguate. */
static Hash parseNonSRIUnprefixed(std::string_view s, HashType type); static Hash parseNonSRIUnprefixed(std::string_view s, HashType type);
static Hash parseSRI(std::string_view original); static Hash parseSRI(std::string_view original);
private: private:
// type must be provided, s must not include <type> prefix /* The type must be provided, the string view must not include <type>
prefix. `isSRI` helps disambigate the various base-* encodings. */
Hash(std::string_view s, HashType type, bool isSRI); Hash(std::string_view s, HashType type, bool isSRI);
public: public: