#ifndef BOOST_HASH2_HAS_CONSTANT_SIZE_HPP_INCLUDED #define BOOST_HASH2_HAS_CONSTANT_SIZE_HPP_INCLUDED // Copyright 2024 Peter Dimov // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt #include #include namespace boost { // forward declaration template class array; namespace hash2 { // forward declaration template class digest; // detail::has_tuple_size namespace detail { template struct has_tuple_size: std::false_type { }; template struct has_tuple_size::value == std::tuple_size::value >::type >: std::true_type { }; } // namespace detail // has_constant_size template struct has_constant_size: detail::has_tuple_size { }; template struct has_constant_size< boost::array >: std::true_type { }; template struct has_constant_size< digest >: std::true_type { }; template struct has_constant_size: has_constant_size { }; } // namespace hash2 } // namespace boost #endif // #ifndef BOOST_HASH2_HAS_CONSTANT_SIZE_HPP_INCLUDED