#ifndef HASH_SHAKE_2019_02_06_H #define HASH_SHAKE_2019_02_06_H #include #if(__cplusplus >= 201703L) namespace al::crypto::stream::hash { #else namespace al { namespace crypto { namespace stream { namespace hash { #endif template class hash_shake : public al::crypto::stream::hash::hash_keccak_base { private: using base_class_type = al::crypto::stream::hash::hash_keccak_base; public: hash_shake() = default; hash_shake(const hash_shake&) = default; hash_shake(hash_shake&&) noexcept = default; ~hash_shake() override = default; auto operator=(const hash_shake&) -> hash_shake& = default; auto operator=(hash_shake&&) noexcept -> hash_shake& = default; private: virtual void transform() { } virtual void padding() { } }; #if(__cplusplus >= 201703L) } // namespace al::crypto::stream::hash #else } // namespace hash } // namespace stream } // namespace crypto } // namespace al #endif #endif // HASH_SHAKE_2019_02_06_H