20#ifndef PALUDIS_GUARD_PALUDIS_UTIL_DIGEST_REGISTRY_HH
21#define PALUDIS_GUARD_PALUDIS_UTIL_DIGEST_REGISTRY_HH 1
28#include <paludis/util/wrapped_forward_iterator.hh>
40 public Singleton<DigestRegistry>
42 friend class Singleton<DigestRegistry>;
45 typedef std::function<std::string (std::istream &)> Function;
47 Function get(
const std::string & algo)
const;
49 struct AlgorithmsConstIteratorTag;
52 AlgorithmsConstIterator begin_algorithms()
const PALUDIS_ATTRIBUTE((warn_unused_result));
53 AlgorithmsConstIterator end_algorithms()
const PALUDIS_ATTRIBUTE((warn_unused_result));
55 template <
typename T_>
59 Registration(
const std::string & algo)
71 void register_function(
const std::string & algo,
const Function & func);
73 template <
typename T_>
75 do_digest(std::istream & stream)
78 return digest.hexsum();
83 DigestRegistry::AlgorithmsConstIteratorTag,
84 const std::pair<const std::string, DigestRegistry::Function> >;
Definition digest_registry.hh:41
Definition singleton.hh:45
static DigestRegistry * get_instance() PALUDIS_ATTRIBUTE((warn_unused_result))
Definition wrapped_forward_iterator.hh:42
#define PALUDIS_ATTRIBUTE(x)
Definition attributes.hh:53
#define PALUDIS_VISIBLE
Definition attributes.hh:59
Definition about_metadata-fwd.hh:24