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