1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/stdapis/boost/multi_index_container_fwd.hpp Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -0,0 +1,121 @@
1.4 +/* Copyright 2003-2005 Joaquín M López Muñoz.
1.5 + * Distributed under the Boost Software License, Version 1.0.
1.6 + * (See accompanying file LICENSE_1_0.txt or copy at
1.7 + * http://www.boost.org/LICENSE_1_0.txt)
1.8 + *
1.9 + * See http://www.boost.org/libs/multi_index for library home page.
1.10 + */
1.11 +
1.12 +#ifndef BOOST_MULTI_INDEX_FWD_HPP
1.13 +#define BOOST_MULTI_INDEX_FWD_HPP
1.14 +
1.15 +#if defined(_MSC_VER)&&(_MSC_VER>=1200)
1.16 +#pragma once
1.17 +#endif
1.18 +
1.19 +#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
1.20 +#include <boost/multi_index/identity.hpp>
1.21 +#include <boost/multi_index/indexed_by.hpp>
1.22 +#include <boost/multi_index/ordered_index_fwd.hpp>
1.23 +#include <memory>
1.24 +
1.25 +namespace boost{
1.26 +
1.27 +namespace multi_index{
1.28 +
1.29 +/* Default value for IndexSpecifierList specifies a container
1.30 + * equivalent to std::set<Value>.
1.31 + */
1.32 +
1.33 +template<
1.34 + typename Value,
1.35 + typename IndexSpecifierList=indexed_by<ordered_unique<identity<Value> > >,
1.36 + typename Allocator=std::allocator<Value> >
1.37 +class multi_index_container;
1.38 +
1.39 +template<typename MultiIndexContainer,int N>
1.40 +struct nth_index;
1.41 +
1.42 +template<typename MultiIndexContainer,typename Tag>
1.43 +struct index;
1.44 +
1.45 +template<typename MultiIndexContainer,int N>
1.46 +struct nth_index_iterator;
1.47 +
1.48 +template<typename MultiIndexContainer,int N>
1.49 +struct nth_index_const_iterator;
1.50 +
1.51 +template<typename MultiIndexContainer,typename Tag>
1.52 +struct index_iterator;
1.53 +
1.54 +template<typename MultiIndexContainer,typename Tag>
1.55 +struct index_const_iterator;
1.56 +
1.57 +/* get and project functions not fwd declared due to problems
1.58 + * with dependent typenames
1.59 + */
1.60 +
1.61 +template<
1.62 + typename Value1,typename IndexSpecifierList1,typename Allocator1,
1.63 + typename Value2,typename IndexSpecifierList2,typename Allocator2
1.64 +>
1.65 +bool operator==(
1.66 + const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
1.67 + const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
1.68 +
1.69 +template<
1.70 + typename Value1,typename IndexSpecifierList1,typename Allocator1,
1.71 + typename Value2,typename IndexSpecifierList2,typename Allocator2
1.72 +>
1.73 +bool operator<(
1.74 + const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
1.75 + const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
1.76 +
1.77 +template<
1.78 + typename Value1,typename IndexSpecifierList1,typename Allocator1,
1.79 + typename Value2,typename IndexSpecifierList2,typename Allocator2
1.80 +>
1.81 +bool operator!=(
1.82 + const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
1.83 + const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
1.84 +
1.85 +template<
1.86 + typename Value1,typename IndexSpecifierList1,typename Allocator1,
1.87 + typename Value2,typename IndexSpecifierList2,typename Allocator2
1.88 +>
1.89 +bool operator>(
1.90 + const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
1.91 + const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
1.92 +
1.93 +template<
1.94 + typename Value1,typename IndexSpecifierList1,typename Allocator1,
1.95 + typename Value2,typename IndexSpecifierList2,typename Allocator2
1.96 +>
1.97 +bool operator>=(
1.98 + const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
1.99 + const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
1.100 +
1.101 +template<
1.102 + typename Value1,typename IndexSpecifierList1,typename Allocator1,
1.103 + typename Value2,typename IndexSpecifierList2,typename Allocator2
1.104 +>
1.105 +bool operator<=(
1.106 + const multi_index_container<Value1,IndexSpecifierList1,Allocator1>& x,
1.107 + const multi_index_container<Value2,IndexSpecifierList2,Allocator2>& y);
1.108 +
1.109 +template<typename Value,typename IndexSpecifierList,typename Allocator>
1.110 +void swap(
1.111 + multi_index_container<Value,IndexSpecifierList,Allocator>& x,
1.112 + multi_index_container<Value,IndexSpecifierList,Allocator>& y);
1.113 +
1.114 +} /* namespace multi_index */
1.115 +
1.116 +/* multi_index_container, being the main type of this library, is promoted to
1.117 + * namespace boost.
1.118 + */
1.119 +
1.120 +using multi_index::multi_index_container;
1.121 +
1.122 +} /* namespace boost */
1.123 +
1.124 +#endif