final fixes

[SVN r26175]
This commit is contained in:
Aleksey Gurtovoy
2004-11-10 23:38:18 +00:00
parent 65ad003b9a
commit a009ac5eb3
57 changed files with 1552 additions and 448 deletions

View File

@@ -1,28 +0,0 @@
#ifndef BOOST_MPL_AUX_ITERATOR_NAMES_HPP_INCLUDED
#define BOOST_MPL_AUX_ITERATOR_NAMES_HPP_INCLUDED
// Copyright Aleksey Gurtovoy 2002-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)
//
// See http://www.boost.org/libs/mpl for documentation.
// $Source$
// $Date$
// $Revision$
#include <boost/mpl/aux_/config/workaround.hpp>
#include <boost/mpl/aux_/config/msvc.hpp>
#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
# define BOOST_MPL_AUX_ITERATOR_ADVANCE advance
# define BOOST_MPL_AUX_ITERATOR_DISTANCE distance_to
#else
# define BOOST_MPL_AUX_ITERATOR_ADVANCE advance_
# define BOOST_MPL_AUX_ITERATOR_DISTANCE distance_to
#endif
#endif // BOOST_MPL_AUX_ITERATOR_NAMES_HPP_INCLUDED

View File

@@ -40,6 +40,7 @@ template<> struct msvc_eti_base_impl<true>
typedef result_ first; typedef result_ first;
typedef result_ second; typedef result_ second;
typedef result_ tag; typedef result_ tag;
enum { value = 0 };
}; };
}; };
@@ -68,6 +69,7 @@ template<> struct msvc_eti_base<int>
typedef msvc_eti_base first; typedef msvc_eti_base first;
typedef msvc_eti_base second; typedef msvc_eti_base second;
typedef msvc_eti_base tag; typedef msvc_eti_base tag;
enum { value = 0 };
}; };
}}} }}}

View File

@@ -22,6 +22,7 @@
# include <boost/mpl/apply_wrap.hpp> # include <boost/mpl/apply_wrap.hpp>
# include <boost/mpl/if.hpp> # include <boost/mpl/if.hpp>
# include <boost/mpl/tag.hpp> # include <boost/mpl/tag.hpp>
# include <boost/mpl/aux_/numeric_cast_utils.hpp>
# include <boost/mpl/aux_/na.hpp> # include <boost/mpl/aux_/na.hpp>
# include <boost/mpl/aux_/na_spec.hpp> # include <boost/mpl/aux_/na_spec.hpp>
# include <boost/mpl/aux_/lambda_support.hpp> # include <boost/mpl/aux_/lambda_support.hpp>

View File

@@ -3,6 +3,7 @@
#define BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED #define BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED
// Copyright Eric Friedman 2003 // Copyright Eric Friedman 2003
// Copyright Aleksey Gurtovoy 2004
// //
// Distributed under the Boost Software License, Version 1.0. // Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at // (See accompanying file LICENSE_1_0.txt or copy at
@@ -18,33 +19,28 @@
#include <boost/mpl/eval_if.hpp> #include <boost/mpl/eval_if.hpp>
#include <boost/mpl/if.hpp> #include <boost/mpl/if.hpp>
#include <boost/mpl/pair.hpp> #include <boost/mpl/pair.hpp>
#include <boost/mpl/deref.hpp>
#include <boost/mpl/push_front.hpp>
#include <boost/mpl/aux_/lambda_spec.hpp> #include <boost/mpl/aux_/lambda_spec.hpp>
namespace boost { namespace mpl { namespace boost { namespace mpl {
namespace aux { namespace aux {
template <typename Predicate> template< typename Pred, typename In1Op, typename In2Op >
struct partition_op struct partition_op
{ {
template <typename State, typename Iter> template< typename State, typename T >
struct apply struct apply
{ {
private:
typedef typename State::first first_; typedef typename State::first first_;
typedef typename State::second second_; typedef typename State::second second_;
typedef typename deref<Iter>::type t_; typedef typename apply1< Pred,T >::type pred_;
typedef typename apply1< Predicate,t_ >::type pred_;
typedef typename eval_if< typedef typename eval_if<
pred_ pred_
, push_front< first_, t_ > , apply2<In1Op,first_,T>
, push_front< second_, t_ > , apply2<In2Op,second_,T>
>::type result_; >::type result_;
public:
typedef typename if_< typedef typename if_<
pred_ pred_
, pair< result_,second_ > , pair< result_,second_ >
@@ -55,7 +51,7 @@ struct partition_op
} // namespace aux } // namespace aux
BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1,aux::partition_op) BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, aux::partition_op)
}} }}

View File

@@ -15,35 +15,85 @@
// $Revision$ // $Revision$
#include <boost/mpl/iterator_tags.hpp> #include <boost/mpl/iterator_tags.hpp>
#include <boost/mpl/advance_fwd.hpp>
#include <boost/mpl/distance_fwd.hpp>
#include <boost/mpl/next_prior.hpp> #include <boost/mpl/next_prior.hpp>
#include <boost/mpl/deref.hpp>
#include <boost/mpl/plus.hpp> #include <boost/mpl/plus.hpp>
#include <boost/mpl/minus.hpp> #include <boost/mpl/minus.hpp>
#include <boost/mpl/aux_/iterator_names.hpp> #include <boost/mpl/aux_/value_wknd.hpp>
#include <boost/mpl/aux_/config/ctps.hpp>
namespace boost { namespace mpl { namespace boost { namespace mpl {
template< typename N > // theoretically will work on any discrete numeric type
struct rc_iter template< typename N > struct r_iter
{ {
typedef aux::rc_iter_tag tag; typedef aux::r_iter_tag tag;
typedef random_access_iterator_tag category; typedef random_access_iterator_tag category;
typedef N type; typedef N type;
typedef rc_iter<typename mpl::next<N>::type> next; #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
typedef rc_iter<typename mpl::prior<N>::type> prior; typedef r_iter< typename mpl::next<N>::type > next;
typedef r_iter< typename mpl::prior<N>::type > prior;
#endif
};
template< typename D > #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
struct BOOST_MPL_AUX_ITERATOR_ADVANCE
template<
typename N
>
struct next< r_iter<N> >
{
typedef r_iter< typename mpl::next<N>::type > type;
};
template<
typename N
>
struct prior< r_iter<N> >
{
typedef r_iter< typename mpl::prior<N>::type > type;
};
#endif
template<> struct advance_impl<aux::r_iter_tag>
{
template< typename Iter, typename Dist > struct apply
{ {
typedef rc_iter< typedef typename Iter::type n_;
typename plus<N,D>::type typedef typename plus<n_,Dist>::type m_;
> type;
// agurt, 10/nov/04: to be generic, the code have to do something along
// the lines below...
//
// typedef typename apply_wrap1<
// numeric_cast< typename m_::tag, typename n_::tag >
// , m_
// >::type result_;
//
// ... meanwhile:
typedef integral_c<
typename n_::value_type
, BOOST_MPL_AUX_VALUE_WKND(m_)::value
> result_;
typedef r_iter<result_> type;
}; };
};
template< typename U > template<> struct distance_impl<aux::r_iter_tag>
struct BOOST_MPL_AUX_ITERATOR_DISTANCE {
template< typename Iter1, typename Iter2 > struct apply
: minus<
typename Iter2::type
, typename Iter1::type
>
{ {
typedef typename minus<typename U::type,N>::type type;
}; };
}; };

View File

@@ -17,7 +17,7 @@
namespace boost { namespace mpl { namespace aux { namespace boost { namespace mpl { namespace aux {
struct half_open_range_tag; struct half_open_range_tag;
struct rc_iter_tag; struct r_iter_tag;
}}} }}}

View File

@@ -36,6 +36,10 @@
namespace boost { namespace mpl { namespace boost { namespace mpl {
#if !defined(AUX778076_SEQUENCE_BASE_NAME)
# define AUX778076_SEQUENCE_BASE_NAME AUX778076_SEQUENCE_NAME
#endif
#if !defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER) #if !defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER)
# define AUX778076_SEQUENCE_PARAM_NAME T # define AUX778076_SEQUENCE_PARAM_NAME T
@@ -43,7 +47,7 @@ namespace boost { namespace mpl {
# define AUX778076_SEQUENCE_DEFAULT na # define AUX778076_SEQUENCE_DEFAULT na
# define AUX778076_SEQUENCE_NAME_N(n) \ # define AUX778076_SEQUENCE_NAME_N(n) \
BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,n) \ BOOST_PP_CAT(AUX778076_SEQUENCE_BASE_NAME,n) \
/**/ /**/
# define AUX778076_SEQUENCE_PARAMS() \ # define AUX778076_SEQUENCE_PARAMS() \
@@ -209,6 +213,7 @@ struct AUX778076_SEQUENCE_NAME
# undef AUX778076_SEQUENCE_TEMPLATE_PARAM # undef AUX778076_SEQUENCE_TEMPLATE_PARAM
# undef AUX778076_SEQUENCE_PARAM_NAME # undef AUX778076_SEQUENCE_PARAM_NAME
# undef AUX778076_SEQUENCE_LIMIT # undef AUX778076_SEQUENCE_LIMIT
# undef AUX778076_SEQUENCE_BASE_NAME
# undef AUX778076_SEQUENCE_NAME # undef AUX778076_SEQUENCE_NAME
# undef AUX778076_SEQUENCE_INTEGRAL_WRAPPER # undef AUX778076_SEQUENCE_INTEGRAL_WRAPPER

View File

@@ -15,104 +15,104 @@
// $Revision$ // $Revision$
#include <boost/mpl/iterator_tags.hpp> #include <boost/mpl/iterator_tags.hpp>
#include <boost/mpl/plus.hpp> #include <boost/mpl/advance_fwd.hpp>
#include <boost/mpl/minus.hpp> #include <boost/mpl/distance_fwd.hpp>
#include <boost/mpl/next_prior.hpp>
#include <boost/mpl/deref.hpp>
#include <boost/mpl/int.hpp> #include <boost/mpl/int.hpp>
#include <boost/mpl/aux_/value_wknd.hpp>
#include <boost/mpl/aux_/iterator_names.hpp>
#include <boost/mpl/aux_/lambda_spec.hpp>
#include <boost/mpl/aux_/config/ctps.hpp>
#include <boost/mpl/aux_/nttp_decl.hpp> #include <boost/mpl/aux_/nttp_decl.hpp>
#include <boost/mpl/aux_/value_wknd.hpp>
#include <boost/mpl/aux_/config/ctps.hpp>
namespace boost { namespace mpl { namespace boost { namespace mpl {
namespace aux {
template< typename T, int N >
struct single_element_iter;
// random access support
template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, N) >
struct single_iter_base
{
typedef random_access_iterator_tag category;
typedef mpl::int_<N> position;
template< typename D >
struct BOOST_MPL_AUX_ITERATOR_ADVANCE
{
typedef plus< mpl::int_<N>,D > n_;
typedef single_element_iter<
T
, BOOST_MPL_AUX_VALUE_WKND(n_)::value
> type;
};
template< typename U >
struct BOOST_MPL_AUX_ITERATOR_DISTANCE
{
typedef typename minus<
typename U::position
, mpl::int_<N>
>::type type;
};
};
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
namespace aux {
template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_) >
struct sel_iter;
template< typename T > template< typename T >
struct single_element_iter<T,0> struct sel_iter<T,0>
: single_iter_base<T,0>
{ {
typedef single_element_iter<T,1> next; typedef random_access_iterator_tag category;
typedef sel_iter<T,1> next;
typedef T type; typedef T type;
}; };
template< typename T > template< typename T >
struct single_element_iter<T,1> struct sel_iter<T,1>
: single_iter_base<T,1> {
typedef random_access_iterator_tag category;
typedef sel_iter<T,0> prior;
};
} // namespace aux
template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_), typename Distance >
struct advance< aux::sel_iter<T,is_last_>,Distance>
{
typedef aux::sel_iter<
T
, ( is_last_ + BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Distance) )
> type;
};
template<
typename T
, BOOST_MPL_AUX_NTTP_DECL(int, l1)
, BOOST_MPL_AUX_NTTP_DECL(int, l2)
>
struct distance< aux::sel_iter<T,l1>, aux::sel_iter<T,l2> >
: int_<( l2 - l1 )>
{ {
typedef single_element_iter<T,0> prior;
}; };
#else #else
template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct single_iter_impl namespace aux {
struct sel_iter_tag;
template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_) >
struct sel_iter
{ {
template< typename T > struct result_; enum { pos_ = is_last_ };
typedef aux::sel_iter_tag tag;
typedef random_access_iterator_tag category;
typedef sel_iter<T,(is_last_ + 1)> next;
typedef sel_iter<T,(is_last_ - 1)> prior;
typedef T type;
}; };
template<> } // namespace aux
struct single_iter_impl<0>
template<> struct advance_impl<aux::sel_iter_tag>
{ {
template< typename T > struct result_ template< typename Iterator, typename N > struct apply
: single_iter_base<T,0>
{ {
typedef single_element_iter<T,1> next; enum { pos_ = Iterator::pos_, n_ = N::value };
typedef T type; typedef aux::sel_iter<
typename Iterator::type
, (pos_ + n_)
> type;
}; };
}; };
template<> template<> struct distance_impl<aux::sel_iter_tag>
struct single_iter_impl<1>
{ {
template< typename T > struct result_ template< typename Iter1, typename Iter2 > struct apply
: single_iter_base<T,1>
{ {
typedef single_element_iter<T,0> prior; enum { pos1_ = Iter1::pos_, pos2_ = Iter2::pos_ };
typedef int_<( pos2_ - pos1_ )> type;
BOOST_STATIC_CONSTANT(int, value = ( pos2_ - pos1_ ));
}; };
}; };
template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, N) >
struct single_element_iter
: single_iter_impl<N>::template result_<T>
{
};
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
} // namespace aux
}} }}
#endif // BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_HPP_INCLUDED #endif // BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_HPP_INCLUDED

View File

@@ -14,91 +14,108 @@
// $Date$ // $Date$
// $Revision$ // $Revision$
#include <boost/mpl/apply.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/reverse_fold.hpp>
#include <boost/mpl/empty.hpp>
#include <boost/mpl/front.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/mpl/partition.hpp> #include <boost/mpl/partition.hpp>
#include <boost/mpl/pop_front.hpp> #include <boost/mpl/copy.hpp>
#include <boost/mpl/push_front.hpp> #include <boost/mpl/vector.hpp>
#include <boost/mpl/protect.hpp> #include <boost/mpl/back_inserter.hpp>
#include <boost/mpl/aux_/traits_lambda_spec.hpp> #include <boost/mpl/front_inserter.hpp>
#include <boost/mpl/iterator_range.hpp>
#include <boost/mpl/joint_view.hpp>
#include <boost/mpl/single_view.hpp>
#include <boost/mpl/begin_end.hpp>
#include <boost/mpl/empty.hpp>
#include <boost/mpl/deref.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/apply.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/mpl/less.hpp>
#include <boost/mpl/aux_/na.hpp>
namespace boost { namespace mpl { namespace boost { namespace mpl { namespace aux {
namespace aux { template< typename Seq, typename Pred >
struct quick_sort;
template < typename Sequence, typename Predicate > struct quick_sort; // agurt, 10/nov/04: for the sake of deficeint compilers
template< typename Pred, typename Pivot >
template <typename Predicate, typename Pivot>
struct quick_sort_pred struct quick_sort_pred
{ {
template <typename T> template< typename T > struct apply
struct apply
{ {
typedef typename apply2< Predicate, T, Pivot >::type typedef typename apply2<Pred,T,Pivot>::type type;
type;
}; };
}; };
template <typename Sequence, typename Predicate> template<
typename Seq
, typename Pred
>
struct quick_sort_impl struct quick_sort_impl
{ {
private: typedef typename begin<Seq>::type pivot;
typedef typename front<Sequence>::type pivot_;
typedef typename pop_front<Sequence>::type seq_;
typedef typename partition< typedef typename partition<
seq_ iterator_range<
, protect< quick_sort_pred<Predicate,pivot_> > typename next<pivot>::type
, typename end<Seq>::type
>
, protect< aux::quick_sort_pred< Pred, typename deref<pivot>::type > >
, back_inserter< vector<> >
, back_inserter< vector<> >
>::type partitioned; >::type partitioned;
typedef typename quick_sort< typedef typename quick_sort< typename partitioned::first, Pred >::type part1;
typename first<partitioned>::type, Predicate typedef typename quick_sort< typename partitioned::second, Pred >::type part2;
>::type first_part;
typedef typename quick_sort<
typename second<partitioned>::type, Predicate
>::type second_part;
public:
typedef typename reverse_fold<
first_part
, typename push_front< second_part,pivot_ >::type
, push_front<_,_>
>::type type;
typedef joint_view<
joint_view< part1, single_view< typename deref<pivot>::type > >
, part2
> type;
}; };
template <typename Sequence, typename Predicate> template<
typename Seq
, typename Pred
>
struct quick_sort struct quick_sort
: eval_if< : eval_if<
empty<Sequence> empty<Seq>
, identity< Sequence > , identity<Seq>
, quick_sort_impl< Sequence,Predicate > , quick_sort_impl<Seq,Pred>
> >
{ {
}; };
} // namespace aux
template< typename Tag > template <
typename Sequence
, typename Pred
, typename In
>
struct sort_impl struct sort_impl
{ {
template< typename Sequence, typename Predicate > typedef typename quick_sort<
struct apply Sequence
{ , typename if_na<Pred,less<> >::type
typedef typename aux::quick_sort< >::type result_;
Sequence, Predicate
>::type type; typedef typename copy<result_,In>::type type;
};
}; };
BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,sort_impl) template <
typename Sequence
, typename Pred
, typename In
>
struct reverse_sort_impl
{
typedef typename quick_sort<
Sequence
, typename if_na<Pred,less<> >::type
>::type result_;
}} typedef typename reverse_copy<result_,In>::type type;
};
}}}
#endif // BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED #endif // BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED

View File

@@ -20,7 +20,7 @@ namespace boost { namespace mpl {
BOOST_MPL_AUX_COMMON_NAME_WKND(distance) BOOST_MPL_AUX_COMMON_NAME_WKND(distance)
template< typename Tag > struct advance_impl; template< typename Tag > struct distance_impl;
template< typename First, typename Last > struct distance; template< typename First, typename Last > struct distance;
}} }}

View File

@@ -24,17 +24,17 @@
# include <boost/preprocessor/stringize.hpp> # include <boost/preprocessor/stringize.hpp>
#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
# define AUX778076_HEADER \ # define AUX778076_LIST_HEADER \
BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE).hpp \ BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE).hpp \
/**/ /**/
#else #else
# define AUX778076_HEADER \ # define AUX778076_LIST_HEADER \
BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE)##.hpp \ BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE)##.hpp \
/**/ /**/
#endif #endif
# include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER) # include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_LIST_HEADER)
# undef AUX778076_HEADER # undef AUX778076_LIST_HEADER
#endif #endif
#include <boost/mpl/aux_/config/use_preprocessed.hpp> #include <boost/mpl/aux_/config/use_preprocessed.hpp>

View File

@@ -16,12 +16,12 @@
#include <boost/preprocessor/cat.hpp> #include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/stringize.hpp> #include <boost/preprocessor/stringize.hpp>
# define AUX_PREPROCESSED_HEADER \ # define AUX778076_HEADER \
aux_/preprocessed/plain/BOOST_MPL_PREPROCESSED_HEADER \ aux_/preprocessed/plain/BOOST_MPL_PREPROCESSED_HEADER \
/**/ /**/
# include BOOST_PP_STRINGIZE(boost/mpl/list/AUX_PREPROCESSED_HEADER) # include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER)
# undef AUX_PREPROCESSED_HEADER # undef AUX778076_HEADER
#undef BOOST_MPL_PREPROCESSED_HEADER #undef BOOST_MPL_PREPROCESSED_HEADER

View File

@@ -36,6 +36,7 @@ struct list1_c
> >
{ {
typedef list1_c type; typedef list1_c type;
typedef T value_type;
}; };
#else #else
@@ -58,6 +59,7 @@ struct BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c)
> >
{ {
typedef BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c) type; typedef BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c) type;
typedef T value_type;
}; };
# undef MPL_AUX_LIST_C_TAIL # undef MPL_AUX_LIST_C_TAIL

View File

@@ -23,6 +23,7 @@ struct list1_c
> >
{ {
typedef list1_c type; typedef list1_c type;
typedef T value_type;
}; };
template< template<
@@ -37,6 +38,7 @@ struct list2_c
> >
{ {
typedef list2_c type; typedef list2_c type;
typedef T value_type;
}; };
template< template<
@@ -51,6 +53,7 @@ struct list3_c
> >
{ {
typedef list3_c type; typedef list3_c type;
typedef T value_type;
}; };
template< template<
@@ -65,6 +68,7 @@ struct list4_c
> >
{ {
typedef list4_c type; typedef list4_c type;
typedef T value_type;
}; };
template< template<
@@ -79,6 +83,7 @@ struct list5_c
> >
{ {
typedef list5_c type; typedef list5_c type;
typedef T value_type;
}; };
template< template<
@@ -93,6 +98,7 @@ struct list6_c
> >
{ {
typedef list6_c type; typedef list6_c type;
typedef T value_type;
}; };
template< template<
@@ -107,6 +113,7 @@ struct list7_c
> >
{ {
typedef list7_c type; typedef list7_c type;
typedef T value_type;
}; };
template< template<
@@ -121,6 +128,7 @@ struct list8_c
> >
{ {
typedef list8_c type; typedef list8_c type;
typedef T value_type;
}; };
template< template<
@@ -135,6 +143,7 @@ struct list9_c
> >
{ {
typedef list9_c type; typedef list9_c type;
typedef T value_type;
}; };
template< template<
@@ -149,6 +158,7 @@ struct list10_c
> >
{ {
typedef list10_c type; typedef list10_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -23,6 +23,7 @@ struct list11_c
> >
{ {
typedef list11_c type; typedef list11_c type;
typedef T value_type;
}; };
template< template<
@@ -38,6 +39,7 @@ struct list12_c
> >
{ {
typedef list12_c type; typedef list12_c type;
typedef T value_type;
}; };
template< template<
@@ -53,6 +55,7 @@ struct list13_c
> >
{ {
typedef list13_c type; typedef list13_c type;
typedef T value_type;
}; };
template< template<
@@ -68,6 +71,7 @@ struct list14_c
> >
{ {
typedef list14_c type; typedef list14_c type;
typedef T value_type;
}; };
template< template<
@@ -83,6 +87,7 @@ struct list15_c
> >
{ {
typedef list15_c type; typedef list15_c type;
typedef T value_type;
}; };
template< template<
@@ -98,6 +103,7 @@ struct list16_c
> >
{ {
typedef list16_c type; typedef list16_c type;
typedef T value_type;
}; };
template< template<
@@ -113,6 +119,7 @@ struct list17_c
> >
{ {
typedef list17_c type; typedef list17_c type;
typedef T value_type;
}; };
template< template<
@@ -128,6 +135,7 @@ struct list18_c
> >
{ {
typedef list18_c type; typedef list18_c type;
typedef T value_type;
}; };
template< template<
@@ -143,6 +151,7 @@ struct list19_c
> >
{ {
typedef list19_c type; typedef list19_c type;
typedef T value_type;
}; };
template< template<
@@ -158,6 +167,7 @@ struct list20_c
> >
{ {
typedef list20_c type; typedef list20_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -24,6 +24,7 @@ struct list21_c
> >
{ {
typedef list21_c type; typedef list21_c type;
typedef T value_type;
}; };
template< template<
@@ -40,6 +41,7 @@ struct list22_c
> >
{ {
typedef list22_c type; typedef list22_c type;
typedef T value_type;
}; };
template< template<
@@ -56,6 +58,7 @@ struct list23_c
> >
{ {
typedef list23_c type; typedef list23_c type;
typedef T value_type;
}; };
template< template<
@@ -72,6 +75,7 @@ struct list24_c
> >
{ {
typedef list24_c type; typedef list24_c type;
typedef T value_type;
}; };
template< template<
@@ -88,6 +92,7 @@ struct list25_c
> >
{ {
typedef list25_c type; typedef list25_c type;
typedef T value_type;
}; };
template< template<
@@ -104,6 +109,7 @@ struct list26_c
> >
{ {
typedef list26_c type; typedef list26_c type;
typedef T value_type;
}; };
template< template<
@@ -120,6 +126,7 @@ struct list27_c
> >
{ {
typedef list27_c type; typedef list27_c type;
typedef T value_type;
}; };
template< template<
@@ -136,6 +143,7 @@ struct list28_c
> >
{ {
typedef list28_c type; typedef list28_c type;
typedef T value_type;
}; };
template< template<
@@ -152,6 +160,7 @@ struct list29_c
> >
{ {
typedef list29_c type; typedef list29_c type;
typedef T value_type;
}; };
template< template<
@@ -168,6 +177,7 @@ struct list30_c
> >
{ {
typedef list30_c type; typedef list30_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -25,6 +25,7 @@ struct list31_c
> >
{ {
typedef list31_c type; typedef list31_c type;
typedef T value_type;
}; };
template< template<
@@ -42,6 +43,7 @@ struct list32_c
> >
{ {
typedef list32_c type; typedef list32_c type;
typedef T value_type;
}; };
template< template<
@@ -59,6 +61,7 @@ struct list33_c
> >
{ {
typedef list33_c type; typedef list33_c type;
typedef T value_type;
}; };
template< template<
@@ -76,6 +79,7 @@ struct list34_c
> >
{ {
typedef list34_c type; typedef list34_c type;
typedef T value_type;
}; };
template< template<
@@ -93,6 +97,7 @@ struct list35_c
> >
{ {
typedef list35_c type; typedef list35_c type;
typedef T value_type;
}; };
template< template<
@@ -110,6 +115,7 @@ struct list36_c
> >
{ {
typedef list36_c type; typedef list36_c type;
typedef T value_type;
}; };
template< template<
@@ -127,6 +133,7 @@ struct list37_c
> >
{ {
typedef list37_c type; typedef list37_c type;
typedef T value_type;
}; };
template< template<
@@ -144,6 +151,7 @@ struct list38_c
> >
{ {
typedef list38_c type; typedef list38_c type;
typedef T value_type;
}; };
template< template<
@@ -161,6 +169,7 @@ struct list39_c
> >
{ {
typedef list39_c type; typedef list39_c type;
typedef T value_type;
}; };
template< template<
@@ -178,6 +187,7 @@ struct list40_c
> >
{ {
typedef list40_c type; typedef list40_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -26,6 +26,7 @@ struct list41_c
> >
{ {
typedef list41_c type; typedef list41_c type;
typedef T value_type;
}; };
template< template<
@@ -44,6 +45,7 @@ struct list42_c
> >
{ {
typedef list42_c type; typedef list42_c type;
typedef T value_type;
}; };
template< template<
@@ -62,6 +64,7 @@ struct list43_c
> >
{ {
typedef list43_c type; typedef list43_c type;
typedef T value_type;
}; };
template< template<
@@ -80,6 +83,7 @@ struct list44_c
> >
{ {
typedef list44_c type; typedef list44_c type;
typedef T value_type;
}; };
template< template<
@@ -98,6 +102,7 @@ struct list45_c
> >
{ {
typedef list45_c type; typedef list45_c type;
typedef T value_type;
}; };
template< template<
@@ -116,6 +121,7 @@ struct list46_c
> >
{ {
typedef list46_c type; typedef list46_c type;
typedef T value_type;
}; };
template< template<
@@ -134,6 +140,7 @@ struct list47_c
> >
{ {
typedef list47_c type; typedef list47_c type;
typedef T value_type;
}; };
template< template<
@@ -152,6 +159,7 @@ struct list48_c
> >
{ {
typedef list48_c type; typedef list48_c type;
typedef T value_type;
}; };
template< template<
@@ -170,6 +178,7 @@ struct list49_c
> >
{ {
typedef list49_c type; typedef list49_c type;
typedef T value_type;
}; };
template< template<
@@ -188,6 +197,7 @@ struct list50_c
> >
{ {
typedef list50_c type; typedef list50_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -23,6 +23,7 @@ template< typename T > struct list0_c
: l_end : l_end
{ {
typedef l_end type; typedef l_end type;
typedef T value_type;
}; };
}} }}

View File

@@ -24,17 +24,17 @@
# include <boost/preprocessor/stringize.hpp> # include <boost/preprocessor/stringize.hpp>
#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
# define AUX778076_HEADER \ # define AUX778076_LIST_C_HEADER \
BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE),_c).hpp \ BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE),_c).hpp \
/**/ /**/
#else #else
# define AUX778076_HEADER \ # define AUX778076_LIST_C_HEADER \
BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE),_c)##.hpp \ BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE),_c)##.hpp \
/**/ /**/
#endif #endif
# include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER) # include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_LIST_C_HEADER)
# undef AUX778076_HEADER # undef AUX778076_LIST_C_HEADER
# include <climits> # include <climits>
#endif #endif

View File

@@ -14,8 +14,6 @@
// $Date$ // $Date$
// $Revision$ // $Revision$
#include <boost/mpl/apply_wrap.hpp>
#include <boost/mpl/aux_/config/forwarding.hpp>
#include <boost/mpl/aux_/config/msvc.hpp> #include <boost/mpl/aux_/config/msvc.hpp>
#include <boost/mpl/aux_/config/workaround.hpp> #include <boost/mpl/aux_/config/workaround.hpp>
@@ -38,63 +36,6 @@ template< typename SourceTag, typename TargetTag > struct BOOST_MPL_AUX_NUMERIC_
template< typename N > struct apply; template< typename N > struct apply;
}; };
namespace aux {
template<
typename F
, typename Tag1
, typename Tag2
>
struct cast1st_impl
{
template< typename N1, typename N2 > struct apply
#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
: apply_wrap2<
F
, typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag1,Tag2>,N1 >::type
, N2
>
{
#else
{
typedef typename apply_wrap2<
F
, typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag1,Tag2>,N1 >::type
, N2
>::type type;
#endif
};
};
template<
typename F
, typename Tag1
, typename Tag2
>
struct cast2nd_impl
{
template< typename N1, typename N2 > struct apply
#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
: apply_wrap2<
F
, N1
, typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag2,Tag1>,N2 >::type
>
{
#else
{
typedef typename apply_wrap2<
F
, N1
, typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST<Tag2,Tag1>,N2 >::type
>::type type;
#endif
};
};
} // namespace aux
}} }}
#endif // BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED #endif // BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED

View File

@@ -24,132 +24,120 @@
#include <boost/mpl/min_max.hpp> #include <boost/mpl/min_max.hpp>
#include <boost/mpl/pair.hpp> #include <boost/mpl/pair.hpp>
#include <boost/mpl/iterator_tags.hpp> #include <boost/mpl/iterator_tags.hpp>
#include <boost/mpl/lambda.hpp>
#include <boost/mpl/aux_/msvc_eti_base.hpp>
#include <boost/mpl/aux_/iterator_names.hpp>
#include <boost/mpl/aux_/config/ctps.hpp> #include <boost/mpl/aux_/config/ctps.hpp>
#include <boost/mpl/aux_/na_spec.hpp> #include <boost/mpl/aux_/na_spec.hpp>
namespace boost { namespace mpl { namespace boost { namespace mpl {
namespace aux {
struct pair_iter_tag;
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
template< typename I1, typename I2, typename Category > template< typename Iter1, typename Iter2, typename Category >
struct pair_iter; struct pair_iter;
template< typename Category > template< typename Category > struct prior_pair_iter
struct pair_iter_ops
{ {
template< typename I1, typename I2 > struct result_ template< typename Iter1, typename Iter2 > struct apply
{ {
typedef typename mpl::next<I1>::type i1_; typedef typename mpl::prior<Iter1>::type i1_;
typedef typename mpl::next<I2>::type i2_; typedef typename mpl::prior<Iter2>::type i2_;
typedef pair_iter<i1_,i2_,Category> next; typedef pair_iter<i1_,i2_,Category> type;
typedef pair< typename deref<I1>::type, typename deref<I2>::type > type;
}; };
}; };
template<> template<> struct prior_pair_iter<forward_iterator_tag>
struct pair_iter_ops<bidirectional_iterator_tag>
{ {
template< typename I1, typename I2 > struct result_ template< typename Iter1, typename Iter2 > struct apply
{ {
typedef bidirectional_iterator_tag category; typedef pair_iter<Iter1,Iter2,forward_iterator_tag> type;
typedef typename mpl::next<I1>::type i1_;
typedef typename mpl::next<I2>::type i2_;
typedef pair_iter<i1_,i2_,category> next;
typedef typename mpl::prior<I1>::type k1_;
typedef typename mpl::prior<I2>::type k2_;
typedef pair_iter<k1_,k2_,category> prior;
}; };
}; };
template<>
struct pair_iter_ops<random_access_iterator_tag>
{
template< typename I1, typename I2 > struct result_
{
typedef random_access_iterator_tag category;
typedef typename mpl::next<I1>::type i1_;
typedef typename mpl::next<I2>::type i2_;
typedef pair_iter<i1_,i2_,category> next;
typedef typename mpl::prior<I1>::type k1_;
typedef typename mpl::prior<I2>::type k2_;
typedef pair_iter<k1_,k2_,category> prior;
template< typename Distance > struct BOOST_MPL_AUX_ITERATOR_ADVANCE
{
typedef typename advance<I1,Distance>::type iter1_;
typedef typename advance<I2,Distance>::type iter2_;
typedef pair_iter<iter1_,iter2_,category> type;
};
template< typename U > struct BOOST_MPL_AUX_ITERATOR_DISTANCE
: distance<typename U::first,I1>
{
};
};
};
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
template< typename I1, typename I2, typename Category >
struct pair_iter
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
: aux::msvc_eti_base< pair_iter_ops<Category>
::template result_<I1,I2> >::type
#endif #endif
}
template<
typename Iter1
, typename Iter2
, typename Category
>
struct pair_iter
{ {
typedef aux::pair_iter_tag tag;
typedef Category category; typedef Category category;
typedef Iter1 first;
typedef Iter2 second;
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
typedef pair<
typename deref<Iter1>::type
, typename deref<Iter2>::type
> type;
typedef typename mpl::next<Iter1>::type i1_;
typedef typename mpl::next<Iter2>::type i2_;
typedef pair_iter<i1_,i2_,Category> next;
typedef apply_wrap2< aux::prior_pair_iter<Category>,Iter1,Iter2 >::type prior;
#endif
}; };
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
template< typename I1, typename I2, typename C > template< typename Iter1, typename Iter2, typename C >
struct deref< pair_iter<I1,I2,C> > struct deref< pair_iter<Iter1,Iter2,C> >
{ {
typedef pair< typename deref<I1>::type, typename deref<I2>::type > type; typedef pair<
typename deref<Iter1>::type
, typename deref<Iter2>::type
> type;
}; };
template< typename I1, typename I2, typename C > template< typename Iter1, typename Iter2, typename C >
struct next< pair_iter<I1,I2,C> > struct next< pair_iter<Iter1,Iter2,C> >
{ {
typedef typename mpl::next<I1>::type i1_; typedef typename mpl::next<Iter1>::type i1_;
typedef typename mpl::next<I2>::type i2_; typedef typename mpl::next<Iter2>::type i2_;
typedef pair_iter<i1_,i2_,C> type; typedef pair_iter<i1_,i2_,C> type;
}; };
template< typename I1, typename I2, typename C > template< typename Iter1, typename Iter2, typename C >
struct prior< pair_iter<I1,I2,C> > struct prior< pair_iter<Iter1,Iter2,C> >
{ {
typedef typename mpl::prior<I1>::type i1_; typedef typename mpl::prior<Iter1>::type i1_;
typedef typename mpl::prior<I2>::type i2_; typedef typename mpl::prior<Iter2>::type i2_;
typedef pair_iter<i1_,i2_,C> type; typedef pair_iter<i1_,i2_,C> type;
}; };
template< typename I1, typename I2, typename C, typename Distance >
struct advance< pair_iter<I1,I2,C>,Distance>
{
typedef typename mpl::advance<I1,Distance>::type iter1_;
typedef typename mpl::advance<I2,Distance>::type iter2_;
typedef pair_iter<iter1_,iter2_,C> type;
};
template< typename I1, typename I2, typename K1, typename K2, typename C >
struct distance< pair_iter<I1,I2,C>, pair_iter<K1,K2,C> >
: mpl::distance<K1,I1>
{
};
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
template<> struct advance_impl<aux::pair_iter_tag>
{
template< typename Iter, typename D > struct apply
{
typedef typename mpl::advance< typename Iter::first,D >::type i1_;
typedef typename mpl::advance< typename Iter::second,D >::type i2_;
typedef pair_iter<i1_,i2_,typename Iter::category> type;
};
};
template<> struct distance_impl<aux::pair_iter_tag>
{
template< typename Iter1, typename Iter2 > struct apply
{
// agurt, 10/nov/04: MSVC 6.5 ICE-s on forwarding
typedef typename mpl::distance<
typename first<Iter1>::type
, typename first<Iter2>::type
>::type type;
};
};
template< template<
typename BOOST_MPL_AUX_NA_PARAM(Sequence1) typename BOOST_MPL_AUX_NA_PARAM(Sequence1)
, typename BOOST_MPL_AUX_NA_PARAM(Sequence2) , typename BOOST_MPL_AUX_NA_PARAM(Sequence2)

View File

@@ -3,6 +3,7 @@
#define BOOST_MPL_PARTITION_HPP_INCLUDED #define BOOST_MPL_PARTITION_HPP_INCLUDED
// Copyright Eric Friedman 2002-2003 // Copyright Eric Friedman 2002-2003
// Copyright Aleksey Gurtovoy 2004
// //
// Distributed under the Boost Software License, Version 1.0. // Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at // (See accompanying file LICENSE_1_0.txt or copy at
@@ -14,32 +15,38 @@
// $Date$ // $Date$
// $Revision$ // $Revision$
#include <boost/mpl/aux_/partition_op.hpp> #include <boost/mpl/stable_partition.hpp>
#include <boost/mpl/clear.hpp> #include <boost/mpl/aux_/inserter_algorithm.hpp>
#include <boost/mpl/iter_fold.hpp>
#include <boost/mpl/pair.hpp>
#include <boost/mpl/aux_/na_spec.hpp>
#include <boost/mpl/aux_/lambda_support.hpp>
namespace boost { namespace mpl { namespace boost { namespace mpl {
template < namespace aux {
typename BOOST_MPL_AUX_NA_PARAM(Sequence)
, typename BOOST_MPL_AUX_NA_PARAM(Predicate)
>
struct partition
{
typedef typename clear<Sequence>::type cleared_;
typedef typename iter_fold<
Sequence
, pair< cleared_,cleared_ >
, aux::partition_op<Predicate>
>::type type;
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,partition,(Sequence,Predicate)) template <
typename Sequence
, typename Pred
, typename In1
, typename In2
>
struct partition_impl
: stable_partition_impl<Sequence,Pred,In1,In2>
{
}; };
BOOST_MPL_AUX_NA_SPEC(2, partition) template <
typename Sequence
, typename Pred
, typename In1
, typename In2
>
struct reverse_partition_impl
: reverse_stable_partition_impl<Sequence,Pred,In1,In2>
{
};
} // namespace aux
BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, partition)
}} }}

View File

@@ -2,7 +2,7 @@
#ifndef BOOST_MPL_RANGE_C_HPP_INCLUDED #ifndef BOOST_MPL_RANGE_C_HPP_INCLUDED
#define BOOST_MPL_RANGE_C_HPP_INCLUDED #define BOOST_MPL_RANGE_C_HPP_INCLUDED
// Copyright Aleksey Gurtovoy 2000-2002 // Copyright Aleksey Gurtovoy 2000-2004
// //
// Distributed under the Boost Software License, Version 1.0. // Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at // (See accompanying file LICENSE_1_0.txt or copy at
@@ -14,7 +14,6 @@
// $Date$ // $Date$
// $Revision$ // $Revision$
#include <boost/mpl/integral_c.hpp> #include <boost/mpl/integral_c.hpp>
#include <boost/mpl/aux_/range_c/front.hpp> #include <boost/mpl/aux_/range_c/front.hpp>
#include <boost/mpl/aux_/range_c/back.hpp> #include <boost/mpl/aux_/range_c/back.hpp>
@@ -34,13 +33,14 @@ template<
struct range_c struct range_c
{ {
typedef aux::half_open_range_tag tag; typedef aux::half_open_range_tag tag;
typedef T value_type;
typedef range_c type; typedef range_c type;
typedef integral_c<T,Start> start; typedef integral_c<T,Start> start;
typedef integral_c<T,Finish> finish; typedef integral_c<T,Finish> finish;
typedef rc_iter<start> begin; typedef r_iter<start> begin;
typedef rc_iter<finish> end; typedef r_iter<finish> end;
}; };
}} }}

View File

@@ -15,7 +15,8 @@
// $Date$ // $Date$
// $Revision$ // $Revision$
#include <boost/preprocessor/enum_params.hpp> #include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
#include <boost/preprocessor/dec.hpp> #include <boost/preprocessor/dec.hpp>
#include <boost/preprocessor/cat.hpp> #include <boost/preprocessor/cat.hpp>
@@ -23,7 +24,7 @@
# define AUX778076_SET_C_TAIL(set, i_, T, C) \ # define AUX778076_SET_C_TAIL(set, i_, T, C) \
BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c)< \ BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c)< \
T, BOOST_PP_ENUM_PARAMS(i_, C) \ T BOOST_PP_ENUM_TRAILING_PARAMS(i_, C) \
> \ > \
/**/ /**/
@@ -33,7 +34,7 @@ template<
> >
struct BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c) struct BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c)
: s_item< : s_item<
integal_c<T,BOOST_PP_CAT(C,BOOST_PP_DEC(i_))> integral_c<T,BOOST_PP_CAT(C,BOOST_PP_DEC(i_))>
, AUX778076_SET_C_TAIL(set,BOOST_PP_DEC(i_), T, C) , AUX778076_SET_C_TAIL(set,BOOST_PP_DEC(i_), T, C)
> >
{ {

View File

@@ -0,0 +1,145 @@
// 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/set/Attic/set10_c.hpp" header
// -- DO NOT modify by hand!
namespace boost { namespace mpl {
template<
typename T
, T C0
>
struct set1_c
: s_item<
integral_c< T,C0 >
, set0_c<T>
>
{
typedef set1_c type;
};
template<
typename T
, T C0, T C1
>
struct set2_c
: s_item<
integral_c< T,C1 >
, set1_c< T,C0 >
>
{
typedef set2_c type;
};
template<
typename T
, T C0, T C1, T C2
>
struct set3_c
: s_item<
integral_c< T,C2 >
, set2_c< T,C0,C1 >
>
{
typedef set3_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3
>
struct set4_c
: s_item<
integral_c< T,C3 >
, set3_c< T,C0,C1,C2 >
>
{
typedef set4_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4
>
struct set5_c
: s_item<
integral_c< T,C4 >
, set4_c< T,C0,C1,C2,C3 >
>
{
typedef set5_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5
>
struct set6_c
: s_item<
integral_c< T,C5 >
, set5_c< T,C0,C1,C2,C3,C4 >
>
{
typedef set6_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6
>
struct set7_c
: s_item<
integral_c< T,C6 >
, set6_c< T,C0,C1,C2,C3,C4,C5 >
>
{
typedef set7_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7
>
struct set8_c
: s_item<
integral_c< T,C7 >
, set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
>
{
typedef set8_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8
>
struct set9_c
: s_item<
integral_c< T,C8 >
, set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
>
{
typedef set9_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9
>
struct set10_c
: s_item<
integral_c< T,C9 >
, set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
>
{
typedef set10_c type;
};
}}

View File

@@ -0,0 +1,154 @@
// 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/set/Attic/set20_c.hpp" header
// -- DO NOT modify by hand!
namespace boost { namespace mpl {
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
>
struct set11_c
: s_item<
integral_c< T,C10 >
, set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
>
{
typedef set11_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11
>
struct set12_c
: s_item<
integral_c< T,C11 >
, set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
>
{
typedef set12_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12
>
struct set13_c
: s_item<
integral_c< T,C12 >
, set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
>
{
typedef set13_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13
>
struct set14_c
: s_item<
integral_c< T,C13 >
, set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
>
{
typedef set14_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14
>
struct set15_c
: s_item<
integral_c< T,C14 >
, set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >
>
{
typedef set15_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15
>
struct set16_c
: s_item<
integral_c< T,C15 >
, set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >
>
{
typedef set16_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16
>
struct set17_c
: s_item<
integral_c< T,C16 >
, set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >
>
{
typedef set17_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17
>
struct set18_c
: s_item<
integral_c< T,C17 >
, set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >
>
{
typedef set18_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18
>
struct set19_c
: s_item<
integral_c< T,C18 >
, set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >
>
{
typedef set19_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19
>
struct set20_c
: s_item<
integral_c< T,C19 >
, set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >
>
{
typedef set20_c type;
};
}}

View File

@@ -0,0 +1,164 @@
// 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/set/Attic/set30_c.hpp" header
// -- DO NOT modify by hand!
namespace boost { namespace mpl {
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
>
struct set21_c
: s_item<
integral_c< T,C20 >
, set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >
>
{
typedef set21_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21
>
struct set22_c
: s_item<
integral_c< T,C21 >
, set21_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 >
>
{
typedef set22_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22
>
struct set23_c
: s_item<
integral_c< T,C22 >
, set22_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21 >
>
{
typedef set23_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23
>
struct set24_c
: s_item<
integral_c< T,C23 >
, set23_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22 >
>
{
typedef set24_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24
>
struct set25_c
: s_item<
integral_c< T,C24 >
, set24_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23 >
>
{
typedef set25_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25
>
struct set26_c
: s_item<
integral_c< T,C25 >
, set25_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24 >
>
{
typedef set26_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26
>
struct set27_c
: s_item<
integral_c< T,C26 >
, set26_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25 >
>
{
typedef set27_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27
>
struct set28_c
: s_item<
integral_c< T,C27 >
, set27_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26 >
>
{
typedef set28_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28
>
struct set29_c
: s_item<
integral_c< T,C28 >
, set28_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27 >
>
{
typedef set29_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29
>
struct set30_c
: s_item<
integral_c< T,C29 >
, set29_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28 >
>
{
typedef set30_c type;
};
}}

View File

@@ -0,0 +1,174 @@
// 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/set/Attic/set40_c.hpp" header
// -- DO NOT modify by hand!
namespace boost { namespace mpl {
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
>
struct set31_c
: s_item<
integral_c< T,C30 >
, set30_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29 >
>
{
typedef set31_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31
>
struct set32_c
: s_item<
integral_c< T,C31 >
, set31_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30 >
>
{
typedef set32_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32
>
struct set33_c
: s_item<
integral_c< T,C32 >
, set32_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31 >
>
{
typedef set33_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33
>
struct set34_c
: s_item<
integral_c< T,C33 >
, set33_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32 >
>
{
typedef set34_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34
>
struct set35_c
: s_item<
integral_c< T,C34 >
, set34_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33 >
>
{
typedef set35_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35
>
struct set36_c
: s_item<
integral_c< T,C35 >
, set35_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34 >
>
{
typedef set36_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36
>
struct set37_c
: s_item<
integral_c< T,C36 >
, set36_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35 >
>
{
typedef set37_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36, T C37
>
struct set38_c
: s_item<
integral_c< T,C37 >
, set37_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36 >
>
{
typedef set38_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38
>
struct set39_c
: s_item<
integral_c< T,C38 >
, set38_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37 >
>
{
typedef set39_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39
>
struct set40_c
: s_item<
integral_c< T,C39 >
, set39_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38 >
>
{
typedef set40_c type;
};
}}

View File

@@ -0,0 +1,184 @@
// 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/set/Attic/set50_c.hpp" header
// -- DO NOT modify by hand!
namespace boost { namespace mpl {
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
>
struct set41_c
: s_item<
integral_c< T,C40 >
, set40_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39 >
>
{
typedef set41_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
, T C41
>
struct set42_c
: s_item<
integral_c< T,C41 >
, set41_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40 >
>
{
typedef set42_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
, T C41, T C42
>
struct set43_c
: s_item<
integral_c< T,C42 >
, set42_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41 >
>
{
typedef set43_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
, T C41, T C42, T C43
>
struct set44_c
: s_item<
integral_c< T,C43 >
, set43_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42 >
>
{
typedef set44_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
, T C41, T C42, T C43, T C44
>
struct set45_c
: s_item<
integral_c< T,C44 >
, set44_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43 >
>
{
typedef set45_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
, T C41, T C42, T C43, T C44, T C45
>
struct set46_c
: s_item<
integral_c< T,C45 >
, set45_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44 >
>
{
typedef set46_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
, T C41, T C42, T C43, T C44, T C45, T C46
>
struct set47_c
: s_item<
integral_c< T,C46 >
, set46_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45 >
>
{
typedef set47_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
, T C41, T C42, T C43, T C44, T C45, T C46, T C47
>
struct set48_c
: s_item<
integral_c< T,C47 >
, set47_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46 >
>
{
typedef set48_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
, T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48
>
struct set49_c
: s_item<
integral_c< T,C48 >
, set48_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47 >
>
{
typedef set49_c type;
};
template<
typename T
, T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10
, T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20
, T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30
, T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40
, T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49
>
struct set50_c
: s_item<
integral_c< T,C49 >
, set49_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48 >
>
{
typedef set50_c type;
};
}}

View File

@@ -16,6 +16,7 @@
// $Revision$ // $Revision$
#include <boost/mpl/set/set0.hpp> #include <boost/mpl/set/set0.hpp>
#include <boost/mpl/integral_c.hpp>
namespace boost { namespace mpl { namespace boost { namespace mpl {
@@ -23,6 +24,7 @@ template< typename T > struct set0_c
: set0<> : set0<>
{ {
typedef set0_c type; typedef set0_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -24,17 +24,17 @@
# include <boost/preprocessor/stringize.hpp> # include <boost/preprocessor/stringize.hpp>
#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
# define AUX778076_HEADER \ # define AUX778076_SET_C_HEADER \
BOOST_PP_CAT(BOOST_PP_CAT(set,BOOST_MPL_LIMIT_VECTOR_SIZE),_c).hpp \ BOOST_PP_CAT(BOOST_PP_CAT(set,BOOST_MPL_LIMIT_SET_SIZE),_c).hpp \
/**/ /**/
#else #else
# define AUX778076_HEADER \ # define AUX778076_SET_C_HEADER \
BOOST_PP_CAT(BOOST_PP_CAT(set,BOOST_MPL_LIMIT_VECTOR_SIZE),_c)##.hpp \ BOOST_PP_CAT(BOOST_PP_CAT(set,BOOST_MPL_LIMIT_SET_SIZE),_c)##.hpp \
/**/ /**/
#endif #endif
# include BOOST_PP_STRINGIZE(boost/mpl/set/AUX778076_HEADER) # include BOOST_PP_STRINGIZE(boost/mpl/set/AUX778076_SET_C_HEADER)
# undef AUX778076_HEADER # undef AUX778076_SET_C_HEADER
# include <climits> # include <climits>
#endif #endif
@@ -51,7 +51,7 @@
# include <boost/mpl/limits/set.hpp> # include <boost/mpl/limits/set.hpp>
# define AUX778076_SEQUENCE_NAME set_c # define AUX778076_SEQUENCE_NAME set_c
# define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE # define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_SET_SIZE
# define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(set,n),_c) # define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(set,n),_c)
# define AUX778076_SEQUENCE_INTEGRAL_WRAPPER # define AUX778076_SEQUENCE_INTEGRAL_WRAPPER
# include <boost/mpl/aux_/sequence_wrapper.hpp> # include <boost/mpl/aux_/sequence_wrapper.hpp>

View File

@@ -25,8 +25,8 @@ template<
> >
struct single_view struct single_view
: iterator_range< : iterator_range<
aux::single_element_iter<T,0> aux::sel_iter<T,0>
, aux::single_element_iter<T,1> , aux::sel_iter<T,1>
> >
{ {
}; };

View File

@@ -15,27 +15,12 @@
// $Date$ // $Date$
// $Revision$ // $Revision$
#include <boost/mpl/sort_fwd.hpp>
#include <boost/mpl/less.hpp>
#include <boost/mpl/sequence_tag.hpp>
#include <boost/mpl/aux_/sort_impl.hpp> #include <boost/mpl/aux_/sort_impl.hpp>
#include <boost/mpl/aux_/na_spec.hpp> #include <boost/mpl/aux_/inserter_algorithm.hpp>
#include <boost/mpl/aux_/lambda_support.hpp>
namespace boost { namespace mpl { namespace boost { namespace mpl {
template < BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, sort)
typename BOOST_MPL_AUX_NA_PARAM(Sequence)
, typename Predicate = less<_,_>
>
struct sort
: sort_impl< typename sequence_tag<Sequence>::type >
::template apply< Sequence,Predicate >
{
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,sort,(Sequence,Predicate))
};
BOOST_MPL_AUX_NA_SPEC(1, sort)
}} }}

View File

@@ -1,29 +0,0 @@
#ifndef BOOST_MPL_SORT_FWD_HPP_INCLUDED
#define BOOST_MPL_SORT_FWD_HPP_INCLUDED
// Copyright Eric Friedman 2002-2003
// Copyright Aleksey Gurtovoy 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)
//
// See http://www.boost.org/libs/mpl for documentation.
// $Source$
// $Date$
// $Revision$
#include <boost/mpl/aux_/common_name_wknd.hpp>
namespace boost { namespace mpl {
BOOST_MPL_AUX_COMMON_NAME_WKND(sort)
template< typename Tag > struct sort_impl;
template< typename Sequence, typename Predicate > struct sort;
}}
#endif // BOOST_MPL_SORT_FWD_HPP_INCLUDED

View File

@@ -3,6 +3,7 @@
#define BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED #define BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED
// Copyright Eric Friedman 2002-2003 // Copyright Eric Friedman 2002-2003
// Copyright Aleksey Gurtovoy 2004
// //
// Distributed under the Boost Software License, Version 1.0. // Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at // (See accompanying file LICENSE_1_0.txt or copy at
@@ -14,32 +15,60 @@
// $Date$ // $Date$
// $Revision$ // $Revision$
#include <boost/mpl/fold.hpp>
#include <boost/mpl/reverse_fold.hpp>
#include <boost/mpl/protect.hpp>
#include <boost/mpl/aux_/partition_op.hpp> #include <boost/mpl/aux_/partition_op.hpp>
#include <boost/mpl/clear.hpp> #include <boost/mpl/aux_/inserter_algorithm.hpp>
#include <boost/mpl/reverse_iter_fold.hpp> #include <boost/mpl/aux_/na.hpp>
#include <boost/mpl/pair.hpp>
#include <boost/mpl/aux_/na_spec.hpp>
#include <boost/mpl/aux_/lambda_support.hpp>
namespace boost { namespace mpl { namespace boost { namespace mpl {
template < namespace aux {
typename BOOST_MPL_AUX_NA_PARAM(Sequence)
, typename BOOST_MPL_AUX_NA_PARAM(Predicate)
>
struct stable_partition
{
typedef typename clear<Sequence>::type cleared_;
typedef typename reverse_iter_fold<
Sequence
, pair< cleared_,cleared_ >
, aux::partition_op<Predicate>
>::type type;
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,stable_partition,(Sequence,Predicate)) template <
typename Sequence
, typename Pred
, typename In
, typename In2
, typename In1 = typename if_na<In,In2>::type
>
struct stable_partition_impl
: fold<
Sequence
, pair< typename In1::state, typename In2::state >
, protect< partition_op<
Pred
, typename In1::operation
, typename In2::operation
> >
>
{
}; };
BOOST_MPL_AUX_NA_SPEC(2, stable_partition) template <
typename Sequence
, typename Pred
, typename In
, typename In2
, typename In1 = typename if_na<In,In2>::type
>
struct reverse_stable_partition_impl
: reverse_fold<
Sequence
, pair< typename In1::state, typename In2::state >
, protect< partition_op<
Pred
, typename In1::operation
, typename In2::operation
> >
>
{
};
} // namespace aux
BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, stable_partition)
}} }}

View File

@@ -24,17 +24,17 @@
# include <boost/preprocessor/stringize.hpp> # include <boost/preprocessor/stringize.hpp>
#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
# define AUX778076_HEADER \ # define AUX778076_VECTOR_HEADER \
BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE).hpp \ BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE).hpp \
/**/ /**/
#else #else
# define AUX778076_HEADER \ # define AUX778076_VECTOR_HEADER \
BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE)##.hpp \ BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE)##.hpp \
/**/ /**/
#endif #endif
# include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_HEADER) # include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_VECTOR_HEADER)
# undef AUX778076_HEADER # undef AUX778076_VECTOR_HEADER
#endif #endif
#include <boost/mpl/aux_/config/use_preprocessed.hpp> #include <boost/mpl/aux_/config/use_preprocessed.hpp>

View File

@@ -21,28 +21,28 @@
#include <boost/preprocessor/stringize.hpp> #include <boost/preprocessor/stringize.hpp>
#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
# define AUX_VECTOR_INCLIDE_DIR typeof_based # define AUX778076_INCLUDE_DIR typeof_based
#elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ #elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|| defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC)
# define AUX_VECTOR_INCLIDE_DIR no_ctps # define AUX778076_INCLUDE_DIR no_ctps
#else #else
# define AUX_VECTOR_INCLIDE_DIR plain # define AUX778076_INCLUDE_DIR plain
#endif #endif
#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
# define AUX_PREPROCESSED_HEADER \ # define AUX778076_HEADER \
AUX_VECTOR_INCLIDE_DIR/BOOST_MPL_PREPROCESSED_HEADER \ AUX778076_INCLUDE_DIR/BOOST_MPL_PREPROCESSED_HEADER \
/**/ /**/
#else #else
# define AUX_PREPROCESSED_HEADER \ # define AUX778076_HEADER \
BOOST_PP_CAT(AUX_VECTOR_INCLIDE_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \ BOOST_PP_CAT(AUX778076_INCLUDE_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \
/**/ /**/
#endif #endif
# include BOOST_PP_STRINGIZE(boost/mpl/vector/aux_/preprocessed/AUX_PREPROCESSED_HEADER) # include BOOST_PP_STRINGIZE(boost/mpl/vector/aux_/preprocessed/AUX778076_HEADER)
# undef AUX_PREPROCESSED_HEADER # undef AUX778076_HEADER
# undef AUX_VECTOR_INCLIDE_DIR # undef AUX778076_INCLUDE_DIR
#undef BOOST_MPL_PREPROCESSED_HEADER #undef BOOST_MPL_PREPROCESSED_HEADER

View File

@@ -22,7 +22,6 @@
#include <boost/mpl/distance_fwd.hpp> #include <boost/mpl/distance_fwd.hpp>
#include <boost/mpl/next.hpp> #include <boost/mpl/next.hpp>
#include <boost/mpl/prior.hpp> #include <boost/mpl/prior.hpp>
#include <boost/mpl/aux_/iterator_names.hpp>
#include <boost/mpl/aux_/nttp_decl.hpp> #include <boost/mpl/aux_/nttp_decl.hpp>
#include <boost/mpl/aux_/value_wknd.hpp> #include <boost/mpl/aux_/value_wknd.hpp>
#include <boost/mpl/aux_/config/ctps.hpp> #include <boost/mpl/aux_/config/ctps.hpp>
@@ -114,6 +113,15 @@ template<> struct advance_impl<aux::v_iter_tag>
}; };
}; };
template<> struct distance_impl<aux::v_iter_tag>
{
template< typename Iter1, typename Iter2 > struct apply
{
enum { pos1_ = Iter1::pos_, pos2_ = Iter2::pos_ };
typedef long_<( pos2_ - pos1_ )> type;
BOOST_STATIC_CONSTANT(long, value = ( pos2_ - pos1_ ));
};
};
#endif #endif

View File

@@ -44,6 +44,7 @@ struct BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)
> >
{ {
typedef BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) type; typedef BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) type;
typedef T value_type;
}; };
#endif #endif
@@ -63,6 +64,8 @@ template<
struct BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) struct BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c)
: BOOST_PP_CAT(vector,i_)< BOOST_PP_REPEAT(i_,AUX778076_VECTOR_C_PARAM_FUNC,C) > : BOOST_PP_CAT(vector,i_)< BOOST_PP_REPEAT(i_,AUX778076_VECTOR_C_PARAM_FUNC,C) >
{ {
typedef BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) type;
typedef T value_type;
}; };
# undef AUX778076_VECTOR_C_PARAM_FUNC # undef AUX778076_VECTOR_C_PARAM_FUNC

View File

@@ -18,6 +18,8 @@ template<
struct vector1_c struct vector1_c
: vector1< integral_c< T,C0 > > : vector1< integral_c< T,C0 > >
{ {
typedef vector1_c type;
typedef T value_type;
}; };
template< template<
@@ -27,6 +29,8 @@ template<
struct vector2_c struct vector2_c
: vector2< integral_c< T,C0 >, integral_c< T,C1 > > : vector2< integral_c< T,C0 >, integral_c< T,C1 > >
{ {
typedef vector2_c type;
typedef T value_type;
}; };
template< template<
@@ -36,6 +40,8 @@ template<
struct vector3_c struct vector3_c
: vector3< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > > : vector3< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > >
{ {
typedef vector3_c type;
typedef T value_type;
}; };
template< template<
@@ -48,6 +54,8 @@ struct vector4_c
, C3> , C3>
> >
{ {
typedef vector4_c type;
typedef T value_type;
}; };
template< template<
@@ -60,6 +68,8 @@ struct vector5_c
, integral_c< T,C3 >, integral_c< T,C4 > , integral_c< T,C3 >, integral_c< T,C4 >
> >
{ {
typedef vector5_c type;
typedef T value_type;
}; };
template< template<
@@ -72,6 +82,8 @@ struct vector6_c
, integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >
> >
{ {
typedef vector6_c type;
typedef T value_type;
}; };
template< template<
@@ -85,6 +97,8 @@ struct vector7_c
, C6> , C6>
> >
{ {
typedef vector7_c type;
typedef T value_type;
}; };
template< template<
@@ -98,6 +112,8 @@ struct vector8_c
, integral_c< T,C7 > , integral_c< T,C7 >
> >
{ {
typedef vector8_c type;
typedef T value_type;
}; };
template< template<
@@ -111,6 +127,8 @@ struct vector9_c
, integral_c< T,C7 >, integral_c< T,C8 > , integral_c< T,C7 >, integral_c< T,C8 >
> >
{ {
typedef vector9_c type;
typedef T value_type;
}; };
template< template<
@@ -124,6 +142,8 @@ struct vector10_c
, integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
> >
{ {
typedef vector10_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -23,6 +23,8 @@ struct vector11_c
, C10> , C10>
> >
{ {
typedef vector11_c type;
typedef T value_type;
}; };
template< template<
@@ -38,6 +40,8 @@ struct vector12_c
, integral_c< T,C10 >, integral_c< T,C11 > , integral_c< T,C10 >, integral_c< T,C11 >
> >
{ {
typedef vector12_c type;
typedef T value_type;
}; };
template< template<
@@ -53,6 +57,8 @@ struct vector13_c
, integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
> >
{ {
typedef vector13_c type;
typedef T value_type;
}; };
template< template<
@@ -69,6 +75,8 @@ struct vector14_c
, C13> , C13>
> >
{ {
typedef vector14_c type;
typedef T value_type;
}; };
template< template<
@@ -85,6 +93,8 @@ struct vector15_c
, integral_c< T,C13 >, integral_c< T,C14 > , integral_c< T,C13 >, integral_c< T,C14 >
> >
{ {
typedef vector15_c type;
typedef T value_type;
}; };
template< template<
@@ -101,6 +111,8 @@ struct vector16_c
, integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
> >
{ {
typedef vector16_c type;
typedef T value_type;
}; };
template< template<
@@ -118,6 +130,8 @@ struct vector17_c
, C16> , C16>
> >
{ {
typedef vector17_c type;
typedef T value_type;
}; };
template< template<
@@ -135,6 +149,8 @@ struct vector18_c
, integral_c< T,C16 >, integral_c< T,C17 > , integral_c< T,C16 >, integral_c< T,C17 >
> >
{ {
typedef vector18_c type;
typedef T value_type;
}; };
template< template<
@@ -152,6 +168,8 @@ struct vector19_c
, integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
> >
{ {
typedef vector19_c type;
typedef T value_type;
}; };
template< template<
@@ -170,6 +188,8 @@ struct vector20_c
, C19> , C19>
> >
{ {
typedef vector20_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -27,6 +27,8 @@ struct vector21_c
, integral_c< T,C19 >, integral_c< T,C20 > , integral_c< T,C19 >, integral_c< T,C20 >
> >
{ {
typedef vector21_c type;
typedef T value_type;
}; };
template< template<
@@ -46,6 +48,8 @@ struct vector22_c
, integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
> >
{ {
typedef vector22_c type;
typedef T value_type;
}; };
template< template<
@@ -66,6 +70,8 @@ struct vector23_c
, C22> , C22>
> >
{ {
typedef vector23_c type;
typedef T value_type;
}; };
template< template<
@@ -86,6 +92,8 @@ struct vector24_c
, integral_c< T,C22 >, integral_c< T,C23 > , integral_c< T,C22 >, integral_c< T,C23 >
> >
{ {
typedef vector24_c type;
typedef T value_type;
}; };
template< template<
@@ -106,6 +114,8 @@ struct vector25_c
, integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
> >
{ {
typedef vector25_c type;
typedef T value_type;
}; };
template< template<
@@ -127,6 +137,8 @@ struct vector26_c
, C25> , C25>
> >
{ {
typedef vector26_c type;
typedef T value_type;
}; };
template< template<
@@ -148,6 +160,8 @@ struct vector27_c
, integral_c< T,C25 >, integral_c< T,C26 > , integral_c< T,C25 >, integral_c< T,C26 >
> >
{ {
typedef vector27_c type;
typedef T value_type;
}; };
template< template<
@@ -169,6 +183,8 @@ struct vector28_c
, integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
> >
{ {
typedef vector28_c type;
typedef T value_type;
}; };
template< template<
@@ -191,6 +207,8 @@ struct vector29_c
, C28> , C28>
> >
{ {
typedef vector29_c type;
typedef T value_type;
}; };
template< template<
@@ -213,6 +231,8 @@ struct vector30_c
, integral_c< T,C28 >, integral_c< T,C29 > , integral_c< T,C28 >, integral_c< T,C29 >
> >
{ {
typedef vector30_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -31,6 +31,8 @@ struct vector31_c
, integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
> >
{ {
typedef vector31_c type;
typedef T value_type;
}; };
template< template<
@@ -55,6 +57,8 @@ struct vector32_c
, C31> , C31>
> >
{ {
typedef vector32_c type;
typedef T value_type;
}; };
template< template<
@@ -79,6 +83,8 @@ struct vector33_c
, integral_c< T,C31 >, integral_c< T,C32 > , integral_c< T,C31 >, integral_c< T,C32 >
> >
{ {
typedef vector33_c type;
typedef T value_type;
}; };
template< template<
@@ -103,6 +109,8 @@ struct vector34_c
, integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
> >
{ {
typedef vector34_c type;
typedef T value_type;
}; };
template< template<
@@ -128,6 +136,8 @@ struct vector35_c
, C34> , C34>
> >
{ {
typedef vector35_c type;
typedef T value_type;
}; };
template< template<
@@ -153,6 +163,8 @@ struct vector36_c
, integral_c< T,C34 >, integral_c< T,C35 > , integral_c< T,C34 >, integral_c< T,C35 >
> >
{ {
typedef vector36_c type;
typedef T value_type;
}; };
template< template<
@@ -178,6 +190,8 @@ struct vector37_c
, integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
> >
{ {
typedef vector37_c type;
typedef T value_type;
}; };
template< template<
@@ -204,6 +218,8 @@ struct vector38_c
, C37> , C37>
> >
{ {
typedef vector38_c type;
typedef T value_type;
}; };
template< template<
@@ -230,6 +246,8 @@ struct vector39_c
, integral_c< T,C37 >, integral_c< T,C38 > , integral_c< T,C37 >, integral_c< T,C38 >
> >
{ {
typedef vector39_c type;
typedef T value_type;
}; };
template< template<
@@ -256,6 +274,8 @@ struct vector40_c
, integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
> >
{ {
typedef vector40_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -36,6 +36,8 @@ struct vector41_c
, C40> , C40>
> >
{ {
typedef vector41_c type;
typedef T value_type;
}; };
template< template<
@@ -64,6 +66,8 @@ struct vector42_c
, integral_c< T,C40 >, integral_c< T,C41 > , integral_c< T,C40 >, integral_c< T,C41 >
> >
{ {
typedef vector42_c type;
typedef T value_type;
}; };
template< template<
@@ -92,6 +96,8 @@ struct vector43_c
, integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
> >
{ {
typedef vector43_c type;
typedef T value_type;
}; };
template< template<
@@ -121,6 +127,8 @@ struct vector44_c
, C43> , C43>
> >
{ {
typedef vector44_c type;
typedef T value_type;
}; };
template< template<
@@ -150,6 +158,8 @@ struct vector45_c
, integral_c< T,C43 >, integral_c< T,C44 > , integral_c< T,C43 >, integral_c< T,C44 >
> >
{ {
typedef vector45_c type;
typedef T value_type;
}; };
template< template<
@@ -179,6 +189,8 @@ struct vector46_c
, integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
> >
{ {
typedef vector46_c type;
typedef T value_type;
}; };
template< template<
@@ -209,6 +221,8 @@ struct vector47_c
, C46> , C46>
> >
{ {
typedef vector47_c type;
typedef T value_type;
}; };
template< template<
@@ -239,6 +253,8 @@ struct vector48_c
, integral_c< T,C46 >, integral_c< T,C47 > , integral_c< T,C46 >, integral_c< T,C47 >
> >
{ {
typedef vector48_c type;
typedef T value_type;
}; };
template< template<
@@ -269,6 +285,8 @@ struct vector49_c
, integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 > , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >
> >
{ {
typedef vector49_c type;
typedef T value_type;
}; };
template< template<
@@ -300,6 +318,8 @@ struct vector50_c
, C49> , C49>
> >
{ {
typedef vector50_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -18,6 +18,8 @@ template<
struct vector1_c struct vector1_c
: vector1< integral_c< T,C0 > > : vector1< integral_c< T,C0 > >
{ {
typedef vector1_c type;
typedef T value_type;
}; };
template< template<
@@ -27,6 +29,8 @@ template<
struct vector2_c struct vector2_c
: vector2< integral_c< T,C0 >, integral_c< T,C1 > > : vector2< integral_c< T,C0 >, integral_c< T,C1 > >
{ {
typedef vector2_c type;
typedef T value_type;
}; };
template< template<
@@ -36,6 +40,8 @@ template<
struct vector3_c struct vector3_c
: vector3< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > > : vector3< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > >
{ {
typedef vector3_c type;
typedef T value_type;
}; };
template< template<
@@ -48,6 +54,8 @@ struct vector4_c
, C3> , C3>
> >
{ {
typedef vector4_c type;
typedef T value_type;
}; };
template< template<
@@ -60,6 +68,8 @@ struct vector5_c
, integral_c< T,C3 >, integral_c< T,C4 > , integral_c< T,C3 >, integral_c< T,C4 >
> >
{ {
typedef vector5_c type;
typedef T value_type;
}; };
template< template<
@@ -72,6 +82,8 @@ struct vector6_c
, integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >
> >
{ {
typedef vector6_c type;
typedef T value_type;
}; };
template< template<
@@ -85,6 +97,8 @@ struct vector7_c
, C6> , C6>
> >
{ {
typedef vector7_c type;
typedef T value_type;
}; };
template< template<
@@ -98,6 +112,8 @@ struct vector8_c
, integral_c< T,C7 > , integral_c< T,C7 >
> >
{ {
typedef vector8_c type;
typedef T value_type;
}; };
template< template<
@@ -111,6 +127,8 @@ struct vector9_c
, integral_c< T,C7 >, integral_c< T,C8 > , integral_c< T,C7 >, integral_c< T,C8 >
> >
{ {
typedef vector9_c type;
typedef T value_type;
}; };
template< template<
@@ -124,6 +142,8 @@ struct vector10_c
, integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >
> >
{ {
typedef vector10_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -23,6 +23,8 @@ struct vector11_c
, C10> , C10>
> >
{ {
typedef vector11_c type;
typedef T value_type;
}; };
template< template<
@@ -38,6 +40,8 @@ struct vector12_c
, integral_c< T,C10 >, integral_c< T,C11 > , integral_c< T,C10 >, integral_c< T,C11 >
> >
{ {
typedef vector12_c type;
typedef T value_type;
}; };
template< template<
@@ -53,6 +57,8 @@ struct vector13_c
, integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >
> >
{ {
typedef vector13_c type;
typedef T value_type;
}; };
template< template<
@@ -69,6 +75,8 @@ struct vector14_c
, C13> , C13>
> >
{ {
typedef vector14_c type;
typedef T value_type;
}; };
template< template<
@@ -85,6 +93,8 @@ struct vector15_c
, integral_c< T,C13 >, integral_c< T,C14 > , integral_c< T,C13 >, integral_c< T,C14 >
> >
{ {
typedef vector15_c type;
typedef T value_type;
}; };
template< template<
@@ -101,6 +111,8 @@ struct vector16_c
, integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >
> >
{ {
typedef vector16_c type;
typedef T value_type;
}; };
template< template<
@@ -118,6 +130,8 @@ struct vector17_c
, C16> , C16>
> >
{ {
typedef vector17_c type;
typedef T value_type;
}; };
template< template<
@@ -135,6 +149,8 @@ struct vector18_c
, integral_c< T,C16 >, integral_c< T,C17 > , integral_c< T,C16 >, integral_c< T,C17 >
> >
{ {
typedef vector18_c type;
typedef T value_type;
}; };
template< template<
@@ -152,6 +168,8 @@ struct vector19_c
, integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >
> >
{ {
typedef vector19_c type;
typedef T value_type;
}; };
template< template<
@@ -170,6 +188,8 @@ struct vector20_c
, C19> , C19>
> >
{ {
typedef vector20_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -27,6 +27,8 @@ struct vector21_c
, integral_c< T,C19 >, integral_c< T,C20 > , integral_c< T,C19 >, integral_c< T,C20 >
> >
{ {
typedef vector21_c type;
typedef T value_type;
}; };
template< template<
@@ -46,6 +48,8 @@ struct vector22_c
, integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >
> >
{ {
typedef vector22_c type;
typedef T value_type;
}; };
template< template<
@@ -66,6 +70,8 @@ struct vector23_c
, C22> , C22>
> >
{ {
typedef vector23_c type;
typedef T value_type;
}; };
template< template<
@@ -86,6 +92,8 @@ struct vector24_c
, integral_c< T,C22 >, integral_c< T,C23 > , integral_c< T,C22 >, integral_c< T,C23 >
> >
{ {
typedef vector24_c type;
typedef T value_type;
}; };
template< template<
@@ -106,6 +114,8 @@ struct vector25_c
, integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >
> >
{ {
typedef vector25_c type;
typedef T value_type;
}; };
template< template<
@@ -127,6 +137,8 @@ struct vector26_c
, C25> , C25>
> >
{ {
typedef vector26_c type;
typedef T value_type;
}; };
template< template<
@@ -148,6 +160,8 @@ struct vector27_c
, integral_c< T,C25 >, integral_c< T,C26 > , integral_c< T,C25 >, integral_c< T,C26 >
> >
{ {
typedef vector27_c type;
typedef T value_type;
}; };
template< template<
@@ -169,6 +183,8 @@ struct vector28_c
, integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >
> >
{ {
typedef vector28_c type;
typedef T value_type;
}; };
template< template<
@@ -191,6 +207,8 @@ struct vector29_c
, C28> , C28>
> >
{ {
typedef vector29_c type;
typedef T value_type;
}; };
template< template<
@@ -213,6 +231,8 @@ struct vector30_c
, integral_c< T,C28 >, integral_c< T,C29 > , integral_c< T,C28 >, integral_c< T,C29 >
> >
{ {
typedef vector30_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -31,6 +31,8 @@ struct vector31_c
, integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >
> >
{ {
typedef vector31_c type;
typedef T value_type;
}; };
template< template<
@@ -55,6 +57,8 @@ struct vector32_c
, C31> , C31>
> >
{ {
typedef vector32_c type;
typedef T value_type;
}; };
template< template<
@@ -79,6 +83,8 @@ struct vector33_c
, integral_c< T,C31 >, integral_c< T,C32 > , integral_c< T,C31 >, integral_c< T,C32 >
> >
{ {
typedef vector33_c type;
typedef T value_type;
}; };
template< template<
@@ -103,6 +109,8 @@ struct vector34_c
, integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >
> >
{ {
typedef vector34_c type;
typedef T value_type;
}; };
template< template<
@@ -128,6 +136,8 @@ struct vector35_c
, C34> , C34>
> >
{ {
typedef vector35_c type;
typedef T value_type;
}; };
template< template<
@@ -153,6 +163,8 @@ struct vector36_c
, integral_c< T,C34 >, integral_c< T,C35 > , integral_c< T,C34 >, integral_c< T,C35 >
> >
{ {
typedef vector36_c type;
typedef T value_type;
}; };
template< template<
@@ -178,6 +190,8 @@ struct vector37_c
, integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >
> >
{ {
typedef vector37_c type;
typedef T value_type;
}; };
template< template<
@@ -204,6 +218,8 @@ struct vector38_c
, C37> , C37>
> >
{ {
typedef vector38_c type;
typedef T value_type;
}; };
template< template<
@@ -230,6 +246,8 @@ struct vector39_c
, integral_c< T,C37 >, integral_c< T,C38 > , integral_c< T,C37 >, integral_c< T,C38 >
> >
{ {
typedef vector39_c type;
typedef T value_type;
}; };
template< template<
@@ -256,6 +274,8 @@ struct vector40_c
, integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >
> >
{ {
typedef vector40_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -36,6 +36,8 @@ struct vector41_c
, C40> , C40>
> >
{ {
typedef vector41_c type;
typedef T value_type;
}; };
template< template<
@@ -64,6 +66,8 @@ struct vector42_c
, integral_c< T,C40 >, integral_c< T,C41 > , integral_c< T,C40 >, integral_c< T,C41 >
> >
{ {
typedef vector42_c type;
typedef T value_type;
}; };
template< template<
@@ -92,6 +96,8 @@ struct vector43_c
, integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >
> >
{ {
typedef vector43_c type;
typedef T value_type;
}; };
template< template<
@@ -121,6 +127,8 @@ struct vector44_c
, C43> , C43>
> >
{ {
typedef vector44_c type;
typedef T value_type;
}; };
template< template<
@@ -150,6 +158,8 @@ struct vector45_c
, integral_c< T,C43 >, integral_c< T,C44 > , integral_c< T,C43 >, integral_c< T,C44 >
> >
{ {
typedef vector45_c type;
typedef T value_type;
}; };
template< template<
@@ -179,6 +189,8 @@ struct vector46_c
, integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >
> >
{ {
typedef vector46_c type;
typedef T value_type;
}; };
template< template<
@@ -209,6 +221,8 @@ struct vector47_c
, C46> , C46>
> >
{ {
typedef vector47_c type;
typedef T value_type;
}; };
template< template<
@@ -239,6 +253,8 @@ struct vector48_c
, integral_c< T,C46 >, integral_c< T,C47 > , integral_c< T,C46 >, integral_c< T,C47 >
> >
{ {
typedef vector48_c type;
typedef T value_type;
}; };
template< template<
@@ -269,6 +285,8 @@ struct vector49_c
, integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 > , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >
> >
{ {
typedef vector49_c type;
typedef T value_type;
}; };
template< template<
@@ -300,6 +318,8 @@ struct vector50_c
, C49> , C49>
> >
{ {
typedef vector50_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -22,6 +22,7 @@ struct vector1_c
> >
{ {
typedef vector1_c type; typedef vector1_c type;
typedef T value_type;
}; };
template< template<
@@ -35,6 +36,7 @@ struct vector2_c
> >
{ {
typedef vector2_c type; typedef vector2_c type;
typedef T value_type;
}; };
template< template<
@@ -48,6 +50,7 @@ struct vector3_c
> >
{ {
typedef vector3_c type; typedef vector3_c type;
typedef T value_type;
}; };
template< template<
@@ -61,6 +64,7 @@ struct vector4_c
> >
{ {
typedef vector4_c type; typedef vector4_c type;
typedef T value_type;
}; };
template< template<
@@ -74,6 +78,7 @@ struct vector5_c
> >
{ {
typedef vector5_c type; typedef vector5_c type;
typedef T value_type;
}; };
template< template<
@@ -87,6 +92,7 @@ struct vector6_c
> >
{ {
typedef vector6_c type; typedef vector6_c type;
typedef T value_type;
}; };
template< template<
@@ -100,6 +106,7 @@ struct vector7_c
> >
{ {
typedef vector7_c type; typedef vector7_c type;
typedef T value_type;
}; };
template< template<
@@ -113,6 +120,7 @@ struct vector8_c
> >
{ {
typedef vector8_c type; typedef vector8_c type;
typedef T value_type;
}; };
template< template<
@@ -126,6 +134,7 @@ struct vector9_c
> >
{ {
typedef vector9_c type; typedef vector9_c type;
typedef T value_type;
}; };
template< template<
@@ -139,6 +148,7 @@ struct vector10_c
> >
{ {
typedef vector10_c type; typedef vector10_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -22,6 +22,7 @@ struct vector11_c
> >
{ {
typedef vector11_c type; typedef vector11_c type;
typedef T value_type;
}; };
template< template<
@@ -36,6 +37,7 @@ struct vector12_c
> >
{ {
typedef vector12_c type; typedef vector12_c type;
typedef T value_type;
}; };
template< template<
@@ -50,6 +52,7 @@ struct vector13_c
> >
{ {
typedef vector13_c type; typedef vector13_c type;
typedef T value_type;
}; };
template< template<
@@ -64,6 +67,7 @@ struct vector14_c
> >
{ {
typedef vector14_c type; typedef vector14_c type;
typedef T value_type;
}; };
template< template<
@@ -78,6 +82,7 @@ struct vector15_c
> >
{ {
typedef vector15_c type; typedef vector15_c type;
typedef T value_type;
}; };
template< template<
@@ -92,6 +97,7 @@ struct vector16_c
> >
{ {
typedef vector16_c type; typedef vector16_c type;
typedef T value_type;
}; };
template< template<
@@ -106,6 +112,7 @@ struct vector17_c
> >
{ {
typedef vector17_c type; typedef vector17_c type;
typedef T value_type;
}; };
template< template<
@@ -120,6 +127,7 @@ struct vector18_c
> >
{ {
typedef vector18_c type; typedef vector18_c type;
typedef T value_type;
}; };
template< template<
@@ -134,6 +142,7 @@ struct vector19_c
> >
{ {
typedef vector19_c type; typedef vector19_c type;
typedef T value_type;
}; };
template< template<
@@ -148,6 +157,7 @@ struct vector20_c
> >
{ {
typedef vector20_c type; typedef vector20_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -23,6 +23,7 @@ struct vector21_c
> >
{ {
typedef vector21_c type; typedef vector21_c type;
typedef T value_type;
}; };
template< template<
@@ -38,6 +39,7 @@ struct vector22_c
> >
{ {
typedef vector22_c type; typedef vector22_c type;
typedef T value_type;
}; };
template< template<
@@ -53,6 +55,7 @@ struct vector23_c
> >
{ {
typedef vector23_c type; typedef vector23_c type;
typedef T value_type;
}; };
template< template<
@@ -68,6 +71,7 @@ struct vector24_c
> >
{ {
typedef vector24_c type; typedef vector24_c type;
typedef T value_type;
}; };
template< template<
@@ -83,6 +87,7 @@ struct vector25_c
> >
{ {
typedef vector25_c type; typedef vector25_c type;
typedef T value_type;
}; };
template< template<
@@ -98,6 +103,7 @@ struct vector26_c
> >
{ {
typedef vector26_c type; typedef vector26_c type;
typedef T value_type;
}; };
template< template<
@@ -113,6 +119,7 @@ struct vector27_c
> >
{ {
typedef vector27_c type; typedef vector27_c type;
typedef T value_type;
}; };
template< template<
@@ -128,6 +135,7 @@ struct vector28_c
> >
{ {
typedef vector28_c type; typedef vector28_c type;
typedef T value_type;
}; };
template< template<
@@ -143,6 +151,7 @@ struct vector29_c
> >
{ {
typedef vector29_c type; typedef vector29_c type;
typedef T value_type;
}; };
template< template<
@@ -158,6 +167,7 @@ struct vector30_c
> >
{ {
typedef vector30_c type; typedef vector30_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -24,6 +24,7 @@ struct vector31_c
> >
{ {
typedef vector31_c type; typedef vector31_c type;
typedef T value_type;
}; };
template< template<
@@ -40,6 +41,7 @@ struct vector32_c
> >
{ {
typedef vector32_c type; typedef vector32_c type;
typedef T value_type;
}; };
template< template<
@@ -56,6 +58,7 @@ struct vector33_c
> >
{ {
typedef vector33_c type; typedef vector33_c type;
typedef T value_type;
}; };
template< template<
@@ -72,6 +75,7 @@ struct vector34_c
> >
{ {
typedef vector34_c type; typedef vector34_c type;
typedef T value_type;
}; };
template< template<
@@ -88,6 +92,7 @@ struct vector35_c
> >
{ {
typedef vector35_c type; typedef vector35_c type;
typedef T value_type;
}; };
template< template<
@@ -104,6 +109,7 @@ struct vector36_c
> >
{ {
typedef vector36_c type; typedef vector36_c type;
typedef T value_type;
}; };
template< template<
@@ -120,6 +126,7 @@ struct vector37_c
> >
{ {
typedef vector37_c type; typedef vector37_c type;
typedef T value_type;
}; };
template< template<
@@ -136,6 +143,7 @@ struct vector38_c
> >
{ {
typedef vector38_c type; typedef vector38_c type;
typedef T value_type;
}; };
template< template<
@@ -152,6 +160,7 @@ struct vector39_c
> >
{ {
typedef vector39_c type; typedef vector39_c type;
typedef T value_type;
}; };
template< template<
@@ -168,6 +177,7 @@ struct vector40_c
> >
{ {
typedef vector40_c type; typedef vector40_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -25,6 +25,7 @@ struct vector41_c
> >
{ {
typedef vector41_c type; typedef vector41_c type;
typedef T value_type;
}; };
template< template<
@@ -42,6 +43,7 @@ struct vector42_c
> >
{ {
typedef vector42_c type; typedef vector42_c type;
typedef T value_type;
}; };
template< template<
@@ -59,6 +61,7 @@ struct vector43_c
> >
{ {
typedef vector43_c type; typedef vector43_c type;
typedef T value_type;
}; };
template< template<
@@ -76,6 +79,7 @@ struct vector44_c
> >
{ {
typedef vector44_c type; typedef vector44_c type;
typedef T value_type;
}; };
template< template<
@@ -93,6 +97,7 @@ struct vector45_c
> >
{ {
typedef vector45_c type; typedef vector45_c type;
typedef T value_type;
}; };
template< template<
@@ -110,6 +115,7 @@ struct vector46_c
> >
{ {
typedef vector46_c type; typedef vector46_c type;
typedef T value_type;
}; };
template< template<
@@ -127,6 +133,7 @@ struct vector47_c
> >
{ {
typedef vector47_c type; typedef vector47_c type;
typedef T value_type;
}; };
template< template<
@@ -144,6 +151,7 @@ struct vector48_c
> >
{ {
typedef vector48_c type; typedef vector48_c type;
typedef T value_type;
}; };
template< template<
@@ -161,6 +169,7 @@ struct vector49_c
> >
{ {
typedef vector49_c type; typedef vector49_c type;
typedef T value_type;
}; };
template< template<
@@ -178,6 +187,7 @@ struct vector50_c
> >
{ {
typedef vector50_c type; typedef vector50_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -15,6 +15,7 @@
// $Revision$ // $Revision$
#include <boost/mpl/vector/vector0.hpp> #include <boost/mpl/vector/vector0.hpp>
#include <boost/mpl/integral_c.hpp>
namespace boost { namespace mpl { namespace boost { namespace mpl {
@@ -22,6 +23,7 @@ template< typename T > struct vector0_c
: vector0<> : vector0<>
{ {
typedef vector0_c type; typedef vector0_c type;
typedef T value_type;
}; };
}} }}

View File

@@ -24,17 +24,17 @@
# include <boost/preprocessor/stringize.hpp> # include <boost/preprocessor/stringize.hpp>
#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING)
# define AUX778076_HEADER \ # define AUX778076_VECTOR_C_HEADER \
BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE),_c).hpp \ BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE),_c).hpp \
/**/ /**/
#else #else
# define AUX778076_HEADER \ # define AUX778076_VECTOR_C_HEADER \
BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE),_c)##.hpp \ BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE),_c)##.hpp \
/**/ /**/
#endif #endif
# include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_HEADER) # include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_VECTOR_C_HEADER)
# undef AUX778076_HEADER # undef AUX778076_VECTOR_C_HEADER
# include <climits> # include <climits>
#endif #endif