-//
-// Make a DynamicHash from a static Hash class.
-//
-template <class _HashType>
-class DynamicHashInstance : public DynamicHash, public _HashType {
-public:
- // (wish we had C++0x already...)
- DynamicHashInstance() { }
- template <class Arg1>
- DynamicHashInstance(const Arg1 &arg1) : _HashType(arg1) { }
- template <class Arg1, class Arg2>
- DynamicHashInstance(const Arg1 &arg1, const Arg2 &arg2) : _HashType(arg1, arg2) { }
- template <class Arg1, class Arg2, class Arg3>
- DynamicHashInstance(const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) : _HashType(arg1, arg2, arg3) { }
-
- size_t digestLength() const
- { return _HashType::digestLength; }
- void update(const void *data, size_t length)
- { return _HashType::update(data, length); }
- void finish(unsigned char *digest)
- { return _HashType::finish(digest); }
-};
-
-