/*============================================================================= Copyright (c) 2011-2017 Bolero MURAKAMI https://github.com/bolero-MURAKAMI/Sprout Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) =============================================================================*/ #ifndef SPROUT_FUNCTIONAL_HASH_HASH_FWD_HPP #define SPROUT_FUNCTIONAL_HASH_HASH_FWD_HPP #include #include namespace sprout { // // hash // template struct hash; // // to_hash // template SPROUT_CONSTEXPR std::size_t to_hash(T&& v); // // hash_value // template inline SPROUT_CONSTEXPR std::size_t hash_value(T const& v); // // hash_combine // template inline SPROUT_CONSTEXPR std::size_t hash_combine(std::size_t seed, Args const&... args); // // hash_values // template inline SPROUT_CONSTEXPR std::size_t hash_values(Args const&... args); // // hash_range // template SPROUT_CONSTEXPR std::size_t hash_range(std::size_t seed, InputIterator first, InputIterator last); template SPROUT_CONSTEXPR std::size_t hash_range(InputIterator first, InputIterator last); template SPROUT_CONSTEXPR std::size_t hash_range(std::size_t seed, InputRange const& rng); template SPROUT_CONSTEXPR std::size_t hash_range(InputRange const& rng); // // hash_value_traits // template struct hash_value_traits; } // namespace sprout #endif // #ifndef SPROUT_FUNCTIONAL_HASH_HASH_FWD_HPP