epoc32/include/stdapis/boost/functional/hash_fwd.hpp
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
permissions -rw-r--r--
Final list of Symbian^2 public API header files
williamr@2
     1
williamr@2
     2
//  Copyright Daniel James 2005-2006. Use, modification, and distribution are
williamr@2
     3
//  subject to the Boost Software License, Version 1.0. (See accompanying
williamr@2
     4
//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
williamr@2
     5
williamr@2
     6
//  Based on Peter Dimov's proposal
williamr@2
     7
//  http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf
williamr@2
     8
//  issue 6.18. 
williamr@2
     9
williamr@2
    10
#if !defined(BOOST_FUNCTIONAL_HASH_FWD_HPP)
williamr@2
    11
#define BOOST_FUNCTIONAL_HASH_FWD_HPP
williamr@2
    12
williamr@2
    13
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
williamr@2
    14
# pragma once
williamr@2
    15
#endif
williamr@2
    16
williamr@2
    17
#include <boost/config.hpp>
williamr@2
    18
#include <cstddef>
williamr@2
    19
#include <boost/detail/workaround.hpp>
williamr@2
    20
williamr@2
    21
namespace boost
williamr@2
    22
{
williamr@2
    23
    template <class T> struct hash;
williamr@2
    24
williamr@2
    25
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
williamr@2
    26
    template <class T> void hash_combine(std::size_t& seed, T& v);
williamr@2
    27
#else
williamr@2
    28
    template <class T> void hash_combine(std::size_t& seed, T const& v);
williamr@2
    29
#endif
williamr@2
    30
williamr@2
    31
    template <class It> std::size_t hash_range(It, It);
williamr@2
    32
    template <class It> void hash_range(std::size_t&, It, It);
williamr@2
    33
williamr@2
    34
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
williamr@2
    35
    template <class T> inline std::size_t hash_range(T*, T*);
williamr@2
    36
    template <class T> inline void hash_range(std::size_t&, T*, T*);
williamr@2
    37
#endif
williamr@2
    38
}
williamr@2
    39
williamr@2
    40
#endif