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