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