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

License

Boost License 1.0.

Comments