1/* Copyright 2003-2013 Joaquin M Lopez Munoz.
2 * Distributed under the Boost Software License, Version 1.0.
3 * (See accompanying file LICENSE_1_0.txt or copy at
4 * http://www.boost.org/LICENSE_1_0.txt)
5 *
6 * See http://www.boost.org/libs/multi_index for library home page.
7 */
8
9#ifndef BOOST_MULTI_INDEX_HASHED_INDEX_FWD_HPP
10#define BOOST_MULTI_INDEX_HASHED_INDEX_FWD_HPP
11
12#if defined(_MSC_VER)
13#pragma once
14#endif
15
16#include <boost/multi_index/detail/hash_index_args.hpp>
17
18namespace boost{
19
20namespace multi_index{
21
22namespace detail{
23
24template<
25 typename KeyFromValue,typename Hash,typename Pred,
26 typename SuperMeta,typename TagList,typename Category
27>
28class hashed_index;
29
30template<
31 typename KeyFromValue,typename Hash,typename Pred,
32 typename SuperMeta,typename TagList,typename Category
33>
34bool operator==(
35 const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x,
36 const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& y);
37
38template<
39 typename KeyFromValue,typename Hash,typename Pred,
40 typename SuperMeta,typename TagList,typename Category
41>
42bool operator!=(
43 const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x,
44 const hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& y);
45
46template<
47 typename KeyFromValue,typename Hash,typename Pred,
48 typename SuperMeta,typename TagList,typename Category
49>
50void swap(
51 hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& x,
52 hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>& y);
53
54} /* namespace multi_index::detail */
55
56/* hashed_index specifiers */
57
58template<
59 typename Arg1,typename Arg2=mpl::na,
60 typename Arg3=mpl::na,typename Arg4=mpl::na
61>
62struct hashed_unique;
63
64template<
65 typename Arg1,typename Arg2=mpl::na,
66 typename Arg3=mpl::na,typename Arg4=mpl::na
67>
68struct hashed_non_unique;
69
70} /* namespace multi_index */
71
72} /* namespace boost */
73
74#endif
75