// Copyright 2017 Peter Dimov. // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt #ifndef BOOST_HASH_IS_UNORDERED_RANGE_HPP_INCLUDED #define BOOST_HASH_IS_UNORDERED_RANGE_HPP_INCLUDED #include #include #include namespace boost { namespace hash_detail { template struct has_hasher_: false_type { }; template struct has_hasher_< T, integral_constant< bool, is_same::value > >: true_type { }; } // namespace hash_detail namespace container_hash { template struct is_unordered_range: integral_constant< bool, is_range::value && hash_detail::has_hasher_::value > { }; } // namespace container_hash } // namespace boost #endif // #ifndef BOOST_HASH_IS_UNORDERED_RANGE_HPP_INCLUDED