1 /* Copyright 2003-2015 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_DETAIL_ORD_INDEX_IMPL_FWD_HPP
10 #define BOOST_MULTI_INDEX_DETAIL_ORD_INDEX_IMPL_FWD_HPP
11 
12 #if defined(_MSC_VER)
13 #pragma once
14 #endif
15 
16 namespace boost{
17 
18 namespace multi_index{
19 
20 namespace detail{
21 
22 template<
23   typename KeyFromValue,typename Compare,
24   typename SuperMeta,typename TagList,typename Category,typename AugmentPolicy
25 >
26 class ordered_index;
27 
28 template<
29   typename KeyFromValue1,typename Compare1,
30   typename SuperMeta1,typename TagList1,typename Category1,
31   typename AugmentPolicy1,
32   typename KeyFromValue2,typename Compare2,
33   typename SuperMeta2,typename TagList2,typename Category2,
34   typename AugmentPolicy2
35 >
36 bool operator==(
37   const ordered_index<
38     KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
39   const ordered_index<
40     KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y);
41 
42 template<
43   typename KeyFromValue1,typename Compare1,
44   typename SuperMeta1,typename TagList1,typename Category1,
45   typename AugmentPolicy1,
46   typename KeyFromValue2,typename Compare2,
47   typename SuperMeta2,typename TagList2,typename Category2,
48   typename AugmentPolicy2
49 >
50 bool operator<(
51   const ordered_index<
52     KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
53   const ordered_index<
54     KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y);
55 
56 template<
57   typename KeyFromValue1,typename Compare1,
58   typename SuperMeta1,typename TagList1,typename Category1,
59   typename AugmentPolicy1,
60   typename KeyFromValue2,typename Compare2,
61   typename SuperMeta2,typename TagList2,typename Category2,
62   typename AugmentPolicy2
63 >
64 bool operator!=(
65   const ordered_index<
66     KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
67   const ordered_index<
68     KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y);
69 
70 template<
71   typename KeyFromValue1,typename Compare1,
72   typename SuperMeta1,typename TagList1,typename Category1,
73   typename AugmentPolicy1,
74   typename KeyFromValue2,typename Compare2,
75   typename SuperMeta2,typename TagList2,typename Category2,
76   typename AugmentPolicy2
77 >
78 bool operator>(
79   const ordered_index<
80     KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
81   const ordered_index<
82     KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y);
83 
84 template<
85   typename KeyFromValue1,typename Compare1,
86   typename SuperMeta1,typename TagList1,typename Category1,
87   typename AugmentPolicy1,
88   typename KeyFromValue2,typename Compare2,
89   typename SuperMeta2,typename TagList2,typename Category2,
90   typename AugmentPolicy2
91 >
92 bool operator>=(
93   const ordered_index<
94     KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
95   const ordered_index<
96     KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y);
97 
98 template<
99   typename KeyFromValue1,typename Compare1,
100   typename SuperMeta1,typename TagList1,typename Category1,
101   typename AugmentPolicy1,
102   typename KeyFromValue2,typename Compare2,
103   typename SuperMeta2,typename TagList2,typename Category2,
104   typename AugmentPolicy2
105 >
106 bool operator<=(
107   const ordered_index<
108     KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1,AugmentPolicy1>& x,
109   const ordered_index<
110     KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2,AugmentPolicy2>& y);
111 
112 template<
113   typename KeyFromValue,typename Compare,
114   typename SuperMeta,typename TagList,typename Category,typename AugmentPolicy
115 >
116 void swap(
117   ordered_index<
118     KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>& x,
119   ordered_index<
120     KeyFromValue,Compare,SuperMeta,TagList,Category,AugmentPolicy>& y);
121 
122 } /* namespace multi_index::detail */
123 
124 } /* namespace multi_index */
125 
126 } /* namespace boost */
127 
128 #endif
129