annotate DEPENDENCIES/generic/include/boost/multi_index_container_fwd.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents c530137014c0
children
rev   line source
Chris@101 1 /* Copyright 2003-2013 Joaquin M Lopez Munoz.
Chris@16 2 * Distributed under the Boost Software License, Version 1.0.
Chris@16 3 * (See accompanying file LICENSE_1_0.txt or copy at
Chris@16 4 * http://www.boost.org/LICENSE_1_0.txt)
Chris@16 5 *
Chris@16 6 * See http://www.boost.org/libs/multi_index for library home page.
Chris@16 7 */
Chris@16 8
Chris@16 9 #ifndef BOOST_MULTI_INDEX_FWD_HPP
Chris@16 10 #define BOOST_MULTI_INDEX_FWD_HPP
Chris@16 11
Chris@101 12 #if defined(_MSC_VER)
Chris@16 13 #pragma once
Chris@16 14 #endif
Chris@16 15
Chris@16 16 #include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
Chris@16 17 #include <boost/multi_index/identity.hpp>
Chris@16 18 #include <boost/multi_index/indexed_by.hpp>
Chris@16 19 #include <boost/multi_index/ordered_index_fwd.hpp>
Chris@16 20 #include <memory>
Chris@16 21
Chris@16 22 namespace boost{
Chris@16 23
Chris@16 24 namespace multi_index{
Chris@16 25
Chris@16 26 /* Default value for IndexSpecifierList specifies a container
Chris@16 27 * equivalent to std::set<Value>.
Chris@16 28 */
Chris@16 29
Chris@16 30 template<
Chris@16 31 typename Value,
Chris@16 32 typename IndexSpecifierList=indexed_by<ordered_unique<identity<Value> > >,
Chris@16 33 typename Allocator=std::allocator<Value> >
Chris@16 34 class multi_index_container;
Chris@16 35
Chris@16 36 template<typename MultiIndexContainer,int N>
Chris@16 37 struct nth_index;
Chris@16 38
Chris@16 39 template<typename MultiIndexContainer,typename Tag>
Chris@16 40 struct index;
Chris@16 41
Chris@16 42 template<typename MultiIndexContainer,int N>
Chris@16 43 struct nth_index_iterator;
Chris@16 44
Chris@16 45 template<typename MultiIndexContainer,int N>
Chris@16 46 struct nth_index_const_iterator;
Chris@16 47
Chris@16 48 template<typename MultiIndexContainer,typename Tag>
Chris@16 49 struct index_iterator;
Chris@16 50
Chris@16 51 template<typename MultiIndexContainer,typename Tag>
Chris@16 52 struct index_const_iterator;
Chris@16 53
Chris@16 54 /* get and project functions not fwd declared due to problems
Chris@16 55 * with dependent typenames
Chris@16 56 */
Chris@16 57
Chris@16 58 template<
Chris@16 59 typename Value1,typename IndexSpecifierList1,typename Allocator1,
Chris@16 60 typename Value2,typename IndexSpecifierList2,typename Allocator2
Chris@16 61 >
Chris@16 62 bool operator==(
Chris@16 63 const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
Chris@16 64 const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
Chris@16 65
Chris@16 66 template<
Chris@16 67 typename Value1,typename IndexSpecifierList1,typename Allocator1,
Chris@16 68 typename Value2,typename IndexSpecifierList2,typename Allocator2
Chris@16 69 >
Chris@16 70 bool operator<(
Chris@16 71 const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
Chris@16 72 const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
Chris@16 73
Chris@16 74 template<
Chris@16 75 typename Value1,typename IndexSpecifierList1,typename Allocator1,
Chris@16 76 typename Value2,typename IndexSpecifierList2,typename Allocator2
Chris@16 77 >
Chris@16 78 bool operator!=(
Chris@16 79 const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
Chris@16 80 const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
Chris@16 81
Chris@16 82 template<
Chris@16 83 typename Value1,typename IndexSpecifierList1,typename Allocator1,
Chris@16 84 typename Value2,typename IndexSpecifierList2,typename Allocator2
Chris@16 85 >
Chris@16 86 bool operator>(
Chris@16 87 const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
Chris@16 88 const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
Chris@16 89
Chris@16 90 template<
Chris@16 91 typename Value1,typename IndexSpecifierList1,typename Allocator1,
Chris@16 92 typename Value2,typename IndexSpecifierList2,typename Allocator2
Chris@16 93 >
Chris@16 94 bool operator>=(
Chris@16 95 const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
Chris@16 96 const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
Chris@16 97
Chris@16 98 template<
Chris@16 99 typename Value1,typename IndexSpecifierList1,typename Allocator1,
Chris@16 100 typename Value2,typename IndexSpecifierList2,typename Allocator2
Chris@16 101 >
Chris@16 102 bool operator<=(
Chris@16 103 const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
Chris@16 104 const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
Chris@16 105
Chris@16 106 template<typename Value,typename IndexSpecifierList,typename Allocator>
Chris@16 107 void swap(
Chris@16 108 multi_index_container<Value,IndexSpecifierList,Allocator>& x,
Chris@16 109 multi_index_container<Value,IndexSpecifierList,Allocator>& y);
Chris@16 110
Chris@16 111 } /* namespace multi_index */
Chris@16 112
Chris@16 113 /* multi_index_container, being the main type of this library, is promoted to
Chris@16 114 * namespace boost.
Chris@16 115 */
Chris@16 116
Chris@16 117 using multi_index::multi_index_container;
Chris@16 118
Chris@16 119 } /* namespace boost */
Chris@16 120
Chris@16 121 #endif