williamr@2: /* Copyright 2003-2005 Joaquín M López Muñoz. williamr@2: * Distributed under the Boost Software License, Version 1.0. williamr@2: * (See accompanying file LICENSE_1_0.txt or copy at williamr@2: * http://www.boost.org/LICENSE_1_0.txt) williamr@2: * williamr@2: * See http://www.boost.org/libs/multi_index for library home page. williamr@2: */ williamr@2: williamr@2: #ifndef BOOST_MULTI_INDEX_ORDERED_INDEX_FWD_HPP williamr@2: #define BOOST_MULTI_INDEX_ORDERED_INDEX_FWD_HPP williamr@2: williamr@2: #if defined(_MSC_VER)&&(_MSC_VER>=1200) williamr@2: #pragma once williamr@2: #endif williamr@2: williamr@2: #include williamr@2: williamr@2: namespace boost{ williamr@2: williamr@2: namespace multi_index{ williamr@2: williamr@2: namespace detail{ williamr@2: williamr@2: template< williamr@2: typename KeyFromValue,typename Compare, williamr@2: typename SuperMeta,typename TagList,typename Category williamr@2: > williamr@2: class ordered_index; williamr@2: williamr@2: template< williamr@2: typename KeyFromValue1,typename Compare1, williamr@2: typename SuperMeta1,typename TagList1,typename Category1, williamr@2: typename KeyFromValue2,typename Compare2, williamr@2: typename SuperMeta2,typename TagList2,typename Category2 williamr@2: > williamr@2: bool operator==( williamr@2: const ordered_index< williamr@2: KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x, williamr@2: const ordered_index< williamr@2: KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y); williamr@2: williamr@2: template< williamr@2: typename KeyFromValue1,typename Compare1, williamr@2: typename SuperMeta1,typename TagList1,typename Category1, williamr@2: typename KeyFromValue2,typename Compare2, williamr@2: typename SuperMeta2,typename TagList2,typename Category2 williamr@2: > williamr@2: bool operator<( williamr@2: const ordered_index< williamr@2: KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x, williamr@2: const ordered_index< williamr@2: KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y); williamr@2: williamr@2: template< williamr@2: typename KeyFromValue1,typename Compare1, williamr@2: typename SuperMeta1,typename TagList1,typename Category1, williamr@2: typename KeyFromValue2,typename Compare2, williamr@2: typename SuperMeta2,typename TagList2,typename Category2 williamr@2: > williamr@2: bool operator!=( williamr@2: const ordered_index< williamr@2: KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x, williamr@2: const ordered_index< williamr@2: KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y); williamr@2: williamr@2: template< williamr@2: typename KeyFromValue1,typename Compare1, williamr@2: typename SuperMeta1,typename TagList1,typename Category1, williamr@2: typename KeyFromValue2,typename Compare2, williamr@2: typename SuperMeta2,typename TagList2,typename Category2 williamr@2: > williamr@2: bool operator>( williamr@2: const ordered_index< williamr@2: KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x, williamr@2: const ordered_index< williamr@2: KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y); williamr@2: williamr@2: template< williamr@2: typename KeyFromValue1,typename Compare1, williamr@2: typename SuperMeta1,typename TagList1,typename Category1, williamr@2: typename KeyFromValue2,typename Compare2, williamr@2: typename SuperMeta2,typename TagList2,typename Category2 williamr@2: > williamr@2: bool operator>=( williamr@2: const ordered_index< williamr@2: KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x, williamr@2: const ordered_index< williamr@2: KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y); williamr@2: williamr@2: template< williamr@2: typename KeyFromValue1,typename Compare1, williamr@2: typename SuperMeta1,typename TagList1,typename Category1, williamr@2: typename KeyFromValue2,typename Compare2, williamr@2: typename SuperMeta2,typename TagList2,typename Category2 williamr@2: > williamr@2: bool operator<=( williamr@2: const ordered_index< williamr@2: KeyFromValue1,Compare1,SuperMeta1,TagList1,Category1>& x, williamr@2: const ordered_index< williamr@2: KeyFromValue2,Compare2,SuperMeta2,TagList2,Category2>& y); williamr@2: williamr@2: template< williamr@2: typename KeyFromValue,typename Compare, williamr@2: typename SuperMeta,typename TagList,typename Category williamr@2: > williamr@2: void swap( williamr@2: ordered_index& x, williamr@2: ordered_index& y); williamr@2: williamr@2: } /* namespace multi_index::detail */ williamr@2: williamr@2: /* ordered_index specifiers */ williamr@2: williamr@2: template williamr@2: struct ordered_unique; williamr@2: williamr@2: template williamr@2: struct ordered_non_unique; williamr@2: williamr@2: } /* namespace multi_index */ williamr@2: williamr@2: } /* namespace boost */ williamr@2: williamr@2: #endif