blob: b8c5f615d43f83ed66b3b4e73858f635b413ee40 [file] [log] [blame]
// Copyright Aleksey Gurtovoy 2000-2004
// Copyright David Abrahams 2003-2004
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
//
// Preprocessed version of "boost/mpl/map/map10.hpp" header
// -- DO NOT modify by hand!
namespace boost { namespace mpl {
template< typename Map>
struct m_at< Map,0 >
{
typedef typename Map::item0 type;
};
template< typename Key, typename T, typename Base >
struct m_item< 1,Key,T,Base >
: m_item_< Key,T,Base >
{
typedef pair< Key,T > item0;
};
template<
typename P0
>
struct map1
: m_item<
1
, typename P0::first
, typename P0::second
, map0< >
>
{
typedef map1 type;
};
template< typename Map>
struct m_at< Map,1 >
{
typedef typename Map::item1 type;
};
template< typename Key, typename T, typename Base >
struct m_item< 2,Key,T,Base >
: m_item_< Key,T,Base >
{
typedef pair< Key,T > item1;
};
template<
typename P0, typename P1
>
struct map2
: m_item<
2
, typename P1::first
, typename P1::second
, map1<P0>
>
{
typedef map2 type;
};
template< typename Map>
struct m_at< Map,2 >
{
typedef typename Map::item2 type;
};
template< typename Key, typename T, typename Base >
struct m_item< 3,Key,T,Base >
: m_item_< Key,T,Base >
{
typedef pair< Key,T > item2;
};
template<
typename P0, typename P1, typename P2
>
struct map3
: m_item<
3
, typename P2::first
, typename P2::second
, map2< P0,P1 >
>
{
typedef map3 type;
};
template< typename Map>
struct m_at< Map,3 >
{
typedef typename Map::item3 type;
};
template< typename Key, typename T, typename Base >
struct m_item< 4,Key,T,Base >
: m_item_< Key,T,Base >
{
typedef pair< Key,T > item3;
};
template<
typename P0, typename P1, typename P2, typename P3
>
struct map4
: m_item<
4
, typename P3::first
, typename P3::second
, map3< P0,P1,P2 >
>
{
typedef map4 type;
};
template< typename Map>
struct m_at< Map,4 >
{
typedef typename Map::item4 type;
};
template< typename Key, typename T, typename Base >
struct m_item< 5,Key,T,Base >
: m_item_< Key,T,Base >
{
typedef pair< Key,T > item4;
};
template<
typename P0, typename P1, typename P2, typename P3, typename P4
>
struct map5
: m_item<
5
, typename P4::first
, typename P4::second
, map4< P0,P1,P2,P3 >
>
{
typedef map5 type;
};
template< typename Map>
struct m_at< Map,5 >
{
typedef typename Map::item5 type;
};
template< typename Key, typename T, typename Base >
struct m_item< 6,Key,T,Base >
: m_item_< Key,T,Base >
{
typedef pair< Key,T > item5;
};
template<
typename P0, typename P1, typename P2, typename P3, typename P4
, typename P5
>
struct map6
: m_item<
6
, typename P5::first
, typename P5::second
, map5< P0,P1,P2,P3,P4 >
>
{
typedef map6 type;
};
template< typename Map>
struct m_at< Map,6 >
{
typedef typename Map::item6 type;
};
template< typename Key, typename T, typename Base >
struct m_item< 7,Key,T,Base >
: m_item_< Key,T,Base >
{
typedef pair< Key,T > item6;
};
template<
typename P0, typename P1, typename P2, typename P3, typename P4
, typename P5, typename P6
>
struct map7
: m_item<
7
, typename P6::first
, typename P6::second
, map6< P0,P1,P2,P3,P4,P5 >
>
{
typedef map7 type;
};
template< typename Map>
struct m_at< Map,7 >
{
typedef typename Map::item7 type;
};
template< typename Key, typename T, typename Base >
struct m_item< 8,Key,T,Base >
: m_item_< Key,T,Base >
{
typedef pair< Key,T > item7;
};
template<
typename P0, typename P1, typename P2, typename P3, typename P4
, typename P5, typename P6, typename P7
>
struct map8
: m_item<
8
, typename P7::first
, typename P7::second
, map7< P0,P1,P2,P3,P4,P5,P6 >
>
{
typedef map8 type;
};
template< typename Map>
struct m_at< Map,8 >
{
typedef typename Map::item8 type;
};
template< typename Key, typename T, typename Base >
struct m_item< 9,Key,T,Base >
: m_item_< Key,T,Base >
{
typedef pair< Key,T > item8;
};
template<
typename P0, typename P1, typename P2, typename P3, typename P4
, typename P5, typename P6, typename P7, typename P8
>
struct map9
: m_item<
9
, typename P8::first
, typename P8::second
, map8< P0,P1,P2,P3,P4,P5,P6,P7 >
>
{
typedef map9 type;
};
template< typename Map>
struct m_at< Map,9 >
{
typedef typename Map::item9 type;
};
template< typename Key, typename T, typename Base >
struct m_item< 10,Key,T,Base >
: m_item_< Key,T,Base >
{
typedef pair< Key,T > item9;
};
template<
typename P0, typename P1, typename P2, typename P3, typename P4
, typename P5, typename P6, typename P7, typename P8, typename P9
>
struct map10
: m_item<
10
, typename P9::first
, typename P9::second
, map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 >
>
{
typedef map10 type;
};
}}