View source code
Display the source code in std/digest/digest.d from which this page was generated on
github.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Enum std.digest.digest.member hasPeek
Used to check if a digest
supports the peek
method.
Peek has exactly the same function signatures as finish, but it doesn't reset
the digest
's internal state.
Declaration
enum hasPeek(T) = isDigest!T && is(typeof(() { T dig = void; DigestType!T val = dig.peek(); } ));
Note
- This is very useful as a template constraint (see examples)
- This also checks if T passes
isDigest
Example
import std.digest.crc, std.digest.md; assert(!hasPeek!(MD5)); assert(hasPeek!CRC32);
Example
import std.digest.crc; void myFunction(T)() if(hasPeek!T) { T dig; dig.start(); auto result = dig.peek(); } myFunction!CRC32();
Authors
Johannes Pfau