epoc32/include/stdapis/boost/multi_index_container_fwd.hpp
branchSymbian2
changeset 2 2fe1408b6811
     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