Imported Upstream version 1.57.0
[platform/upstream/boost.git] / boost / multi_index / sequenced_index_fwd.hpp
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_SEQUENCED_INDEX_FWD_HPP
10 #define BOOST_MULTI_INDEX_SEQUENCED_INDEX_FWD_HPP
11
12 #if defined(_MSC_VER)
13 #pragma once
14 #endif
15
16 #include <boost/multi_index/tag.hpp>
17
18 namespace boost{
19
20 namespace multi_index{
21
22 namespace detail{
23
24 template<typename SuperMeta,typename TagList>
25 class sequenced_index;
26
27 template<
28   typename SuperMeta1,typename TagList1,
29   typename SuperMeta2,typename TagList2
30 >
31 bool operator==(
32   const sequenced_index<SuperMeta1,TagList1>& x,
33   const sequenced_index<SuperMeta2,TagList2>& y);
34
35 template<
36   typename SuperMeta1,typename TagList1,
37   typename SuperMeta2,typename TagList2
38 >
39 bool operator<(
40   const sequenced_index<SuperMeta1,TagList1>& x,
41   const sequenced_index<SuperMeta2,TagList2>& y);
42
43 template<
44   typename SuperMeta1,typename TagList1,
45   typename SuperMeta2,typename TagList2
46 >
47 bool operator!=(
48   const sequenced_index<SuperMeta1,TagList1>& x,
49   const sequenced_index<SuperMeta2,TagList2>& y);
50
51 template<
52   typename SuperMeta1,typename TagList1,
53   typename SuperMeta2,typename TagList2
54 >
55 bool operator>(
56   const sequenced_index<SuperMeta1,TagList1>& x,
57   const sequenced_index<SuperMeta2,TagList2>& y);
58
59 template<
60   typename SuperMeta1,typename TagList1,
61   typename SuperMeta2,typename TagList2
62 >
63 bool operator>=(
64   const sequenced_index<SuperMeta1,TagList1>& x,
65   const sequenced_index<SuperMeta2,TagList2>& y);
66
67 template<
68   typename SuperMeta1,typename TagList1,
69   typename SuperMeta2,typename TagList2
70 >
71 bool operator<=(
72   const sequenced_index<SuperMeta1,TagList1>& x,
73   const sequenced_index<SuperMeta2,TagList2>& y);
74
75 template<typename SuperMeta,typename TagList>
76 void swap(
77   sequenced_index<SuperMeta,TagList>& x,
78   sequenced_index<SuperMeta,TagList>& y);
79
80 } /* namespace multi_index::detail */
81
82 /* index specifiers */
83
84 template <typename TagList=tag<> >
85 struct sequenced;
86
87 } /* namespace multi_index */
88
89 } /* namespace boost */
90
91 #endif