mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 21:21:32 +00:00
update boost to version 1.29.0
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5420 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
4ec4af2205
commit
7cdb527983
@ -1,3 +1,7 @@
|
||||
2002-10-15 Lars Gullik Bjønnes <larsbj@birdstep.com>
|
||||
|
||||
* update boost to version 1.29.0.
|
||||
|
||||
2002-08-20 Lars Gullik Bjønnes <larsbj@gullik.net>
|
||||
|
||||
* update boost, we have almost no local changes to the boost files
|
||||
|
@ -11,6 +11,7 @@
|
||||
* This software is provided "as is" without express or implied
|
||||
* warranty, and with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* 23 Aug 2002 - fix for Non-MSVC compilers combined with MSVC libraries.
|
||||
* 05 Aug 2001 - minor update (Nico Josuttis)
|
||||
* 20 Jan 2001 - STLport fix (Beman Dawes)
|
||||
* 29 Sep 2000 - Initial Revision (Nico Josuttis)
|
||||
@ -20,7 +21,9 @@
|
||||
|
||||
#include <cstddef>
|
||||
#include <stdexcept>
|
||||
#include <iterator>
|
||||
|
||||
// Handles broken standard libraries better than <iterator>
|
||||
#include <boost/detail/iterator.hpp>
|
||||
#include <algorithm>
|
||||
|
||||
// FIXES for broken compilers
|
||||
@ -50,15 +53,15 @@ namespace boost {
|
||||
const_iterator end() const { return elems+N; }
|
||||
|
||||
// reverse iterator support
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR)
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS)
|
||||
typedef std::reverse_iterator<iterator> reverse_iterator;
|
||||
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||
#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300)
|
||||
#elif (defined(BOOST_MSVC) && (BOOST_MSVC == 1300) || (defined(__ICL) && defined(_CPPLIB_VER) && (_CPPLIB_VER == 310))) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
|
||||
// workaround for broken reverse_iterator in VC7
|
||||
typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, iterator,
|
||||
reference, iterator, reference> > reverse_iterator;
|
||||
typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, const_iterator,
|
||||
const_reference, iterator, reference> > const_reverse_iterator;
|
||||
const_reference, iterator, reference> > const_reverse_iterator;
|
||||
#else
|
||||
// workaround for broken reverse_iterator implementations
|
||||
typedef std::reverse_iterator<iterator,T> reverse_iterator;
|
||||
@ -161,3 +164,6 @@ namespace boost {
|
||||
|
||||
#endif /*BOOST_ARRAY_HPP*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -166,9 +166,9 @@ public:
|
||||
|
||||
explicit list1(A1 a1): a1_(a1) {}
|
||||
|
||||
A1 operator[] (arg<1>) const { return a1_; }
|
||||
A1 operator[] (boost::arg<1>) const { return a1_; }
|
||||
|
||||
A1 operator[] (arg<1> (*) ()) const { return a1_; }
|
||||
A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
|
||||
|
||||
template<class T> T & operator[] (value<T> & v) const { return v.get(); }
|
||||
|
||||
@ -212,11 +212,11 @@ public:
|
||||
|
||||
list2(A1 a1, A2 a2): a1_(a1), a2_(a2) {}
|
||||
|
||||
A1 operator[] (arg<1>) const { return a1_; }
|
||||
A2 operator[] (arg<2>) const { return a2_; }
|
||||
A1 operator[] (boost::arg<1>) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2>) const { return a2_; }
|
||||
|
||||
A1 operator[] (arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (arg<2> (*) ()) const { return a2_; }
|
||||
A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
|
||||
|
||||
template<class T> T & operator[] (value<T> & v) const { return v.get(); }
|
||||
|
||||
@ -262,13 +262,13 @@ public:
|
||||
|
||||
list3(A1 a1, A2 a2, A3 a3): a1_(a1), a2_(a2), a3_(a3) {}
|
||||
|
||||
A1 operator[] (arg<1>) const { return a1_; }
|
||||
A2 operator[] (arg<2>) const { return a2_; }
|
||||
A3 operator[] (arg<3>) const { return a3_; }
|
||||
A1 operator[] (boost::arg<1>) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2>) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3>) const { return a3_; }
|
||||
|
||||
A1 operator[] (arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (arg<3> (*) ()) const { return a3_; }
|
||||
A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
|
||||
|
||||
template<class T> T & operator[] (value<T> & v) const { return v.get(); }
|
||||
|
||||
@ -316,15 +316,15 @@ public:
|
||||
|
||||
list4(A1 a1, A2 a2, A3 a3, A4 a4): a1_(a1), a2_(a2), a3_(a3), a4_(a4) {}
|
||||
|
||||
A1 operator[] (arg<1>) const { return a1_; }
|
||||
A2 operator[] (arg<2>) const { return a2_; }
|
||||
A3 operator[] (arg<3>) const { return a3_; }
|
||||
A4 operator[] (arg<4>) const { return a4_; }
|
||||
A1 operator[] (boost::arg<1>) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2>) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3>) const { return a3_; }
|
||||
A4 operator[] (boost::arg<4>) const { return a4_; }
|
||||
|
||||
A1 operator[] (arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (arg<3> (*) ()) const { return a3_; }
|
||||
A4 operator[] (arg<4> (*) ()) const { return a4_; }
|
||||
A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
|
||||
A4 operator[] (boost::arg<4> (*) ()) const { return a4_; }
|
||||
|
||||
template<class T> T & operator[] (value<T> & v) const { return v.get(); }
|
||||
|
||||
@ -374,17 +374,17 @@ public:
|
||||
|
||||
list5(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5): a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5) {}
|
||||
|
||||
A1 operator[] (arg<1>) const { return a1_; }
|
||||
A2 operator[] (arg<2>) const { return a2_; }
|
||||
A3 operator[] (arg<3>) const { return a3_; }
|
||||
A4 operator[] (arg<4>) const { return a4_; }
|
||||
A5 operator[] (arg<5>) const { return a5_; }
|
||||
A1 operator[] (boost::arg<1>) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2>) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3>) const { return a3_; }
|
||||
A4 operator[] (boost::arg<4>) const { return a4_; }
|
||||
A5 operator[] (boost::arg<5>) const { return a5_; }
|
||||
|
||||
A1 operator[] (arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (arg<3> (*) ()) const { return a3_; }
|
||||
A4 operator[] (arg<4> (*) ()) const { return a4_; }
|
||||
A5 operator[] (arg<5> (*) ()) const { return a5_; }
|
||||
A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
|
||||
A4 operator[] (boost::arg<4> (*) ()) const { return a4_; }
|
||||
A5 operator[] (boost::arg<5> (*) ()) const { return a5_; }
|
||||
|
||||
template<class T> T & operator[] (value<T> & v) const { return v.get(); }
|
||||
|
||||
@ -436,19 +436,19 @@ public:
|
||||
|
||||
list6(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6): a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6) {}
|
||||
|
||||
A1 operator[] (arg<1>) const { return a1_; }
|
||||
A2 operator[] (arg<2>) const { return a2_; }
|
||||
A3 operator[] (arg<3>) const { return a3_; }
|
||||
A4 operator[] (arg<4>) const { return a4_; }
|
||||
A5 operator[] (arg<5>) const { return a5_; }
|
||||
A6 operator[] (arg<6>) const { return a6_; }
|
||||
A1 operator[] (boost::arg<1>) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2>) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3>) const { return a3_; }
|
||||
A4 operator[] (boost::arg<4>) const { return a4_; }
|
||||
A5 operator[] (boost::arg<5>) const { return a5_; }
|
||||
A6 operator[] (boost::arg<6>) const { return a6_; }
|
||||
|
||||
A1 operator[] (arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (arg<3> (*) ()) const { return a3_; }
|
||||
A4 operator[] (arg<4> (*) ()) const { return a4_; }
|
||||
A5 operator[] (arg<5> (*) ()) const { return a5_; }
|
||||
A6 operator[] (arg<6> (*) ()) const { return a6_; }
|
||||
A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
|
||||
A4 operator[] (boost::arg<4> (*) ()) const { return a4_; }
|
||||
A5 operator[] (boost::arg<5> (*) ()) const { return a5_; }
|
||||
A6 operator[] (boost::arg<6> (*) ()) const { return a6_; }
|
||||
|
||||
template<class T> T & operator[] (value<T> & v) const { return v.get(); }
|
||||
|
||||
@ -502,21 +502,21 @@ public:
|
||||
|
||||
list7(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7): a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7) {}
|
||||
|
||||
A1 operator[] (arg<1>) const { return a1_; }
|
||||
A2 operator[] (arg<2>) const { return a2_; }
|
||||
A3 operator[] (arg<3>) const { return a3_; }
|
||||
A4 operator[] (arg<4>) const { return a4_; }
|
||||
A5 operator[] (arg<5>) const { return a5_; }
|
||||
A6 operator[] (arg<6>) const { return a6_; }
|
||||
A7 operator[] (arg<7>) const { return a7_; }
|
||||
A1 operator[] (boost::arg<1>) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2>) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3>) const { return a3_; }
|
||||
A4 operator[] (boost::arg<4>) const { return a4_; }
|
||||
A5 operator[] (boost::arg<5>) const { return a5_; }
|
||||
A6 operator[] (boost::arg<6>) const { return a6_; }
|
||||
A7 operator[] (boost::arg<7>) const { return a7_; }
|
||||
|
||||
A1 operator[] (arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (arg<3> (*) ()) const { return a3_; }
|
||||
A4 operator[] (arg<4> (*) ()) const { return a4_; }
|
||||
A5 operator[] (arg<5> (*) ()) const { return a5_; }
|
||||
A6 operator[] (arg<6> (*) ()) const { return a6_; }
|
||||
A7 operator[] (arg<7> (*) ()) const { return a7_; }
|
||||
A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
|
||||
A4 operator[] (boost::arg<4> (*) ()) const { return a4_; }
|
||||
A5 operator[] (boost::arg<5> (*) ()) const { return a5_; }
|
||||
A6 operator[] (boost::arg<6> (*) ()) const { return a6_; }
|
||||
A7 operator[] (boost::arg<7> (*) ()) const { return a7_; }
|
||||
|
||||
template<class T> T & operator[] (value<T> & v) const { return v.get(); }
|
||||
|
||||
@ -572,23 +572,23 @@ public:
|
||||
|
||||
list8(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8): a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8) {}
|
||||
|
||||
A1 operator[] (arg<1>) const { return a1_; }
|
||||
A2 operator[] (arg<2>) const { return a2_; }
|
||||
A3 operator[] (arg<3>) const { return a3_; }
|
||||
A4 operator[] (arg<4>) const { return a4_; }
|
||||
A5 operator[] (arg<5>) const { return a5_; }
|
||||
A6 operator[] (arg<6>) const { return a6_; }
|
||||
A7 operator[] (arg<7>) const { return a7_; }
|
||||
A8 operator[] (arg<8>) const { return a8_; }
|
||||
A1 operator[] (boost::arg<1>) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2>) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3>) const { return a3_; }
|
||||
A4 operator[] (boost::arg<4>) const { return a4_; }
|
||||
A5 operator[] (boost::arg<5>) const { return a5_; }
|
||||
A6 operator[] (boost::arg<6>) const { return a6_; }
|
||||
A7 operator[] (boost::arg<7>) const { return a7_; }
|
||||
A8 operator[] (boost::arg<8>) const { return a8_; }
|
||||
|
||||
A1 operator[] (arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (arg<3> (*) ()) const { return a3_; }
|
||||
A4 operator[] (arg<4> (*) ()) const { return a4_; }
|
||||
A5 operator[] (arg<5> (*) ()) const { return a5_; }
|
||||
A6 operator[] (arg<6> (*) ()) const { return a6_; }
|
||||
A7 operator[] (arg<7> (*) ()) const { return a7_; }
|
||||
A8 operator[] (arg<8> (*) ()) const { return a8_; }
|
||||
A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
|
||||
A4 operator[] (boost::arg<4> (*) ()) const { return a4_; }
|
||||
A5 operator[] (boost::arg<5> (*) ()) const { return a5_; }
|
||||
A6 operator[] (boost::arg<6> (*) ()) const { return a6_; }
|
||||
A7 operator[] (boost::arg<7> (*) ()) const { return a7_; }
|
||||
A8 operator[] (boost::arg<8> (*) ()) const { return a8_; }
|
||||
|
||||
template<class T> T & operator[] (value<T> & v) const { return v.get(); }
|
||||
|
||||
@ -646,25 +646,25 @@ public:
|
||||
|
||||
list9(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9): a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9) {}
|
||||
|
||||
A1 operator[] (arg<1>) const { return a1_; }
|
||||
A2 operator[] (arg<2>) const { return a2_; }
|
||||
A3 operator[] (arg<3>) const { return a3_; }
|
||||
A4 operator[] (arg<4>) const { return a4_; }
|
||||
A5 operator[] (arg<5>) const { return a5_; }
|
||||
A6 operator[] (arg<6>) const { return a6_; }
|
||||
A7 operator[] (arg<7>) const { return a7_; }
|
||||
A8 operator[] (arg<8>) const { return a8_; }
|
||||
A9 operator[] (arg<9>) const { return a9_; }
|
||||
A1 operator[] (boost::arg<1>) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2>) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3>) const { return a3_; }
|
||||
A4 operator[] (boost::arg<4>) const { return a4_; }
|
||||
A5 operator[] (boost::arg<5>) const { return a5_; }
|
||||
A6 operator[] (boost::arg<6>) const { return a6_; }
|
||||
A7 operator[] (boost::arg<7>) const { return a7_; }
|
||||
A8 operator[] (boost::arg<8>) const { return a8_; }
|
||||
A9 operator[] (boost::arg<9>) const { return a9_; }
|
||||
|
||||
A1 operator[] (arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (arg<3> (*) ()) const { return a3_; }
|
||||
A4 operator[] (arg<4> (*) ()) const { return a4_; }
|
||||
A5 operator[] (arg<5> (*) ()) const { return a5_; }
|
||||
A6 operator[] (arg<6> (*) ()) const { return a6_; }
|
||||
A7 operator[] (arg<7> (*) ()) const { return a7_; }
|
||||
A8 operator[] (arg<8> (*) ()) const { return a8_; }
|
||||
A9 operator[] (arg<9> (*) ()) const { return a9_; }
|
||||
A1 operator[] (boost::arg<1> (*) ()) const { return a1_; }
|
||||
A2 operator[] (boost::arg<2> (*) ()) const { return a2_; }
|
||||
A3 operator[] (boost::arg<3> (*) ()) const { return a3_; }
|
||||
A4 operator[] (boost::arg<4> (*) ()) const { return a4_; }
|
||||
A5 operator[] (boost::arg<5> (*) ()) const { return a5_; }
|
||||
A6 operator[] (boost::arg<6> (*) ()) const { return a6_; }
|
||||
A7 operator[] (boost::arg<7> (*) ()) const { return a7_; }
|
||||
A8 operator[] (boost::arg<8> (*) ()) const { return a8_; }
|
||||
A9 operator[] (boost::arg<9> (*) ()) const { return a9_; }
|
||||
|
||||
template<class T> T & operator[] (value<T> & v) const { return v.get(); }
|
||||
|
||||
@ -989,12 +989,12 @@ template<class T> struct add_value< reference_wrapper<T> >
|
||||
|
||||
template<int I> struct add_value< arg<I> >
|
||||
{
|
||||
typedef arg<I> type;
|
||||
typedef boost::arg<I> type;
|
||||
};
|
||||
|
||||
template<int I> struct add_value< arg<I> (*) () >
|
||||
{
|
||||
typedef arg<I> (*type) ();
|
||||
typedef boost::arg<I> (*type) ();
|
||||
};
|
||||
|
||||
template<class R, class F, class L> struct add_value< bind_t<R, F, L> >
|
||||
@ -1404,12 +1404,12 @@ template<class F, class A1, class A2, class A3, class A4, class A5, class A6, cl
|
||||
// data member pointers
|
||||
|
||||
template<class R, class T, class A1>
|
||||
_bi::bind_t< R, _mfi::dm<R, T>, typename _bi::list_av_1<A1>::type >
|
||||
_bi::bind_t< R const &, _mfi::dm<R, T>, typename _bi::list_av_1<A1>::type >
|
||||
BOOST_BIND(R T::*f, A1 a1)
|
||||
{
|
||||
typedef _mfi::dm<R, T> F;
|
||||
typedef typename _bi::list_av_1<A1>::type list_type;
|
||||
return _bi::bind_t<R, F, list_type>(F(f), list_type(a1));
|
||||
return _bi::bind_t<R const &, F, list_type>(F(f), list_type(a1));
|
||||
}
|
||||
|
||||
} // namespace boost
|
||||
|
@ -48,6 +48,43 @@ inline void function_requires(type<Concept>* = 0)
|
||||
#endif
|
||||
}
|
||||
|
||||
#define BOOST_CLASS_REQUIRE(type_var, ns, concept) \
|
||||
typedef void (ns::concept <type_var>::* func##type_var##concept)(); \
|
||||
template <func##type_var##concept _Tp1> \
|
||||
struct concept_checking_##type_var##concept { }; \
|
||||
typedef concept_checking_##type_var##concept< \
|
||||
BOOST_FPTR ns::concept<type_var>::constraints> \
|
||||
concept_checking_typedef_##type_var##concept
|
||||
|
||||
#define BOOST_CLASS_REQUIRE2(type_var1, type_var2, ns, concept) \
|
||||
typedef void (ns::concept <type_var1,type_var2>::* \
|
||||
func##type_var1##type_var2##concept)(); \
|
||||
template <func##type_var1##type_var2##concept _Tp1> \
|
||||
struct concept_checking_##type_var1##type_var2##concept { }; \
|
||||
typedef concept_checking_##type_var1##type_var2##concept< \
|
||||
BOOST_FPTR ns::concept<type_var1,type_var2>::constraints> \
|
||||
concept_checking_typedef_##type_var1##type_var2##concept
|
||||
|
||||
#define BOOST_CLASS_REQUIRE3(tv1, tv2, tv3, ns, concept) \
|
||||
typedef void (ns::concept <tv1,tv2,tv3>::* \
|
||||
func##tv1##tv2##tv3##concept)(); \
|
||||
template <func##tv1##tv2##tv3##concept _Tp1> \
|
||||
struct concept_checking_##tv1##tv2##tv3##concept { }; \
|
||||
typedef concept_checking_##tv1##tv2##tv3##concept< \
|
||||
BOOST_FPTR ns::concept<tv1,tv2,tv3>::constraints> \
|
||||
concept_checking_typedef_##tv1##tv2##tv3##concept
|
||||
|
||||
#define BOOST_CLASS_REQUIRE4(tv1, tv2, tv3, tv4, ns, concept) \
|
||||
typedef void (ns::concept <tv1,tv2,tv3,tv4>::* \
|
||||
func##tv1##tv2##tv3##tv4##concept)(); \
|
||||
template <func##tv1##tv2##tv3##tv4##concept _Tp1> \
|
||||
struct concept_checking_##tv1##tv2##tv3##tv4##concept { }; \
|
||||
typedef concept_checking_##tv1##tv2##tv3##tv4##concept< \
|
||||
BOOST_FPTR ns::concept<tv1,tv2,tv3,tv4>::constraints> \
|
||||
concept_checking_typedef_##tv1##tv2##tv3##tv4##concept
|
||||
|
||||
// NOTE: The BOOST_CLASS_REQUIRES (with an 'S' at the end) is deprecated.
|
||||
|
||||
// The BOOST_CLASS_REQUIRES macros use function pointers as
|
||||
// template parameters, which VC++ does not support.
|
||||
|
||||
|
@ -24,18 +24,44 @@
|
||||
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
#endif
|
||||
|
||||
// Version 6.0 and below:
|
||||
#if (__BORLANDC__ <= 0x560) || !defined(BOOST_STRICT_CONFIG)
|
||||
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
// Version 7.0 (Kylix) and below:
|
||||
#if (__BORLANDC__ <= 0x570) || !defined(BOOST_STRICT_CONFIG)
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
# define BOOST_NO_PRIVATE_IN_AGGREGATE
|
||||
# define BOOST_NO_SWPRINTF
|
||||
# define BOOST_NO_USING_TEMPLATE
|
||||
# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
|
||||
# define BOOST_NO_TEMPLATE_TEMPLATES
|
||||
// we shouldn't really need this - but too many things choke
|
||||
// without it, this needs more investigation:
|
||||
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
|
||||
//
|
||||
// new bug in 5.61:
|
||||
#if __BORLANDC__ >= 0x561
|
||||
// this seems to be needed by the command line compiler, but not the IDE:
|
||||
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
||||
#endif
|
||||
|
||||
# ifdef _WIN32
|
||||
# define BOOST_NO_SWPRINTF
|
||||
# elif defined(linux) || defined(__linux__) || defined(__linux)
|
||||
// we should really be able to do without this
|
||||
// but the wcs* functions aren't imported into std::
|
||||
# define BOOST_NO_STDC_NAMESPACE
|
||||
// _CPPUNWIND doesn't get automatically set for some reason:
|
||||
# pragma defineonoption BOOST_CPPUNWIND -x
|
||||
# endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Post 0x561 we have long long and stdint.h:
|
||||
#if __BORLANDC__ >= 0x561
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
// On non-Win32 platforms let the platform config figure this out:
|
||||
# ifdef _WIN32
|
||||
# define BOOST_HAS_STDINT_H
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is
|
||||
@ -56,7 +82,7 @@
|
||||
//
|
||||
// check for exception handling support:
|
||||
//
|
||||
#ifndef _CPPUNWIND
|
||||
#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
//
|
||||
@ -77,8 +103,8 @@
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 5.6:
|
||||
#if (__BORLANDC__ > 0x560)
|
||||
// last known and checked version is 5.7 (Kylix 3):
|
||||
#if (__BORLANDC__ > 0x570)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
@ -88,3 +114,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
//
|
||||
// This is included from within the individual compiler mini-configs.
|
||||
|
||||
#ifndef __EDG_VERSION__
|
||||
#ifndef __EDG_VERSION__
|
||||
# error This file requires that __EDG_VERSION__ be defined.
|
||||
#endif
|
||||
|
||||
@ -26,7 +26,12 @@
|
||||
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
#endif
|
||||
|
||||
# if !defined(__EXCEPTIONS)
|
||||
#if (__EDG_VERSION__ <= 245) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)
|
||||
# define BOOST_NO_TEMPLATE_TEMPLATES
|
||||
#endif
|
||||
|
||||
// See also kai.hpp which checks a Kai-specific symbol for EH
|
||||
# if !defined(__KCC) && !defined(__EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
# endif
|
||||
|
||||
|
@ -32,6 +32,8 @@
|
||||
// variable scoping. (reported by Thomas Witt)
|
||||
// Intel C++ 6.0 (currently in Beta test) doesn't have any front-end
|
||||
// changes at all. (reported by Kirk Klobe)
|
||||
// That can't be right, since it supports template template
|
||||
// arguments (reported by Dave Abrahams)
|
||||
# ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
# endif
|
||||
|
@ -14,6 +14,11 @@
|
||||
# define BOOST_NO_STDC_NAMESPACE
|
||||
# endif
|
||||
|
||||
// see also common_edg.hpp which needs a special check for __KCC
|
||||
# if !defined(_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
# endif
|
||||
|
||||
#define BOOST_COMPILER "Kai C++ version " BOOST_STRINGIZE(__KCC_VERSION)
|
||||
|
||||
//
|
||||
|
@ -36,6 +36,8 @@
|
||||
# define BOOST_COMPILER_VERSION 8.0
|
||||
# elif __MWERKS__ == 0x3001
|
||||
# define BOOST_COMPILER_VERSION 8.1
|
||||
# elif __MWERKS__ == 0x3002
|
||||
# define BOOST_COMPILER_VERSION 8.2
|
||||
# else
|
||||
# define BOOST_COMPILER_VERSION __MWERKS__
|
||||
# endif
|
||||
@ -49,8 +51,8 @@
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 0x3001:
|
||||
#if (__MWERKS__ > 0x3001)
|
||||
// last known and checked version:
|
||||
#if (__MWERKS__ > 0x3002)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
|
@ -7,9 +7,21 @@
|
||||
|
||||
// Visual Age (IBM) C++ compiler setup:
|
||||
|
||||
#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
#define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
#define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
||||
#if __IBMCPP__ <= 501
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
||||
#endif
|
||||
|
||||
#if (__IBMCPP__ <= 502) || !defined(BOOST_STRICT_CONFIG)
|
||||
// Actually the compiler supports inclass member initialization but it
|
||||
// requires a definition for the class member and it doesn't recognize
|
||||
// it as an integral constant expression when used as a template argument.
|
||||
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
#endif
|
||||
|
||||
//
|
||||
// On AIX thread support seems to be indicated by _THREAD_SAFE:
|
||||
//
|
||||
@ -27,7 +39,7 @@
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 500:
|
||||
#if (__IBMCPP__ > 500)
|
||||
#if (__IBMCPP__ > 502)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
|
@ -17,11 +17,12 @@
|
||||
# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
|
||||
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
|
||||
# define BOOST_NO_VOID_RETURNS
|
||||
# define BOOST_NO_EXCEPTION_STD_NAMESPACE
|
||||
// disable min/max macro defines on vc6:
|
||||
//
|
||||
#endif
|
||||
|
||||
#if (_MSC_VER <= 1300) // || !defined(BOOST_STRICT_CONFIG) // VC7 Beta 2 or later
|
||||
#if (_MSC_VER <= 1300)
|
||||
|
||||
#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) // VC7 bug with /Za
|
||||
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
|
||||
@ -51,7 +52,7 @@
|
||||
|
||||
#endif
|
||||
|
||||
#if _MSC_VER <= 1301
|
||||
#if _MSC_VER < 1310
|
||||
# define BOOST_NO_SWPRINTF
|
||||
#endif
|
||||
|
||||
@ -71,6 +72,9 @@
|
||||
#if (_MSC_VER >= 1200) && defined(_MSC_EXTENSIONS)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
#endif
|
||||
#if (_MSC_VER >= 1310) && defined(_MSC_EXTENSIONS)
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
#endif
|
||||
//
|
||||
// disable Win32 API's if compiler extentions are
|
||||
// turned off:
|
||||
@ -83,6 +87,8 @@
|
||||
# define BOOST_COMPILER_VERSION 6.0
|
||||
# elif _MSC_VER == 1300
|
||||
# define BOOST_COMPILER_VERSION 7.0
|
||||
# elif _MSC_VER == 1310
|
||||
# define BOOST_COMPILER_VERSION 7.1
|
||||
# else
|
||||
# define BOOST_COMPILER_VERSION _MSC_VER
|
||||
# endif
|
||||
@ -108,3 +114,5 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -10,12 +10,20 @@
|
||||
#define BOOST_PLATFORM "IBM Aix"
|
||||
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#define BOOST_HAS_PTHREADS
|
||||
#define BOOST_HAS_NL_TYPES_H
|
||||
#define BOOST_HAS_NANOSLEEP
|
||||
#define BOOST_HAS_CLOCK_GETTIME
|
||||
|
||||
// This needs support in "boost/cstdint.hpp" exactly like FreeBSD.
|
||||
// This platform has header named <inttypes.h> which includes all
|
||||
// the things needed.
|
||||
#define BOOST_HAS_STDINT_H
|
||||
|
||||
// Threading API's:
|
||||
#define BOOST_HAS_PTHREADS
|
||||
#define BOOST_HAS_PTHREAD_DELAY_NP
|
||||
#define BOOST_HAS_PTHREAD_YIELD
|
||||
#define BOOST_HAS_SCHED_YIELD
|
||||
//#define BOOST_HAS_PTHREAD_YIELD
|
||||
|
||||
// boilerplate code:
|
||||
#include <boost/config/posix_features.hpp>
|
||||
|
@ -21,7 +21,7 @@
|
||||
# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(_STD) // can be defined in yvals.h
|
||||
# define BOOST_NO_STDC_NAMESPACE
|
||||
# endif
|
||||
# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0))
|
||||
# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300))
|
||||
# define BOOST_NO_STD_ALLOCATOR
|
||||
# endif
|
||||
# if defined(_MSC_VER) && (_MSC_VER < 1300)
|
||||
@ -33,6 +33,10 @@
|
||||
// and nor is <exception>
|
||||
# define BOOST_NO_EXCEPTION_STD_NAMESPACE
|
||||
# endif
|
||||
// There's no numeric_limits<long long> support unless _LONGLONG is defined:
|
||||
# if !defined(_LONGLONG) && (_CPPLIB_VER <= 310)
|
||||
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
|
||||
# endif
|
||||
// 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>,
|
||||
// and no <slist> at all
|
||||
#else
|
||||
@ -59,6 +63,12 @@
|
||||
# define BOOST_NO_STD_ITERATOR_TRAITS
|
||||
#endif
|
||||
|
||||
#if defined(__ICL) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310)
|
||||
// Intel C++ chokes over any non-trivial use of <locale>
|
||||
// this may be an overly restrictive define, but regex fails without it:
|
||||
# define BOOST_NO_STD_LOCALE
|
||||
#endif
|
||||
|
||||
#ifdef _CPPLIB_VER
|
||||
# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
|
||||
#else
|
||||
@ -68,3 +78,5 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -5,8 +5,11 @@
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
#if __IBMCPP__ <= 501
|
||||
# define BOOST_NO_STD_ALLOCATOR
|
||||
#endif
|
||||
|
||||
#define BOOST_HAS_MACRO_USE_FACET
|
||||
#define BOOST_NO_STD_ALLOCATOR
|
||||
|
||||
#define BOOST_STDLIB "Visual Age default standard library"
|
||||
|
||||
|
@ -35,7 +35,7 @@
|
||||
// this is triggered with GCC, because it defines __cplusplus < 199707L
|
||||
# define BOOST_NO_INT64_T
|
||||
# endif
|
||||
# elif defined(__FreeBSD__)
|
||||
# elif defined(__FreeBSD__) || defined(__IBMCPP__)
|
||||
# include <inttypes.h>
|
||||
# else
|
||||
# include <stdint.h>
|
||||
|
@ -55,7 +55,7 @@ public:
|
||||
|
||||
virtual char const * what() const throw()
|
||||
{
|
||||
return "boost::use_count_is_zero";
|
||||
return "boost::use_count_is_zero";
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -10,15 +10,24 @@
|
||||
//
|
||||
// This software is provided "as is" without express or implied warranty,
|
||||
// and with no claim as to its suitability for any purpose.
|
||||
|
||||
|
||||
// For more information, see http://www.boost.org
|
||||
|
||||
|
||||
// William Kempf, Jesse Jones and Karl Nelson were all very helpful in the
|
||||
// design of this library.
|
||||
|
||||
#ifndef BOOST_FUNCTION_HPP
|
||||
#define BOOST_FUNCTION_HPP
|
||||
|
||||
#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730
|
||||
// Work around a compiler bug.
|
||||
// boost::python::detail::function has to be seen by the compiler before the
|
||||
// boost::function class template.
|
||||
namespace boost { namespace python { namespace detail {
|
||||
class function;
|
||||
}}}
|
||||
#endif
|
||||
|
||||
#include <boost/function/function_base.hpp>
|
||||
#include <boost/type_traits/function_traits.hpp>
|
||||
#include <boost/type_traits/same_traits.hpp>
|
||||
@ -51,7 +60,7 @@ namespace boost {
|
||||
struct real_get_function_impl<0>
|
||||
{
|
||||
template<
|
||||
typename R,
|
||||
typename R,
|
||||
typename T1,
|
||||
typename T2,
|
||||
typename T3,
|
||||
@ -70,9 +79,9 @@ namespace boost {
|
||||
>
|
||||
struct params
|
||||
{
|
||||
typedef function0<R,
|
||||
typedef function0<R,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Policy, Mixin,
|
||||
Policy, Mixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Allocator> type;
|
||||
};
|
||||
@ -82,7 +91,7 @@ namespace boost {
|
||||
struct real_get_function_impl<1>
|
||||
{
|
||||
template<
|
||||
typename R,
|
||||
typename R,
|
||||
typename T1,
|
||||
typename T2,
|
||||
typename T3,
|
||||
@ -101,9 +110,9 @@ namespace boost {
|
||||
>
|
||||
struct params
|
||||
{
|
||||
typedef function1<R, T1,
|
||||
typedef function1<R, T1,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Policy, Mixin,
|
||||
Policy, Mixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Allocator> type;
|
||||
};
|
||||
@ -113,7 +122,7 @@ namespace boost {
|
||||
struct real_get_function_impl<2>
|
||||
{
|
||||
template<
|
||||
typename R,
|
||||
typename R,
|
||||
typename T1,
|
||||
typename T2,
|
||||
typename T3,
|
||||
@ -132,9 +141,9 @@ namespace boost {
|
||||
>
|
||||
struct params
|
||||
{
|
||||
typedef function2<R, T1, T2,
|
||||
typedef function2<R, T1, T2,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Policy, Mixin,
|
||||
Policy, Mixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Allocator> type;
|
||||
};
|
||||
@ -144,7 +153,7 @@ namespace boost {
|
||||
struct real_get_function_impl<3>
|
||||
{
|
||||
template<
|
||||
typename R,
|
||||
typename R,
|
||||
typename T1,
|
||||
typename T2,
|
||||
typename T3,
|
||||
@ -163,9 +172,9 @@ namespace boost {
|
||||
>
|
||||
struct params
|
||||
{
|
||||
typedef function3<R, T1, T2, T3,
|
||||
typedef function3<R, T1, T2, T3,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Policy, Mixin,
|
||||
Policy, Mixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Allocator> type;
|
||||
};
|
||||
@ -175,7 +184,7 @@ namespace boost {
|
||||
struct real_get_function_impl<4>
|
||||
{
|
||||
template<
|
||||
typename R,
|
||||
typename R,
|
||||
typename T1,
|
||||
typename T2,
|
||||
typename T3,
|
||||
@ -194,9 +203,9 @@ namespace boost {
|
||||
>
|
||||
struct params
|
||||
{
|
||||
typedef function4<R, T1, T2, T3, T4,
|
||||
typedef function4<R, T1, T2, T3, T4,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Policy, Mixin,
|
||||
Policy, Mixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Allocator> type;
|
||||
};
|
||||
@ -206,7 +215,7 @@ namespace boost {
|
||||
struct real_get_function_impl<5>
|
||||
{
|
||||
template<
|
||||
typename R,
|
||||
typename R,
|
||||
typename T1,
|
||||
typename T2,
|
||||
typename T3,
|
||||
@ -225,11 +234,11 @@ namespace boost {
|
||||
>
|
||||
struct params
|
||||
{
|
||||
typedef function5<R, T1, T2, T3, T4, T5,
|
||||
typedef function5<R, T1, T2, T3, T4, T5,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Policy, Mixin,
|
||||
Policy, Mixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Allocator>
|
||||
Allocator>
|
||||
type;
|
||||
};
|
||||
};
|
||||
@ -238,7 +247,7 @@ namespace boost {
|
||||
struct real_get_function_impl<6>
|
||||
{
|
||||
template<
|
||||
typename R,
|
||||
typename R,
|
||||
typename T1,
|
||||
typename T2,
|
||||
typename T3,
|
||||
@ -257,9 +266,9 @@ namespace boost {
|
||||
>
|
||||
struct params
|
||||
{
|
||||
typedef function6<R, T1, T2, T3, T4, T5, T6,
|
||||
typedef function6<R, T1, T2, T3, T4, T5, T6,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Policy, Mixin,
|
||||
Policy, Mixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Allocator>
|
||||
type;
|
||||
@ -270,7 +279,7 @@ namespace boost {
|
||||
struct real_get_function_impl<7>
|
||||
{
|
||||
template<
|
||||
typename R,
|
||||
typename R,
|
||||
typename T1,
|
||||
typename T2,
|
||||
typename T3,
|
||||
@ -289,9 +298,9 @@ namespace boost {
|
||||
>
|
||||
struct params
|
||||
{
|
||||
typedef function7<R, T1, T2, T3, T4, T5, T6, T7,
|
||||
typedef function7<R, T1, T2, T3, T4, T5, T6, T7,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Policy, Mixin,
|
||||
Policy, Mixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Allocator> type;
|
||||
};
|
||||
@ -301,7 +310,7 @@ namespace boost {
|
||||
struct real_get_function_impl<8>
|
||||
{
|
||||
template<
|
||||
typename R,
|
||||
typename R,
|
||||
typename T1,
|
||||
typename T2,
|
||||
typename T3,
|
||||
@ -320,9 +329,9 @@ namespace boost {
|
||||
>
|
||||
struct params
|
||||
{
|
||||
typedef function8<R, T1, T2, T3, T4, T5, T6, T7, T8,
|
||||
typedef function8<R, T1, T2, T3, T4, T5, T6, T7, T8,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Policy, Mixin,
|
||||
Policy, Mixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Allocator> type;
|
||||
};
|
||||
@ -332,7 +341,7 @@ namespace boost {
|
||||
struct real_get_function_impl<9>
|
||||
{
|
||||
template<
|
||||
typename R,
|
||||
typename R,
|
||||
typename T1,
|
||||
typename T2,
|
||||
typename T3,
|
||||
@ -351,9 +360,9 @@ namespace boost {
|
||||
>
|
||||
struct params
|
||||
{
|
||||
typedef function9<R, T1, T2, T3, T4, T5, T6, T7, T8, T9,
|
||||
typedef function9<R, T1, T2, T3, T4, T5, T6, T7, T8, T9,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Policy, Mixin,
|
||||
Policy, Mixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Allocator> type;
|
||||
};
|
||||
@ -363,7 +372,7 @@ namespace boost {
|
||||
struct real_get_function_impl<10>
|
||||
{
|
||||
template<
|
||||
typename R,
|
||||
typename R,
|
||||
typename T1,
|
||||
typename T2,
|
||||
typename T3,
|
||||
@ -382,151 +391,151 @@ namespace boost {
|
||||
>
|
||||
struct params
|
||||
{
|
||||
typedef function10<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
|
||||
typedef function10<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Policy, Mixin,
|
||||
Policy, Mixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Allocator> type;
|
||||
};
|
||||
};
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
template<bool GetIt, typename Traits>
|
||||
template<bool GetIt, typename Traits>
|
||||
struct get_arg1_type
|
||||
{
|
||||
typedef unusable type;
|
||||
};
|
||||
|
||||
template<typename Traits>
|
||||
template<typename Traits>
|
||||
struct get_arg1_type<true, Traits>
|
||||
{
|
||||
typedef typename Traits::arg1_type type;
|
||||
};
|
||||
|
||||
template<bool GetIt, typename Traits>
|
||||
template<bool GetIt, typename Traits>
|
||||
struct get_arg2_type
|
||||
{
|
||||
typedef unusable type;
|
||||
};
|
||||
|
||||
template<typename Traits>
|
||||
template<typename Traits>
|
||||
struct get_arg2_type<true, Traits>
|
||||
{
|
||||
typedef typename Traits::arg2_type type;
|
||||
};
|
||||
|
||||
template<bool GetIt, typename Traits>
|
||||
template<bool GetIt, typename Traits>
|
||||
struct get_arg3_type
|
||||
{
|
||||
typedef unusable type;
|
||||
};
|
||||
|
||||
template<typename Traits>
|
||||
template<typename Traits>
|
||||
struct get_arg3_type<true, Traits>
|
||||
{
|
||||
typedef typename Traits::arg3_type type;
|
||||
};
|
||||
|
||||
template<bool GetIt, typename Traits>
|
||||
template<bool GetIt, typename Traits>
|
||||
struct get_arg4_type
|
||||
{
|
||||
typedef unusable type;
|
||||
};
|
||||
|
||||
template<typename Traits>
|
||||
template<typename Traits>
|
||||
struct get_arg4_type<true, Traits>
|
||||
{
|
||||
typedef typename Traits::arg4_type type;
|
||||
};
|
||||
|
||||
template<bool GetIt, typename Traits>
|
||||
template<bool GetIt, typename Traits>
|
||||
struct get_arg5_type
|
||||
{
|
||||
typedef unusable type;
|
||||
};
|
||||
|
||||
template<typename Traits>
|
||||
template<typename Traits>
|
||||
struct get_arg5_type<true, Traits>
|
||||
{
|
||||
typedef typename Traits::arg5_type type;
|
||||
};
|
||||
|
||||
template<bool GetIt, typename Traits>
|
||||
template<bool GetIt, typename Traits>
|
||||
struct get_arg6_type
|
||||
{
|
||||
typedef unusable type;
|
||||
};
|
||||
|
||||
template<typename Traits>
|
||||
template<typename Traits>
|
||||
struct get_arg6_type<true, Traits>
|
||||
{
|
||||
typedef typename Traits::arg6_type type;
|
||||
};
|
||||
|
||||
template<bool GetIt, typename Traits>
|
||||
template<bool GetIt, typename Traits>
|
||||
struct get_arg7_type
|
||||
{
|
||||
typedef unusable type;
|
||||
};
|
||||
|
||||
template<typename Traits>
|
||||
template<typename Traits>
|
||||
struct get_arg7_type<true, Traits>
|
||||
{
|
||||
typedef typename Traits::arg7_type type;
|
||||
};
|
||||
|
||||
template<bool GetIt, typename Traits>
|
||||
template<bool GetIt, typename Traits>
|
||||
struct get_arg8_type
|
||||
{
|
||||
typedef unusable type;
|
||||
};
|
||||
|
||||
template<typename Traits>
|
||||
template<typename Traits>
|
||||
struct get_arg8_type<true, Traits>
|
||||
{
|
||||
typedef typename Traits::arg8_type type;
|
||||
};
|
||||
|
||||
template<bool GetIt, typename Traits>
|
||||
template<bool GetIt, typename Traits>
|
||||
struct get_arg9_type
|
||||
{
|
||||
typedef unusable type;
|
||||
};
|
||||
|
||||
template<typename Traits>
|
||||
template<typename Traits>
|
||||
struct get_arg9_type<true, Traits>
|
||||
{
|
||||
typedef typename Traits::arg9_type type;
|
||||
};
|
||||
|
||||
template<bool GetIt, typename Traits>
|
||||
template<bool GetIt, typename Traits>
|
||||
struct get_arg10_type
|
||||
{
|
||||
typedef unusable type;
|
||||
};
|
||||
|
||||
template<typename Traits>
|
||||
template<typename Traits>
|
||||
struct get_arg10_type<true, Traits>
|
||||
{
|
||||
typedef typename Traits::arg10_type type;
|
||||
};
|
||||
|
||||
template<int X, int Y>
|
||||
template<int X, int Y>
|
||||
struct gte
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(bool, value = (X >= Y));
|
||||
};
|
||||
|
||||
template<bool IsFunction,
|
||||
typename InR,
|
||||
typename InT1,
|
||||
typename InT2,
|
||||
typename InT3,
|
||||
typename InR,
|
||||
typename InT1,
|
||||
typename InT2,
|
||||
typename InT3,
|
||||
typename InT4,
|
||||
typename InT5,
|
||||
typename InT6,
|
||||
typename InT7,
|
||||
typename InT8,
|
||||
typename InT5,
|
||||
typename InT6,
|
||||
typename InT7,
|
||||
typename InT8,
|
||||
typename InT9,
|
||||
typename InT10,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
@ -539,25 +548,25 @@ namespace boost {
|
||||
typedef function_traits<InR> traits;
|
||||
|
||||
typedef typename traits::result_type R;
|
||||
typedef typename get_arg1_type<(gte<(traits::arity), 1>::value),
|
||||
typedef typename get_arg1_type<(gte<(traits::arity), 1>::value),
|
||||
traits>::type T1;
|
||||
typedef typename get_arg2_type<(gte<(traits::arity), 2>::value),
|
||||
typedef typename get_arg2_type<(gte<(traits::arity), 2>::value),
|
||||
traits>::type T2;
|
||||
typedef typename get_arg3_type<(gte<(traits::arity), 3>::value),
|
||||
typedef typename get_arg3_type<(gte<(traits::arity), 3>::value),
|
||||
traits>::type T3;
|
||||
typedef typename get_arg4_type<(gte<(traits::arity), 4>::value),
|
||||
typedef typename get_arg4_type<(gte<(traits::arity), 4>::value),
|
||||
traits>::type T4;
|
||||
typedef typename get_arg5_type<(gte<(traits::arity), 5>::value),
|
||||
typedef typename get_arg5_type<(gte<(traits::arity), 5>::value),
|
||||
traits>::type T5;
|
||||
typedef typename get_arg6_type<(gte<(traits::arity), 6>::value),
|
||||
typedef typename get_arg6_type<(gte<(traits::arity), 6>::value),
|
||||
traits>::type T6;
|
||||
typedef typename get_arg7_type<(gte<(traits::arity), 7>::value),
|
||||
typedef typename get_arg7_type<(gte<(traits::arity), 7>::value),
|
||||
traits>::type T7;
|
||||
typedef typename get_arg8_type<(gte<(traits::arity), 8>::value),
|
||||
typedef typename get_arg8_type<(gte<(traits::arity), 8>::value),
|
||||
traits>::type T8;
|
||||
typedef typename get_arg9_type<(gte<(traits::arity), 9>::value),
|
||||
typedef typename get_arg9_type<(gte<(traits::arity), 9>::value),
|
||||
traits>::type T9;
|
||||
typedef typename get_arg10_type<(gte<(traits::arity), 10>::value),
|
||||
typedef typename get_arg10_type<(gte<(traits::arity), 10>::value),
|
||||
traits>::type T10;
|
||||
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
@ -578,15 +587,15 @@ namespace boost {
|
||||
};
|
||||
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
template<typename InR,
|
||||
typename InT1,
|
||||
typename InT2,
|
||||
typename InT3,
|
||||
template<typename InR,
|
||||
typename InT1,
|
||||
typename InT2,
|
||||
typename InT3,
|
||||
typename InT4,
|
||||
typename InT5,
|
||||
typename InT6,
|
||||
typename InT7,
|
||||
typename InT8,
|
||||
typename InT5,
|
||||
typename InT6,
|
||||
typename InT7,
|
||||
typename InT8,
|
||||
typename InT9,
|
||||
typename InT10,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
@ -598,7 +607,7 @@ namespace boost {
|
||||
InT5, InT6, InT7, InT8, InT9, InT10,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
InPolicy, InMixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
InAllocator>
|
||||
{
|
||||
// Not a function, so just map the types directly
|
||||
@ -625,20 +634,20 @@ namespace boost {
|
||||
#endif // ndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
template<
|
||||
typename InR,
|
||||
typename InT1,
|
||||
typename InT2,
|
||||
typename InT3,
|
||||
typename InR,
|
||||
typename InT1,
|
||||
typename InT2,
|
||||
typename InT3,
|
||||
typename InT4,
|
||||
typename InT5,
|
||||
typename InT6,
|
||||
typename InT7,
|
||||
typename InT8,
|
||||
typename InT5,
|
||||
typename InT6,
|
||||
typename InT7,
|
||||
typename InT8,
|
||||
typename InT9,
|
||||
typename InT10,
|
||||
typename InPolicy = empty_function_policy,
|
||||
typename InMixin = empty_function_mixin,
|
||||
typename InAllocator = std::allocator<function_base>
|
||||
typename InAllocator = std::allocator<function_base>
|
||||
>
|
||||
struct get_function_impl
|
||||
{
|
||||
@ -647,7 +656,7 @@ namespace boost {
|
||||
InR, InT1, InT2, InT3, InT4, InT5,
|
||||
InT6, InT7, InT8, InT9, InT10,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
InPolicy, InMixin,
|
||||
InPolicy, InMixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
InAllocator> decoder;
|
||||
typedef typename decoder::R R;
|
||||
@ -685,9 +694,9 @@ namespace boost {
|
||||
|
||||
typedef typename real_get_function_impl<
|
||||
(count_used_args<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>::value)
|
||||
>::template params<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
|
||||
>::template params<R, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Policy, Mixin,
|
||||
Policy, Mixin,
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
Allocator>::type
|
||||
type;
|
||||
@ -695,25 +704,25 @@ namespace boost {
|
||||
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
template<
|
||||
typename InR,
|
||||
typename InT1,
|
||||
typename InT2,
|
||||
typename InT3,
|
||||
typename InR,
|
||||
typename InT1,
|
||||
typename InT2,
|
||||
typename InT3,
|
||||
typename InT4,
|
||||
typename InT5,
|
||||
typename InT6,
|
||||
typename InT7,
|
||||
typename InT8,
|
||||
typename InT5,
|
||||
typename InT6,
|
||||
typename InT7,
|
||||
typename InT8,
|
||||
typename InT9,
|
||||
typename InT10,
|
||||
typename InMyPolicy = empty_function_policy,
|
||||
typename InMyMixin = empty_function_mixin,
|
||||
typename InMyAllocator = std::allocator<function_base>
|
||||
typename InMyAllocator = std::allocator<function_base>
|
||||
>
|
||||
class function_traits_builder
|
||||
{
|
||||
typedef get_function_impl<InR, InT1, InT2, InT3, InT4, InT5, InT6, InT7,
|
||||
InT8, InT9, InT10, InMyPolicy, InMyMixin,
|
||||
typedef get_function_impl<InR, InT1, InT2, InT3, InT4, InT5, InT6, InT7,
|
||||
InT8, InT9, InT10, InMyPolicy, InMyMixin,
|
||||
InMyAllocator>
|
||||
impl;
|
||||
|
||||
@ -740,29 +749,29 @@ namespace boost {
|
||||
|
||||
#ifndef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
template<typename Policy>
|
||||
struct policy :
|
||||
struct policy :
|
||||
public function_traits_builder<MyR, MyT1, MyT2, MyT3, MyT4, MyT5, MyT6,
|
||||
MyT7, MyT8, MyT9, MyT10, Policy,
|
||||
MyT7, MyT8, MyT9, MyT10, Policy,
|
||||
mixin_type, allocator_type> {};
|
||||
|
||||
template<typename Mixin>
|
||||
struct mixin :
|
||||
struct mixin :
|
||||
public function_traits_builder<MyR, MyT1, MyT2, MyT3, MyT4, MyT5, MyT6,
|
||||
MyT7, MyT8, MyT9, MyT10, policy_type,
|
||||
MyT7, MyT8, MyT9, MyT10, policy_type,
|
||||
Mixin, allocator_type> {};
|
||||
|
||||
template<typename Allocator>
|
||||
struct allocator :
|
||||
struct allocator :
|
||||
public function_traits_builder<MyR, MyT1, MyT2, MyT3, MyT4, MyT5, MyT6,
|
||||
MyT7, MyT8, MyT9, MyT10, policy_type,
|
||||
MyT7, MyT8, MyT9, MyT10, policy_type,
|
||||
mixin_type, Allocator> {};
|
||||
#else
|
||||
template<typename Policy>
|
||||
struct policy
|
||||
struct policy
|
||||
{
|
||||
typedef typename function_traits_builder<MyR, MyT1, MyT2, MyT3, MyT4,
|
||||
MyT5, MyT6, MyT7, MyT8, MyT9,
|
||||
MyT10, Policy, mixin_type,
|
||||
typedef typename function_traits_builder<MyR, MyT1, MyT2, MyT3, MyT4,
|
||||
MyT5, MyT6, MyT7, MyT8, MyT9,
|
||||
MyT10, Policy, mixin_type,
|
||||
allocator_type>::type
|
||||
type;
|
||||
};
|
||||
@ -770,8 +779,8 @@ namespace boost {
|
||||
template<typename Mixin>
|
||||
struct mixin
|
||||
{
|
||||
typedef typename function_traits_builder<MyR, MyT1, MyT2, MyT3, MyT4,
|
||||
MyT5, MyT6, MyT7, MyT8, MyT9,
|
||||
typedef typename function_traits_builder<MyR, MyT1, MyT2, MyT3, MyT4,
|
||||
MyT5, MyT6, MyT7, MyT8, MyT9,
|
||||
MyT10, policy_type, Mixin,
|
||||
allocator_type>::type
|
||||
type;
|
||||
@ -780,8 +789,8 @@ namespace boost {
|
||||
template<typename Allocator>
|
||||
struct allocator
|
||||
{
|
||||
typedef typename function_traits_builder<MyR, MyT1, MyT2, MyT3, MyT4,
|
||||
MyT5, MyT6, MyT7, MyT8, MyT9,
|
||||
typedef typename function_traits_builder<MyR, MyT1, MyT2, MyT3, MyT4,
|
||||
MyT5, MyT6, MyT7, MyT8, MyT9,
|
||||
MyT10, policy_type, mixin_type,
|
||||
Allocator>::type
|
||||
type;
|
||||
@ -793,8 +802,8 @@ namespace boost {
|
||||
} // end namespace detail
|
||||
|
||||
template<
|
||||
typename R,
|
||||
typename T1 = detail::function::unusable,
|
||||
typename R,
|
||||
typename T1 = detail::function::unusable,
|
||||
typename T2 = detail::function::unusable,
|
||||
typename T3 = detail::function::unusable,
|
||||
typename T4 = detail::function::unusable,
|
||||
@ -806,16 +815,16 @@ namespace boost {
|
||||
typename T10 = detail::function::unusable
|
||||
>
|
||||
class function :
|
||||
public detail::function::get_function_impl<R, T1, T2, T3, T4, T5, T6, T7,
|
||||
public detail::function::get_function_impl<R, T1, T2, T3, T4, T5, T6, T7,
|
||||
T8, T9, T10>::type
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
, public detail::function::function_traits_builder<R, T1, T2, T3, T4, T5,
|
||||
, public detail::function::function_traits_builder<R, T1, T2, T3, T4, T5,
|
||||
T6, T7, T8, T9, T10>
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
{
|
||||
typedef typename detail::function::get_function_impl<R, T1, T2, T3, T4, T5,
|
||||
T6, T7, T8, T9, T10
|
||||
>::type
|
||||
>::type
|
||||
base_type;
|
||||
|
||||
public:
|
||||
@ -823,16 +832,16 @@ namespace boost {
|
||||
typedef typename base_type::policy_type policy_type;
|
||||
typedef typename base_type::mixin_type mixin_type;
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
typedef typename base_type::allocator_type allocator_type;
|
||||
typedef function self_type;
|
||||
|
||||
function() : base_type() {}
|
||||
|
||||
template<typename Functor>
|
||||
typedef typename base_type::allocator_type allocator_type;
|
||||
typedef function self_type;
|
||||
|
||||
function() : base_type() {}
|
||||
|
||||
template<typename Functor>
|
||||
function(Functor BOOST_FUNCTION_TARGET_FIX(const &) f) : base_type(f) {}
|
||||
|
||||
|
||||
function(const self_type& f) : base_type(static_cast<const base_type&>(f)){}
|
||||
|
||||
|
||||
template<typename Functor>
|
||||
self_type& operator=(Functor BOOST_FUNCTION_TARGET_FIX(const &) f)
|
||||
{
|
||||
@ -847,38 +856,38 @@ namespace boost {
|
||||
}
|
||||
|
||||
self_type& operator=(const self_type& f)
|
||||
{
|
||||
{
|
||||
self_type(f).swap(*this);
|
||||
return *this;
|
||||
}
|
||||
|
||||
#ifndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
template<typename Functor>
|
||||
BOOST_FUNCTION_DEPRECATED_PRE
|
||||
void set(Functor BOOST_FUNCTION_TARGET_FIX(const &) f)
|
||||
BOOST_FUNCTION_DEPRECATED_PRE
|
||||
void set(Functor BOOST_FUNCTION_TARGET_FIX(const &) f)
|
||||
{
|
||||
BOOST_FUNCTION_DEPRECATED_INNER
|
||||
self_type(f).swap(*this);
|
||||
}
|
||||
|
||||
BOOST_FUNCTION_DEPRECATED_PRE
|
||||
void set(const base_type& f)
|
||||
void set(const base_type& f)
|
||||
{
|
||||
BOOST_FUNCTION_DEPRECATED_INNER
|
||||
self_type(f).swap(*this);
|
||||
}
|
||||
|
||||
BOOST_FUNCTION_DEPRECATED_PRE
|
||||
void set(const self_type& f)
|
||||
void set(const self_type& f)
|
||||
{
|
||||
BOOST_FUNCTION_DEPRECATED_INNER
|
||||
self_type(f).swap(*this);
|
||||
}
|
||||
}
|
||||
#endif // ndef BOOST_FUNCTION_NO_DEPRECATED
|
||||
};
|
||||
|
||||
template<typename R,
|
||||
typename T1,
|
||||
typename T1,
|
||||
typename T2,
|
||||
typename T3,
|
||||
typename T4,
|
||||
|
@ -23,9 +23,11 @@
|
||||
#define BOOST_FUNCTION_ARGS
|
||||
#define BOOST_FUNCTION_NOT_0_PARMS
|
||||
#define BOOST_FUNCTION_NOT_0_ARGS
|
||||
#define BOOST_FUNCTION_ARG_TYPES
|
||||
|
||||
#include <boost/function/function_template.hpp>
|
||||
|
||||
#undef BOOST_FUNCTION_ARG_TYPES
|
||||
#undef BOOST_FUNCTION_NOT_0_ARGS
|
||||
#undef BOOST_FUNCTION_NOT_0_PARMS
|
||||
#undef BOOST_FUNCTION_ARGS
|
||||
|
@ -23,9 +23,11 @@
|
||||
#define BOOST_FUNCTION_ARGS a0
|
||||
#define BOOST_FUNCTION_NOT_0_PARMS
|
||||
#define BOOST_FUNCTION_NOT_0_ARGS
|
||||
#define BOOST_FUNCTION_ARG_TYPES typedef T0 arg1_type;
|
||||
|
||||
#include <boost/function/function_template.hpp>
|
||||
|
||||
#undef BOOST_FUNCTION_ARG_TYPES
|
||||
#undef BOOST_FUNCTION_NOT_0_ARGS
|
||||
#undef BOOST_FUNCTION_NOT_0_PARMS
|
||||
#undef BOOST_FUNCTION_ARGS
|
||||
|
@ -23,9 +23,11 @@
|
||||
#define BOOST_FUNCTION_ARGS a0, a1, a2, a3, a4, a5, a6, a7, a8, a9
|
||||
#define BOOST_FUNCTION_NOT_0_PARMS T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9
|
||||
#define BOOST_FUNCTION_NOT_0_ARGS a1, a2, a3, a4, a5, a6, a7, a8, a9
|
||||
#define BOOST_FUNCTION_ARG_TYPES typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type; typedef T4 arg5_type; typedef T5 arg6_type; typedef T6 arg7_type; typedef T7 arg8_type; typedef T8 arg9_type; typedef T9 arg10_type;
|
||||
|
||||
#include <boost/function/function_template.hpp>
|
||||
|
||||
#undef BOOST_FUNCTION_ARG_TYPES
|
||||
#undef BOOST_FUNCTION_NOT_0_ARGS
|
||||
#undef BOOST_FUNCTION_NOT_0_PARMS
|
||||
#undef BOOST_FUNCTION_ARGS
|
||||
|
@ -23,9 +23,11 @@
|
||||
#define BOOST_FUNCTION_ARGS a0, a1
|
||||
#define BOOST_FUNCTION_NOT_0_PARMS T1 a1
|
||||
#define BOOST_FUNCTION_NOT_0_ARGS a1
|
||||
#define BOOST_FUNCTION_ARG_TYPES typedef T0 arg1_type; typedef T1 arg2_type;
|
||||
|
||||
#include <boost/function/function_template.hpp>
|
||||
|
||||
#undef BOOST_FUNCTION_ARG_TYPES
|
||||
#undef BOOST_FUNCTION_NOT_0_ARGS
|
||||
#undef BOOST_FUNCTION_NOT_0_PARMS
|
||||
#undef BOOST_FUNCTION_ARGS
|
||||
|
@ -23,9 +23,10 @@
|
||||
#define BOOST_FUNCTION_ARGS a0, a1, a2
|
||||
#define BOOST_FUNCTION_NOT_0_PARMS T1 a1, T2 a2
|
||||
#define BOOST_FUNCTION_NOT_0_ARGS a1, a2
|
||||
#define BOOST_FUNCTION_ARG_TYPES typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type;
|
||||
|
||||
#include <boost/function/function_template.hpp>
|
||||
|
||||
#undef BOOST_FUNCTION_ARG_TYPES
|
||||
#undef BOOST_FUNCTION_NOT_0_ARGS
|
||||
#undef BOOST_FUNCTION_NOT_0_PARMS
|
||||
#undef BOOST_FUNCTION_ARGS
|
||||
|
@ -23,9 +23,11 @@
|
||||
#define BOOST_FUNCTION_ARGS a0, a1, a2, a3
|
||||
#define BOOST_FUNCTION_NOT_0_PARMS T1 a1, T2 a2, T3 a3
|
||||
#define BOOST_FUNCTION_NOT_0_ARGS a1, a2, a3
|
||||
#define BOOST_FUNCTION_ARG_TYPES typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type;
|
||||
|
||||
#include <boost/function/function_template.hpp>
|
||||
|
||||
#undef BOOST_FUNCTION_ARG_TYPES
|
||||
#undef BOOST_FUNCTION_NOT_0_ARGS
|
||||
#undef BOOST_FUNCTION_NOT_0_PARMS
|
||||
#undef BOOST_FUNCTION_ARGS
|
||||
|
@ -23,9 +23,11 @@
|
||||
#define BOOST_FUNCTION_ARGS a0, a1, a2, a3, a4
|
||||
#define BOOST_FUNCTION_NOT_0_PARMS T1 a1, T2 a2, T3 a3, T4 a4
|
||||
#define BOOST_FUNCTION_NOT_0_ARGS a1, a2, a3, a4
|
||||
#define BOOST_FUNCTION_ARG_TYPES typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type; typedef T4 arg5_type;
|
||||
|
||||
#include <boost/function/function_template.hpp>
|
||||
|
||||
#undef BOOST_FUNCTION_ARG_TYPES
|
||||
#undef BOOST_FUNCTION_NOT_0_ARGS
|
||||
#undef BOOST_FUNCTION_NOT_0_PARMS
|
||||
#undef BOOST_FUNCTION_ARGS
|
||||
|
@ -23,9 +23,11 @@
|
||||
#define BOOST_FUNCTION_ARGS a0, a1, a2, a3, a4, a5
|
||||
#define BOOST_FUNCTION_NOT_0_PARMS T1 a1, T2 a2, T3 a3, T4 a4, T5 a5
|
||||
#define BOOST_FUNCTION_NOT_0_ARGS a1, a2, a3, a4, a5
|
||||
#define BOOST_FUNCTION_ARG_TYPES typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type; typedef T4 arg5_type; typedef T5 arg6_type;
|
||||
|
||||
#include <boost/function/function_template.hpp>
|
||||
|
||||
#undef BOOST_FUNCTION_ARG_TYPES
|
||||
#undef BOOST_FUNCTION_NOT_0_ARGS
|
||||
#undef BOOST_FUNCTION_NOT_0_PARMS
|
||||
#undef BOOST_FUNCTION_ARGS
|
||||
|
@ -23,9 +23,11 @@
|
||||
#define BOOST_FUNCTION_ARGS a0, a1, a2, a3, a4, a5, a6
|
||||
#define BOOST_FUNCTION_NOT_0_PARMS T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6
|
||||
#define BOOST_FUNCTION_NOT_0_ARGS a1, a2, a3, a4, a5, a6
|
||||
#define BOOST_FUNCTION_ARG_TYPES typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type; typedef T4 arg5_type; typedef T5 arg6_type; typedef T6 arg7_type;
|
||||
|
||||
#include <boost/function/function_template.hpp>
|
||||
|
||||
#undef BOOST_FUNCTION_ARG_TYPES
|
||||
#undef BOOST_FUNCTION_NOT_0_ARGS
|
||||
#undef BOOST_FUNCTION_NOT_0_PARMS
|
||||
#undef BOOST_FUNCTION_ARGS
|
||||
|
@ -23,9 +23,11 @@
|
||||
#define BOOST_FUNCTION_ARGS a0, a1, a2, a3, a4, a5, a6, a7
|
||||
#define BOOST_FUNCTION_NOT_0_PARMS T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7
|
||||
#define BOOST_FUNCTION_NOT_0_ARGS a1, a2, a3, a4, a5, a6, a7
|
||||
#define BOOST_FUNCTION_ARG_TYPES typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type; typedef T4 arg5_type; typedef T5 arg6_type; typedef T6 arg7_type; typedef T7 arg8_type;
|
||||
|
||||
#include <boost/function/function_template.hpp>
|
||||
|
||||
#undef BOOST_FUNCTION_ARG_TYPES
|
||||
#undef BOOST_FUNCTION_NOT_0_ARGS
|
||||
#undef BOOST_FUNCTION_NOT_0_PARMS
|
||||
#undef BOOST_FUNCTION_ARGS
|
||||
|
@ -23,9 +23,11 @@
|
||||
#define BOOST_FUNCTION_ARGS a0, a1, a2, a3, a4, a5, a6, a7, a8
|
||||
#define BOOST_FUNCTION_NOT_0_PARMS T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8
|
||||
#define BOOST_FUNCTION_NOT_0_ARGS a1, a2, a3, a4, a5, a6, a7, a8
|
||||
#define BOOST_FUNCTION_ARG_TYPES typedef T0 arg1_type; typedef T1 arg2_type; typedef T2 arg3_type; typedef T3 arg4_type; typedef T4 arg5_type; typedef T5 arg6_type; typedef T6 arg7_type; typedef T7 arg8_type; typedef T8 arg9_type;
|
||||
|
||||
#include <boost/function/function_template.hpp>
|
||||
|
||||
#undef BOOST_FUNCTION_ARG_TYPES
|
||||
#undef BOOST_FUNCTION_NOT_0_ARGS
|
||||
#undef BOOST_FUNCTION_NOT_0_PARMS
|
||||
#undef BOOST_FUNCTION_ARGS
|
||||
|
@ -278,25 +278,6 @@ namespace boost {
|
||||
detail::function::any_pointer,
|
||||
detail::function::functor_manager_operation_type);
|
||||
detail::function::any_pointer functor;
|
||||
|
||||
#if (defined __SUNPRO_CC) && (__SUNPRO_CC <= 0x530) && !(defined BOOST_NO_COMPILER_CONFIG)
|
||||
// Sun C++ 5.3 can't handle the safe_bool idiom, so don't use it
|
||||
operator bool () const { return !this->empty(); }
|
||||
#else
|
||||
private:
|
||||
struct dummy {
|
||||
void nonnull() {};
|
||||
};
|
||||
|
||||
typedef void (dummy::*safe_bool)();
|
||||
|
||||
public:
|
||||
operator safe_bool () const
|
||||
{ return (this->empty())? 0 : &dummy::nonnull; }
|
||||
|
||||
safe_bool operator!() const
|
||||
{ return (this->empty())? &dummy::nonnull : 0; }
|
||||
#endif
|
||||
};
|
||||
|
||||
/* Poison comparison between Boost.Function objects (because it is
|
||||
|
@ -253,6 +253,9 @@ namespace boost {
|
||||
typedef T1 second_argument_type;
|
||||
#endif
|
||||
|
||||
BOOST_STATIC_CONSTANT(int, arity = BOOST_FUNCTION_NUM_ARGS);
|
||||
BOOST_FUNCTION_ARG_TYPES
|
||||
|
||||
#ifndef BOOST_NO_VOID_RETURNS
|
||||
typedef R result_type;
|
||||
#else
|
||||
@ -416,6 +419,25 @@ namespace boost {
|
||||
invoker = 0;
|
||||
}
|
||||
|
||||
#if (defined __SUNPRO_CC) && (__SUNPRO_CC <= 0x530) && !(defined BOOST_NO_COMPILER_CONFIG)
|
||||
// Sun C++ 5.3 can't handle the safe_bool idiom, so don't use it
|
||||
operator bool () const { return !this->empty(); }
|
||||
#else
|
||||
private:
|
||||
struct dummy {
|
||||
void nonnull() {};
|
||||
};
|
||||
|
||||
typedef void (dummy::*safe_bool)();
|
||||
|
||||
public:
|
||||
operator safe_bool () const
|
||||
{ return (this->empty())? 0 : &dummy::nonnull; }
|
||||
|
||||
bool operator!() const
|
||||
{ return this->empty(); }
|
||||
#endif
|
||||
|
||||
private:
|
||||
void assign_to_own(const BOOST_FUNCTION_FUNCTION& f)
|
||||
{
|
||||
|
@ -10,7 +10,7 @@
|
||||
* software for any purpose. It is provided "as is" without express or
|
||||
* implied warranty.
|
||||
*
|
||||
* $Id: integer_traits.hpp,v 1.19 2002/07/13 12:26:19 david_abrahams Exp $
|
||||
* $Id: integer_traits.hpp,v 1.19.4.1 2002/09/24 11:38:33 johnmaddock Exp $
|
||||
*
|
||||
* Idea by Beman Dawes, Ed Brey, Steve Cleary, and Nathan Myers
|
||||
*/
|
||||
@ -147,42 +147,64 @@ class integer_traits<unsigned long>
|
||||
public detail::integer_traits_base<unsigned long, 0, ULONG_MAX>
|
||||
{ };
|
||||
|
||||
#if defined(ULLONG_MAX) && !defined(__SUNPRO_CC)
|
||||
#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T)
|
||||
#if defined(ULLONG_MAX) && defined(BOOST_HAS_LONG_LONG)
|
||||
|
||||
template<>
|
||||
class integer_traits<long long>
|
||||
: public std::numeric_limits<long long>,
|
||||
public detail::integer_traits_base<long long, LLONG_MIN, LLONG_MAX>
|
||||
{ };
|
||||
|
||||
template<>
|
||||
class integer_traits<unsigned long long>
|
||||
: public std::numeric_limits<unsigned long long>,
|
||||
public detail::integer_traits_base<unsigned long long, 0, ULLONG_MAX>
|
||||
{ };
|
||||
#elif defined(ULONG_LONG_MAX)
|
||||
|
||||
#elif defined(ULONG_LONG_MAX) && defined(BOOST_HAS_LONG_LONG)
|
||||
|
||||
template<>
|
||||
class integer_traits<long long>
|
||||
: public std::numeric_limits<long long>,
|
||||
public detail::integer_traits_base<long long, LONG_LONG_MIN, LONG_LONG_MAX>
|
||||
{ };
|
||||
class integer_traits<long long> : public std::numeric_limits<long long>, public detail::integer_traits_base<long long, LONG_LONG_MIN, LONG_LONG_MAX>{ };
|
||||
template<>
|
||||
class integer_traits<unsigned long long>
|
||||
: public std::numeric_limits<unsigned long long>,
|
||||
public detail::integer_traits_base<unsigned long long, 0, ULONG_LONG_MAX>
|
||||
{ };
|
||||
#elif defined(ULONGLONG_MAX) && !defined(BOOST_MSVC) && !defined(__BORLANDC__)
|
||||
|
||||
#elif defined(ULONGLONG_MAX) && defined(BOOST_HAS_LONG_LONG)
|
||||
|
||||
template<>
|
||||
class integer_traits<long long>
|
||||
: public std::numeric_limits<long long>,
|
||||
public detail::integer_traits_base<long long, LONGLONG_MIN, LONGLONG_MAX>
|
||||
{ };
|
||||
|
||||
template<>
|
||||
class integer_traits<unsigned long long>
|
||||
: public std::numeric_limits<unsigned long long>,
|
||||
public detail::integer_traits_base<unsigned long long, 0, ULONGLONG_MAX>
|
||||
{ };
|
||||
|
||||
#elif defined(_LLONG_MAX) && defined(_C2) && defined(BOOST_HAS_LONG_LONG)
|
||||
|
||||
template<>
|
||||
class integer_traits<long long>
|
||||
: public std::numeric_limits<long long>,
|
||||
public detail::integer_traits_base<long long, -_LLONG_MAX - _C2, _LLONG_MAX>
|
||||
{ };
|
||||
|
||||
template<>
|
||||
class integer_traits<unsigned long long>
|
||||
: public std::numeric_limits<unsigned long long>,
|
||||
public detail::integer_traits_base<unsigned long long, 0, _ULLONG_MAX>
|
||||
{ };
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
} // namespace boost
|
||||
|
||||
#endif /* BOOST_INTEGER_TRAITS_HPP */
|
||||
|
||||
|
||||
|
@ -124,6 +124,7 @@
|
||||
# include <boost/type.hpp>
|
||||
# include <boost/static_assert.hpp>
|
||||
# include <boost/type_traits.hpp>
|
||||
# include <boost/type_traits/conversion_traits.hpp>
|
||||
# include <boost/detail/iterator.hpp>
|
||||
# include <boost/detail/select_type.hpp>
|
||||
|
||||
@ -761,6 +762,12 @@ namespace detail {
|
||||
|
||||
BOOST_STATIC_ASSERT(forward_iter_with_real_reference);
|
||||
};
|
||||
|
||||
template <class T, class Result> struct dependent
|
||||
{
|
||||
typedef Result type;
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
|
||||
|
||||
@ -880,7 +887,8 @@ struct iterator_adaptor :
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
|
||||
value_type operator[](difference_type n) const
|
||||
template <class diff_type>
|
||||
typename detail::dependent<diff_type, value_type>::type operator[](diff_type n) const
|
||||
{ return *(*this + n); }
|
||||
|
||||
self& operator++() {
|
||||
|
@ -93,15 +93,15 @@ namespace std
|
||||
#elif defined(ULLONG_MAX) && defined(ULLONG_MIN)
|
||||
static unsigned BOOST_LLT min(){ return ULLONG_MIN; }
|
||||
static unsigned BOOST_LLT max(){ return ULLONG_MAX; }
|
||||
#elif defined(ULONGLONG_MAX) && defined(ULONG_LONG_MIN)
|
||||
#elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN)
|
||||
static unsigned BOOST_LLT min(){ return ULONGLONG_MIN; }
|
||||
static unsigned BOOST_LLT max(){ return ULONGLONG_MAX; }
|
||||
#else
|
||||
static unsigned BOOST_LLT min(){ return 0uLL; }
|
||||
static unsigned BOOST_LLT max(){ return ~0uLL; }
|
||||
#endif
|
||||
BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1);
|
||||
BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000);
|
||||
BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT);
|
||||
BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000);
|
||||
BOOST_STATIC_CONSTANT(bool, is_signed = false);
|
||||
BOOST_STATIC_CONSTANT(bool, is_integer = true);
|
||||
BOOST_STATIC_CONSTANT(bool, is_exact = true);
|
||||
|
45
boost/boost/mpl/aux_/arity.hpp
Normal file
45
boost/boost/mpl/aux_/arity.hpp
Normal file
@ -0,0 +1,45 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/arity.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2001-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_ARITY_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_ARITY_HPP_INCLUDED
|
||||
|
||||
#include "boost/mpl/aux_/config/dtp.hpp"
|
||||
|
||||
#if defined(BOOST_BROKEN_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES)
|
||||
|
||||
# include "boost/config.hpp"
|
||||
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
namespace aux {
|
||||
|
||||
// agurt, 15/mar/02: it's possible to implement the template so that it will
|
||||
// "just work" and do not require any specialization, but not on the compilers
|
||||
// that require the arity workaround in the first place
|
||||
template< typename F, int N >
|
||||
struct arity
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(int, value = N);
|
||||
};
|
||||
|
||||
} // namespace aux
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_BROKEN_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES
|
||||
|
||||
#endif // BOOST_MPL_AUX_ARITY_HPP_INCLUDED
|
41
boost/boost/mpl/aux_/config/dtp.hpp
Normal file
41
boost/boost/mpl/aux_/config/dtp.hpp
Normal file
@ -0,0 +1,41 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/config/dtp.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2001-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
|
||||
|
||||
#include "boost/config.hpp"
|
||||
|
||||
// MWCW 7.x-8.0 "losts" default template parameters of nested class
|
||||
// templates when their owner classes are passed as arguments to other
|
||||
// templates; Borland 5.5.1 "forgets" them from the very beginning (if
|
||||
// the owner class is a class template), and Borland 5.6 isn't even
|
||||
// able to compile a definition of nested class template with DTP
|
||||
|
||||
#if defined(__BORLANDC__) && __BORLANDC__ >= 0x560 && \
|
||||
(__BORLANDC__ <= 0x561 || !defined(BOOST_STRICT_CONFIG)) \
|
||||
&& !defined(BOOST_NO_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES)
|
||||
# define BOOST_NO_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if defined(__MWERKS__) && __MWERKS__ <= 0x3001 \
|
||||
|| defined(__BORLANDC__) && (__BORLANDC__ <= 0x570 || !defined(BOOST_STRICT_CONFIG)) \
|
||||
|| defined(BOOST_NO_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES) \
|
||||
&& !defined(BOOST_BROKEN_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES)
|
||||
# define BOOST_BROKEN_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES
|
||||
#endif
|
||||
|
||||
#endif // BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
|
35
boost/boost/mpl/aux_/config/lambda.hpp
Normal file
35
boost/boost/mpl/aux_/config/lambda.hpp
Normal file
@ -0,0 +1,35 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/config/lambda.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2002
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
|
||||
|
||||
#include "boost/mpl/aux_/config/ttp.hpp"
|
||||
#include "boost/config.hpp"
|
||||
|
||||
// agurt, 15/jan/02: full-fledged implementation requires both
|
||||
// template template parameters _and_ partial specialization
|
||||
|
||||
#if defined(BOOST_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
|
||||
|| defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
||||
&& !defined(BOOST_MPL_NO_FULL_LAMBDA_SUPPORT)
|
||||
# define BOOST_MPL_NO_FULL_LAMBDA_SUPPORT
|
||||
#endif
|
||||
|
||||
//#define BOOST_MPL_NO_UNNAMED_PLACEHOLDER_SUPPORT
|
||||
//#define BOOST_MPL_NO_LAMBDA_HEURISTIC
|
||||
|
||||
#endif // BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
|
28
boost/boost/mpl/aux_/config/overload_resolution.hpp
Normal file
28
boost/boost/mpl/aux_/config/overload_resolution.hpp
Normal file
@ -0,0 +1,28 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/config/overload_resolution.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2002
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
|
||||
|
||||
#include "boost/config.hpp"
|
||||
|
||||
#if defined(__BORLANDC__) && (__BORLANDC__ <= 0x561 || !defined(BOOST_STRICT_CONFIG)) \
|
||||
|| defined(__MWERKS__) && __MWERKS__ < 0x3001 \
|
||||
&& !defined(BOOST_MPL_BROKEN_OVERLOAD_RESOLUTION)
|
||||
# define BOOST_MPL_BROKEN_OVERLOAD_RESOLUTION
|
||||
#endif
|
||||
|
||||
#endif // BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
|
30
boost/boost/mpl/aux_/config/preprocessor.hpp
Normal file
30
boost/boost/mpl/aux_/config/preprocessor.hpp
Normal file
@ -0,0 +1,30 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/config/preprocessor.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2000-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
|
||||
|
||||
#include "boost/config.hpp"
|
||||
|
||||
#if defined(__MWERKS__) && (__MWERKS__ <= 0x3003 || !defined(BOOST_STRICT_CONFIG)) \
|
||||
|| defined(__BORLANDC__) && (__BORLANDC__ <= 0x561 || !defined(BOOST_STRICT_CONFIG)) \
|
||||
|| defined(__IBMCPP__) && (__IBMCPP__ <= 502 || !defined(BOOST_STRICT_CONFIG))
|
||||
# define BOOST_MPL_BROKEN_PP_MACRO_EXPANSION
|
||||
#endif
|
||||
|
||||
//#define BOOST_MPL_NO_OWN_PP_PRIMITIVES
|
||||
|
||||
#endif // BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
|
34
boost/boost/mpl/aux_/config/ttp.hpp
Normal file
34
boost/boost/mpl/aux_/config/ttp.hpp
Normal file
@ -0,0 +1,34 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/config/ttp.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2000-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
|
||||
|
||||
#include "boost/config.hpp"
|
||||
|
||||
#if defined(BOOST_NO_TEMPLATE_TEMPLATES) \
|
||||
&& (!defined(BOOST_MSVC) || BOOST_MSVC < 1300)
|
||||
# define BOOST_NO_TEMPLATE_TEMPLATE_PARAMETERS
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) && (__GNUC__ < 3 || __GNUC__ == 3 && __GNUC_MINOR__ <= 2 \
|
||||
|| !defined(BOOST_STRICT_CONFIG)) \
|
||||
|| defined(__BORLANDC__) && (__BORLANDC__ <= 0x561 || !defined(BOOST_STRICT_CONFIG)) \
|
||||
&& !defined(BOOST_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
|
||||
# define BOOST_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
|
||||
#endif
|
||||
|
||||
#endif // BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
|
28
boost/boost/mpl/aux_/lambda_arity_param.hpp
Normal file
28
boost/boost/mpl/aux_/lambda_arity_param.hpp
Normal file
@ -0,0 +1,28 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/lambda_arity_param.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2001-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
|
||||
|
||||
#include "boost/mpl/aux_/config/ttp.hpp"
|
||||
|
||||
#if !defined(BOOST_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
|
||||
# define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param)
|
||||
#else
|
||||
# define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) , param
|
||||
#endif
|
||||
|
||||
#endif // BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
|
58
boost/boost/mpl/aux_/lambda_support.hpp
Normal file
58
boost/boost/mpl/aux_/lambda_support.hpp
Normal file
@ -0,0 +1,58 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/lambda_support.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2001-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
|
||||
|
||||
#include "boost/mpl/aux_/config/lambda.hpp"
|
||||
|
||||
#if !defined(BOOST_MPL_NO_FULL_LAMBDA_SUPPORT)
|
||||
|
||||
# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) /**/
|
||||
|
||||
#else
|
||||
|
||||
# include "boost/mpl/aux_/preprocessor/params.hpp"
|
||||
# include "boost/preprocessor/tuple/to_list.hpp"
|
||||
# include "boost/preprocessor/list/for_each_i.hpp"
|
||||
# include "boost/preprocessor/inc.hpp"
|
||||
# include "boost/preprocessor/cat.hpp"
|
||||
|
||||
# define BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC(R,typedef_,i,param) \
|
||||
typedef_ param BOOST_PP_CAT(arg,BOOST_PP_INC(i)); \
|
||||
/**/
|
||||
|
||||
# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) \
|
||||
struct rebind \
|
||||
{ \
|
||||
BOOST_STATIC_CONSTANT(int, arity = i); \
|
||||
BOOST_PP_LIST_FOR_EACH_I_R( \
|
||||
1 \
|
||||
, BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \
|
||||
, typedef \
|
||||
, BOOST_PP_TUPLE_TO_LIST(i,params) \
|
||||
) \
|
||||
\
|
||||
template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \
|
||||
{ \
|
||||
typedef typename name< BOOST_MPL_PP_PARAMS(i,U) >::type type; \
|
||||
}; \
|
||||
}; \
|
||||
/**/
|
||||
|
||||
#endif // BOOST_MPL_NO_FULL_LAMBDA_SUPPORT
|
||||
|
||||
#endif // BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED
|
103
boost/boost/mpl/aux_/preprocessor/def_params_tail.hpp
Normal file
103
boost/boost/mpl/aux_/preprocessor/def_params_tail.hpp
Normal file
@ -0,0 +1,103 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/preprocessor/def_params_tail.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2000-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
|
||||
|
||||
#include "boost/mpl/limits/arity.hpp"
|
||||
#include "boost/mpl/aux_/config/dtp.hpp"
|
||||
#include "boost/mpl/aux_/config/preprocessor.hpp"
|
||||
|
||||
#include "boost/preprocessor/identity.hpp"
|
||||
#include "boost/preprocessor/empty.hpp"
|
||||
|
||||
// BOOST_MPL_PP_DEF_PARAMS_TAIL(1,T): , T1 = void_, .., Tn = void_
|
||||
// BOOST_MPL_PP_DEF_PARAMS_TAIL(2,T): , T2 = void_, .., Tn = void_
|
||||
// BOOST_MPL_PP_DEF_PARAMS_TAIL(n,T): <nothing>
|
||||
|
||||
#if !defined(BOOST_MPL_NO_OWN_PP_PRIMITIVES)
|
||||
|
||||
# include "boost/mpl/aux_/preprocessor/filter_params.hpp"
|
||||
# include "boost/mpl/aux_/preprocessor/sub.hpp"
|
||||
|
||||
# define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \
|
||||
BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1( \
|
||||
i \
|
||||
, BOOST_MPL_PP_SUB(BOOST_MPL_METAFUNCTION_MAX_ARITY,i) \
|
||||
, param \
|
||||
, value_func \
|
||||
) \
|
||||
/**/
|
||||
|
||||
# define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1(i, n, param, value_func) \
|
||||
BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i,n,param,value_func) \
|
||||
/**/
|
||||
|
||||
# define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i, n, param, value_func) \
|
||||
, BOOST_MPL_PP_DEF_PARAMS_TAIL_##i(n,param,value_func) \
|
||||
/**/
|
||||
|
||||
# define BOOST_MPL_PP_DEF_PARAMS_TAIL_1(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1)
|
||||
# define BOOST_MPL_PP_DEF_PARAMS_TAIL_2(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2)
|
||||
# define BOOST_MPL_PP_DEF_PARAMS_TAIL_3(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3)
|
||||
# define BOOST_MPL_PP_DEF_PARAMS_TAIL_4(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4)
|
||||
# define BOOST_MPL_PP_DEF_PARAMS_TAIL_5(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5)
|
||||
# define BOOST_MPL_PP_DEF_PARAMS_TAIL_6(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6)
|
||||
# define BOOST_MPL_PP_DEF_PARAMS_TAIL_7(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6,p7)
|
||||
# define BOOST_MPL_PP_DEF_PARAMS_TAIL_8(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9 v(),p1,p2,p3,p4,p5,p6,p7,p8)
|
||||
# define BOOST_MPL_PP_DEF_PARAMS_TAIL_9(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p1,p2,p3,p4,p5,p6,p7,p8,p9)
|
||||
|
||||
#else
|
||||
|
||||
# include "boost/preprocessor/arithmetic/add.hpp"
|
||||
# include "boost/preprocessor/arithmetic/sub.hpp"
|
||||
# include "boost/preprocessor/inc.hpp"
|
||||
# include "boost/preprocessor/tuple/elem.hpp"
|
||||
# include "boost/preprocessor/repeat.hpp"
|
||||
# include "boost/preprocessor/cat.hpp"
|
||||
|
||||
# define BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC(unused, i, op) \
|
||||
, BOOST_PP_CAT( \
|
||||
BOOST_PP_TUPLE_ELEM(3, 1, op) \
|
||||
, BOOST_PP_ADD_D(1, i, BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(3, 0, op))) \
|
||||
) BOOST_PP_TUPLE_ELEM(3, 2, op)() \
|
||||
/**/
|
||||
|
||||
# define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \
|
||||
BOOST_PP_REPEAT_1( \
|
||||
BOOST_PP_SUB_D(1, BOOST_MPL_METAFUNCTION_MAX_ARITY, i) \
|
||||
, BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC \
|
||||
, (i, param, value_func) \
|
||||
) \
|
||||
/**/
|
||||
|
||||
#endif // BOOST_MPL_NO_OWN_PP_PRIMITIVES
|
||||
|
||||
#define BOOST_MPL_PP_DEF_PARAMS_TAIL(i, param, value) \
|
||||
BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \
|
||||
/**/
|
||||
|
||||
#if !defined(BOOST_NO_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES)
|
||||
# define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \
|
||||
BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \
|
||||
/**/
|
||||
#else
|
||||
# define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \
|
||||
BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_EMPTY) \
|
||||
/**/
|
||||
#endif
|
||||
|
||||
#endif // BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED
|
65
boost/boost/mpl/aux_/preprocessor/enum.hpp
Normal file
65
boost/boost/mpl/aux_/preprocessor/enum.hpp
Normal file
@ -0,0 +1,65 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/preprocessor/enum.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2000-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
|
||||
|
||||
#include "boost/mpl/aux_/config/preprocessor.hpp"
|
||||
|
||||
// BOOST_MPL_PP_ENUM(0,int): <nothing>
|
||||
// BOOST_MPL_PP_ENUM(1,int): int
|
||||
// BOOST_MPL_PP_ENUM(2,int): int, int
|
||||
// BOOST_MPL_PP_ENUM(n,int): int, int, .., int
|
||||
|
||||
#if !defined(BOOST_MPL_NO_OWN_PP_PRIMITIVES)
|
||||
|
||||
# include "boost/preprocessor/cat.hpp"
|
||||
|
||||
# define BOOST_MPL_PP_ENUM(n, param) \
|
||||
BOOST_PP_CAT(BOOST_MPL_PP_ENUM_,n)(param) \
|
||||
/**/
|
||||
|
||||
# define BOOST_MPL_PP_ENUM_0(p)
|
||||
# define BOOST_MPL_PP_ENUM_1(p) p
|
||||
# define BOOST_MPL_PP_ENUM_2(p) p,p
|
||||
# define BOOST_MPL_PP_ENUM_3(p) p,p,p
|
||||
# define BOOST_MPL_PP_ENUM_4(p) p,p,p,p
|
||||
# define BOOST_MPL_PP_ENUM_5(p) p,p,p,p,p
|
||||
# define BOOST_MPL_PP_ENUM_6(p) p,p,p,p,p,p
|
||||
# define BOOST_MPL_PP_ENUM_7(p) p,p,p,p,p,p,p
|
||||
# define BOOST_MPL_PP_ENUM_8(p) p,p,p,p,p,p,p,p
|
||||
# define BOOST_MPL_PP_ENUM_9(p) p,p,p,p,p,p,p,p,p
|
||||
|
||||
#else
|
||||
|
||||
# include "boost/preprocessor/comma_if.hpp"
|
||||
# include "boost/preprocessor/repeat.hpp"
|
||||
|
||||
# define BOOST_MPL_PP_AUX_ENUM_FUNC(unused, i, param) \
|
||||
BOOST_PP_COMMA_IF(i) param \
|
||||
/**/
|
||||
|
||||
# define BOOST_MPL_PP_ENUM(n, param) \
|
||||
BOOST_PP_REPEAT_1( \
|
||||
n \
|
||||
, BOOST_MPL_PP_AUX_ENUM_FUNC \
|
||||
, param \
|
||||
) \
|
||||
/**/
|
||||
|
||||
#endif // BOOST_MPL_NO_OWN_PP_PRIMITIVES
|
||||
|
||||
#endif // BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED
|
31
boost/boost/mpl/aux_/preprocessor/filter_params.hpp
Normal file
31
boost/boost/mpl/aux_/preprocessor/filter_params.hpp
Normal file
@ -0,0 +1,31 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/preprocessor/filter_params.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2000-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
|
||||
|
||||
#define BOOST_MPL_PP_FILTER_PARAMS_0(p1,p2,p3,p4,p5,p6,p7,p8,p9)
|
||||
#define BOOST_MPL_PP_FILTER_PARAMS_1(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1
|
||||
#define BOOST_MPL_PP_FILTER_PARAMS_2(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2
|
||||
#define BOOST_MPL_PP_FILTER_PARAMS_3(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3
|
||||
#define BOOST_MPL_PP_FILTER_PARAMS_4(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4
|
||||
#define BOOST_MPL_PP_FILTER_PARAMS_5(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5
|
||||
#define BOOST_MPL_PP_FILTER_PARAMS_6(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6
|
||||
#define BOOST_MPL_PP_FILTER_PARAMS_7(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7
|
||||
#define BOOST_MPL_PP_FILTER_PARAMS_8(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8
|
||||
#define BOOST_MPL_PP_FILTER_PARAMS_9(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8,p9
|
||||
|
||||
#endif // BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
|
68
boost/boost/mpl/aux_/preprocessor/params.hpp
Normal file
68
boost/boost/mpl/aux_/preprocessor/params.hpp
Normal file
@ -0,0 +1,68 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/preprocessor/params.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2000-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
|
||||
|
||||
#include "boost/mpl/aux_/config/preprocessor.hpp"
|
||||
|
||||
// BOOST_MPL_PP_PARAMS(0,T): <nothing>
|
||||
// BOOST_MPL_PP_PARAMS(1,T): T1
|
||||
// BOOST_MPL_PP_PARAMS(2,T): T1, T2
|
||||
// BOOST_MPL_PP_PARAMS(n,T): T1, T2, .., Tn
|
||||
|
||||
#if !defined(BOOST_MPL_NO_OWN_PP_PRIMITIVES)
|
||||
|
||||
# include "boost/preprocessor/cat.hpp"
|
||||
|
||||
# define BOOST_MPL_PP_PARAMS(n,p) \
|
||||
BOOST_PP_CAT(BOOST_MPL_PP_PARAMS_,n)(p) \
|
||||
/**/
|
||||
|
||||
# define BOOST_MPL_PP_PARAMS_0(p)
|
||||
# define BOOST_MPL_PP_PARAMS_1(p) p##1
|
||||
# define BOOST_MPL_PP_PARAMS_2(p) p##1,p##2
|
||||
# define BOOST_MPL_PP_PARAMS_3(p) p##1,p##2,p##3
|
||||
# define BOOST_MPL_PP_PARAMS_4(p) p##1,p##2,p##3,p##4
|
||||
# define BOOST_MPL_PP_PARAMS_5(p) p##1,p##2,p##3,p##4,p##5
|
||||
# define BOOST_MPL_PP_PARAMS_6(p) p##1,p##2,p##3,p##4,p##5,p##6
|
||||
# define BOOST_MPL_PP_PARAMS_7(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7
|
||||
# define BOOST_MPL_PP_PARAMS_8(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8
|
||||
# define BOOST_MPL_PP_PARAMS_9(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9
|
||||
|
||||
#else
|
||||
|
||||
# include "boost/preprocessor/comma_if.hpp"
|
||||
# include "boost/preprocessor/repeat.hpp"
|
||||
# include "boost/preprocessor/inc.hpp"
|
||||
# include "boost/preprocessor/cat.hpp"
|
||||
|
||||
# define BOOST_MPL_PP_AUX_PARAM_FUNC(unused, i, param) \
|
||||
BOOST_PP_COMMA_IF(i) \
|
||||
BOOST_PP_CAT(param, BOOST_PP_INC(i)) \
|
||||
/**/
|
||||
|
||||
# define BOOST_MPL_PP_PARAMS(n, param) \
|
||||
BOOST_PP_REPEAT_1( \
|
||||
n \
|
||||
, BOOST_MPL_PP_AUX_PARAM_FUNC \
|
||||
, param \
|
||||
) \
|
||||
/**/
|
||||
|
||||
#endif // BOOST_MPL_NO_OWN_PP_PRIMITIVES
|
||||
|
||||
#endif // BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED
|
55
boost/boost/mpl/aux_/preprocessor/sub.hpp
Normal file
55
boost/boost/mpl/aux_/preprocessor/sub.hpp
Normal file
@ -0,0 +1,55 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/preprocessor/sub.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2002
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
|
||||
|
||||
#include "boost/mpl/aux_/preprocessor/tuple.hpp"
|
||||
#include "boost/mpl/aux_/config/preprocessor.hpp"
|
||||
|
||||
#if defined(BOOST_MPL_BROKEN_PP_MACRO_EXPANSION)
|
||||
# include "boost/preprocessor/cat.hpp"
|
||||
|
||||
# define BOOST_MPL_PP_SUB(i,j) \
|
||||
BOOST_MPL_PP_SUB_DELAY(i,j) \
|
||||
/**/
|
||||
|
||||
# define BOOST_MPL_PP_SUB_DELAY(i,j) \
|
||||
BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_SUB_##j) \
|
||||
/**/
|
||||
#else
|
||||
# define BOOST_MPL_PP_SUB(i,j) \
|
||||
BOOST_MPL_PP_SUB_DELAY(i,j) \
|
||||
/**/
|
||||
|
||||
# define BOOST_MPL_PP_SUB_DELAY(i,j) \
|
||||
BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_SUB_##j \
|
||||
/**/
|
||||
#endif // BOOST_MPL_BROKEN_PP_MACRO_EXPANSION
|
||||
|
||||
#define BOOST_MPL_PP_SUB_0 (0,1,2,3,4,5,6,7,8,9,10)
|
||||
#define BOOST_MPL_PP_SUB_1 (0,0,1,2,3,4,5,6,7,8,9)
|
||||
#define BOOST_MPL_PP_SUB_2 (0,0,0,1,2,3,4,5,6,7,8)
|
||||
#define BOOST_MPL_PP_SUB_3 (0,0,0,0,1,2,3,4,5,6,7)
|
||||
#define BOOST_MPL_PP_SUB_4 (0,0,0,0,0,1,2,3,4,5,6)
|
||||
#define BOOST_MPL_PP_SUB_5 (0,0,0,0,0,0,1,2,3,4,5)
|
||||
#define BOOST_MPL_PP_SUB_6 (0,0,0,0,0,0,0,1,2,3,4)
|
||||
#define BOOST_MPL_PP_SUB_7 (0,0,0,0,0,0,0,0 1,2,3)
|
||||
#define BOOST_MPL_PP_SUB_8 (0,0,0,0,0,0,0,0,0,1,2)
|
||||
#define BOOST_MPL_PP_SUB_9 (0,0,0,0,0,0,0,0,0,0,1)
|
||||
#define BOOST_MPL_PP_SUB_10 (0,0,0,0,0,0,0,0,0,0,0)
|
||||
|
||||
#endif // BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED
|
32
boost/boost/mpl/aux_/preprocessor/tuple.hpp
Normal file
32
boost/boost/mpl/aux_/preprocessor/tuple.hpp
Normal file
@ -0,0 +1,32 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/preprocessor/tuple.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2002
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
|
||||
|
||||
#define BOOST_MPL_PP_TUPLE_11_ELEM_0(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e0
|
||||
#define BOOST_MPL_PP_TUPLE_11_ELEM_1(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e1
|
||||
#define BOOST_MPL_PP_TUPLE_11_ELEM_2(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e2
|
||||
#define BOOST_MPL_PP_TUPLE_11_ELEM_3(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e3
|
||||
#define BOOST_MPL_PP_TUPLE_11_ELEM_4(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e4
|
||||
#define BOOST_MPL_PP_TUPLE_11_ELEM_5(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e5
|
||||
#define BOOST_MPL_PP_TUPLE_11_ELEM_6(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e6
|
||||
#define BOOST_MPL_PP_TUPLE_11_ELEM_7(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e7
|
||||
#define BOOST_MPL_PP_TUPLE_11_ELEM_8(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e8
|
||||
#define BOOST_MPL_PP_TUPLE_11_ELEM_9(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e9
|
||||
#define BOOST_MPL_PP_TUPLE_11_ELEM_10(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e10
|
||||
|
||||
#endif // BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
|
30
boost/boost/mpl/aux_/template_arity_fwd.hpp
Normal file
30
boost/boost/mpl/aux_/template_arity_fwd.hpp
Normal file
@ -0,0 +1,30 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/template_arity_fwd.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2001-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
|
||||
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
namespace aux {
|
||||
|
||||
template< typename F > struct template_arity;
|
||||
|
||||
} // namespace aux
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
|
42
boost/boost/mpl/aux_/value_wknd.hpp
Normal file
42
boost/boost/mpl/aux_/value_wknd.hpp
Normal file
@ -0,0 +1,42 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/value_wknd.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2000-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
|
||||
|
||||
#include "boost/config.hpp"
|
||||
|
||||
#if defined(__BORLANDC__) && (__BORLANDC__ <= 0x561 || !defined(BOOST_STRICT_CONFIG))
|
||||
|
||||
namespace boost { namespace mpl { namespace aux {
|
||||
|
||||
template< typename C >
|
||||
struct value_wknd
|
||||
: C
|
||||
{
|
||||
};
|
||||
|
||||
}}} // namespace boost::mpl::aux
|
||||
|
||||
# define BOOST_MPL_AUX_VALUE_WKND(C) ::boost::mpl::aux::value_wknd< C >
|
||||
|
||||
#else
|
||||
|
||||
# define BOOST_MPL_AUX_VALUE_WKND(C) C
|
||||
|
||||
#endif // __BORLANDC__
|
||||
|
||||
#endif // BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED
|
140
boost/boost/mpl/aux_/void_spec.hpp
Normal file
140
boost/boost/mpl/aux_/void_spec.hpp
Normal file
@ -0,0 +1,140 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/void_spec.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2001-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_AUX_VOID_SPEC_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_VOID_SPEC_HPP_INCLUDED
|
||||
|
||||
#include "boost/mpl/lambda_fwd.hpp"
|
||||
#include "boost/mpl/void.hpp"
|
||||
#include "boost/mpl/aux_/preprocessor/params.hpp"
|
||||
#include "boost/mpl/aux_/preprocessor/enum.hpp"
|
||||
#include "boost/mpl/aux_/preprocessor/def_params_tail.hpp"
|
||||
#include "boost/mpl/aux_/arity.hpp"
|
||||
#include "boost/mpl/aux_/template_arity_fwd.hpp"
|
||||
#include "boost/mpl/aux_/lambda_arity_param.hpp"
|
||||
#include "boost/mpl/aux_/config/dtp.hpp"
|
||||
#include "boost/mpl/aux_/config/ttp.hpp"
|
||||
#include "boost/mpl/aux_/config/lambda.hpp"
|
||||
#include "boost/mpl/aux_/config/overload_resolution.hpp"
|
||||
|
||||
#include "boost/config.hpp"
|
||||
|
||||
#define BOOST_MPL_AUX_VOID_SPEC_PARAMS(i) \
|
||||
BOOST_MPL_PP_ENUM(i, void_) \
|
||||
/**/
|
||||
|
||||
#if defined(BOOST_BROKEN_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES)
|
||||
# define BOOST_MPL_AUX_VOID_SPEC_ARITY(i, name) \
|
||||
namespace aux { \
|
||||
template< int N > \
|
||||
struct arity< \
|
||||
name< BOOST_MPL_AUX_VOID_SPEC_PARAMS(i) > \
|
||||
, N \
|
||||
> \
|
||||
{ \
|
||||
BOOST_STATIC_CONSTANT(int \
|
||||
, value = BOOST_MPL_METAFUNCTION_MAX_ARITY \
|
||||
); \
|
||||
}; \
|
||||
} \
|
||||
/**/
|
||||
#else
|
||||
# define BOOST_MPL_AUX_VOID_SPEC_ARITY(i, name) /**/
|
||||
#endif
|
||||
|
||||
#define BOOST_MPL_AUX_VOID_SPEC_MAIN(i, name) \
|
||||
template<> \
|
||||
struct name< BOOST_MPL_AUX_VOID_SPEC_PARAMS(i) > \
|
||||
{ \
|
||||
template< \
|
||||
BOOST_MPL_PP_PARAMS(i, typename T) \
|
||||
BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, typename T, void_) \
|
||||
> \
|
||||
struct apply \
|
||||
: name< BOOST_MPL_PP_PARAMS(i, T) > \
|
||||
{ \
|
||||
}; \
|
||||
}; \
|
||||
/**/
|
||||
|
||||
#if defined(BOOST_MPL_NO_FULL_LAMBDA_SUPPORT)
|
||||
# define BOOST_MPL_AUX_VOID_SPEC_LAMBDA(i, name) \
|
||||
template<> \
|
||||
struct lambda< \
|
||||
name< BOOST_MPL_AUX_VOID_SPEC_PARAMS(i) > \
|
||||
, true \
|
||||
> \
|
||||
{ \
|
||||
typedef name< BOOST_MPL_AUX_VOID_SPEC_PARAMS(i) > type; \
|
||||
}; \
|
||||
/**/
|
||||
#else
|
||||
# define BOOST_MPL_AUX_VOID_SPEC_LAMBDA(i, name) \
|
||||
template<> \
|
||||
struct lambda< \
|
||||
name< BOOST_MPL_AUX_VOID_SPEC_PARAMS(i) > \
|
||||
BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(-1) \
|
||||
> \
|
||||
{ \
|
||||
typedef name< BOOST_MPL_AUX_VOID_SPEC_PARAMS(i) > type; \
|
||||
}; \
|
||||
/**/
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) || \
|
||||
defined(BOOST_MPL_NO_FULL_LAMBDA_SUPPORT) && \
|
||||
defined(BOOST_MPL_BROKEN_OVERLOAD_RESOLUTION)
|
||||
# define BOOST_MPL_AUX_VOID_SPEC_TEMPLATE_ARITY(i, j, name) \
|
||||
namespace aux { \
|
||||
template< BOOST_MPL_PP_PARAMS(j, typename T) > \
|
||||
struct template_arity< \
|
||||
name< BOOST_MPL_PP_PARAMS(j, T) > \
|
||||
> \
|
||||
{ \
|
||||
BOOST_STATIC_CONSTANT(int, value = j); \
|
||||
}; \
|
||||
\
|
||||
template<> \
|
||||
struct template_arity< \
|
||||
name< BOOST_MPL_PP_ENUM(i, void_) > \
|
||||
> \
|
||||
{ \
|
||||
BOOST_STATIC_CONSTANT(int, value = -1); \
|
||||
}; \
|
||||
} \
|
||||
/**/
|
||||
#else
|
||||
# define BOOST_MPL_AUX_VOID_SPEC_TEMPLATE_ARITY(i, j, name) /**/
|
||||
#endif
|
||||
|
||||
|
||||
#define BOOST_MPL_AUX_VOID_SPEC_PARAM(param) param = void_
|
||||
|
||||
#define BOOST_MPL_AUX_VOID_SPEC(i, name) \
|
||||
BOOST_MPL_AUX_VOID_SPEC_MAIN(i, name) \
|
||||
BOOST_MPL_AUX_VOID_SPEC_LAMBDA(i, name) \
|
||||
BOOST_MPL_AUX_VOID_SPEC_ARITY(i, name) \
|
||||
BOOST_MPL_AUX_VOID_SPEC_TEMPLATE_ARITY(i, i, name) \
|
||||
/**/
|
||||
|
||||
#define BOOST_MPL_AUX_VOID_SPEC_EXT(i, j, name) \
|
||||
BOOST_MPL_AUX_VOID_SPEC_MAIN(i, name) \
|
||||
BOOST_MPL_AUX_VOID_SPEC_LAMBDA(i, name) \
|
||||
BOOST_MPL_AUX_VOID_SPEC_ARITY(i, name) \
|
||||
BOOST_MPL_AUX_VOID_SPEC_TEMPLATE_ARITY(i, j, name) \
|
||||
/**/
|
||||
|
||||
#endif // BOOST_MPL_AUX_VOID_SPEC_HPP_INCLUDED
|
40
boost/boost/mpl/bool_c.hpp
Normal file
40
boost/boost/mpl/bool_c.hpp
Normal file
@ -0,0 +1,40 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/bool_c.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2000-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_BOOL_C_HPP_INCLUDED
|
||||
#define BOOST_MPL_BOOL_C_HPP_INCLUDED
|
||||
|
||||
#include "boost/config.hpp"
|
||||
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
template< bool C > struct bool_c
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(bool, value = C);
|
||||
typedef bool_c type;
|
||||
typedef bool value_type;
|
||||
operator bool() const { return this->value; }
|
||||
};
|
||||
|
||||
// shorcuts
|
||||
typedef bool_c<true> true_c;
|
||||
typedef bool_c<false> false_c;
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_MPL_BOOL_C_HPP_INCLUDED
|
163
boost/boost/mpl/if.hpp
Normal file
163
boost/boost/mpl/if.hpp
Normal file
@ -0,0 +1,163 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost/mpl/if.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2000-02 Boost.org
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_IF_HPP_INCLUDED
|
||||
#define BOOST_MPL_IF_HPP_INCLUDED
|
||||
|
||||
#include "boost/mpl/aux_/value_wknd.hpp"
|
||||
#include "boost/mpl/aux_/void_spec.hpp"
|
||||
#include "boost/mpl/aux_/lambda_support.hpp"
|
||||
#include "boost/config.hpp"
|
||||
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
|
||||
|
||||
template<
|
||||
bool C
|
||||
, typename T1
|
||||
, typename T2
|
||||
>
|
||||
struct if_c
|
||||
{
|
||||
typedef T1 type;
|
||||
};
|
||||
|
||||
template<
|
||||
typename T1
|
||||
, typename T2
|
||||
>
|
||||
struct if_c<false,T1,T2>
|
||||
{
|
||||
typedef T2 type;
|
||||
};
|
||||
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(C)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2)
|
||||
>
|
||||
struct if_
|
||||
{
|
||||
typedef typename if_c<
|
||||
BOOST_MPL_AUX_VALUE_WKND(C)::value
|
||||
, T1
|
||||
, T2
|
||||
>::type type;
|
||||
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(C,T1,T2))
|
||||
};
|
||||
|
||||
#elif defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
|
||||
|
||||
// MSVC6.5-specific version
|
||||
|
||||
template<
|
||||
bool C
|
||||
, typename T1
|
||||
, typename T2
|
||||
>
|
||||
struct if_c
|
||||
{
|
||||
private:
|
||||
template<bool> struct answer { typedef T1 type; };
|
||||
template<> struct answer<false> { typedef T2 type; };
|
||||
|
||||
public:
|
||||
typedef typename answer< C >::type type;
|
||||
};
|
||||
|
||||
// (almost) copy & paste in order to save one more
|
||||
// recursively nested template instantiation to user
|
||||
template<
|
||||
typename C
|
||||
, typename T1
|
||||
, typename T2
|
||||
>
|
||||
struct if_
|
||||
{
|
||||
private:
|
||||
template<bool> struct answer { typedef T1 type; };
|
||||
template<> struct answer<false> { typedef T2 type; };
|
||||
|
||||
// agurt, 17/sep/02: in some situations MSVC 7.0 doesn't
|
||||
// handle 'answer<C::value>' expression very well
|
||||
enum { c_ = C::value };
|
||||
|
||||
public:
|
||||
typedef typename answer<c_>::type type;
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
// no partial class template specialization
|
||||
|
||||
namespace aux {
|
||||
|
||||
template< bool C >
|
||||
struct if_impl
|
||||
{
|
||||
template< typename T1, typename T2 > struct result_
|
||||
{
|
||||
typedef T1 type;
|
||||
};
|
||||
};
|
||||
|
||||
template<>
|
||||
struct if_impl<false>
|
||||
{
|
||||
template< typename T1, typename T2 > struct result_
|
||||
{
|
||||
typedef T2 type;
|
||||
};
|
||||
};
|
||||
|
||||
} // namespace aux
|
||||
|
||||
template<
|
||||
bool C
|
||||
, typename T1
|
||||
, typename T2
|
||||
>
|
||||
struct if_c
|
||||
{
|
||||
typedef typename aux::if_impl< C >
|
||||
::template result_<T1,T2>::type type;
|
||||
};
|
||||
|
||||
// (almost) copy & paste in order to save one more
|
||||
// recursively nested template instantiation to user
|
||||
template<
|
||||
typename BOOST_MPL_AUX_VOID_SPEC_PARAM(C)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T1)
|
||||
, typename BOOST_MPL_AUX_VOID_SPEC_PARAM(T2)
|
||||
>
|
||||
struct if_
|
||||
{
|
||||
typedef typename aux::if_impl< C::value >
|
||||
::template result_<T1,T2>::type type;
|
||||
|
||||
BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(C,T1,T2))
|
||||
};
|
||||
|
||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
BOOST_MPL_AUX_VOID_SPEC(3, if_)
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_MPL_IF_HPP_INCLUDED
|
73
boost/boost/mpl/integral_c.hpp
Normal file
73
boost/boost/mpl/integral_c.hpp
Normal file
@ -0,0 +1,73 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost/mpl/intergal_c.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2000-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
|
||||
#define BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
|
||||
|
||||
#include "boost/config.hpp"
|
||||
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
template< typename T, T N >
|
||||
struct integral_c
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(T, value = N);
|
||||
typedef integral_c type;
|
||||
typedef T value_type;
|
||||
|
||||
// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC),
|
||||
// while some other don't like 'value + 1' (Borland), and some don't like
|
||||
// either
|
||||
#if defined(__EDG_VERSION__) && __EDG_VERSION__ <= 243
|
||||
private:
|
||||
BOOST_STATIC_CONSTANT(T, next_value = (N + 1));
|
||||
BOOST_STATIC_CONSTANT(T, prior_value = (N - 1));
|
||||
public:
|
||||
typedef integral_c<T, next_value> next;
|
||||
typedef integral_c<T, prior_value> prior;
|
||||
#elif defined(__BORLANDC__) && (__BORLANDC__ <= 0x561 || !defined(BOOST_STRICT_CONFIG)) \
|
||||
|| defined(__IBMCPP__) && (__IBMCPP__ <= 502 || !defined(BOOST_STRICT_CONFIG))
|
||||
typedef integral_c<T, (N + 1)> next;
|
||||
typedef integral_c<T, (N - 1)> prior;
|
||||
#else
|
||||
typedef integral_c<T, (value + 1)> next;
|
||||
typedef integral_c<T, (value - 1)> prior;
|
||||
#endif
|
||||
|
||||
// enables uniform function call syntax for families of overloaded
|
||||
// functions that return objects of both arithmetic ('int', 'long',
|
||||
// 'double', etc.) and 'integral_c<..>' types (for an example, see
|
||||
// "mpl/example/power.cpp")
|
||||
operator T() const { return this->value; }
|
||||
};
|
||||
|
||||
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
||||
&& !defined(__BORLANDC__) || __BORLANDC__ > 0x551
|
||||
// 'bool' constant doesn't have 'next'/'prior' members
|
||||
template< bool C >
|
||||
struct integral_c<bool, C>
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(bool, value = C);
|
||||
typedef integral_c type;
|
||||
operator bool() const { return this->value; }
|
||||
};
|
||||
#endif
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_MPL_INTEGRAL_C_HPP_INCLUDED
|
36
boost/boost/mpl/lambda_fwd.hpp
Normal file
36
boost/boost/mpl/lambda_fwd.hpp
Normal file
@ -0,0 +1,36 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/labmda_fwd.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2001-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
|
||||
#define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
|
||||
|
||||
#include "boost/mpl/aux_/lambda_arity_param.hpp"
|
||||
#include "boost/mpl/aux_/config/lambda.hpp"
|
||||
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
#if !defined(BOOST_MPL_NO_FULL_LAMBDA_SUPPORT)
|
||||
template< typename T BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(long Arity) >
|
||||
struct lambda;
|
||||
#else
|
||||
template< typename T, bool Protect > struct lambda;
|
||||
#endif
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
|
24
boost/boost/mpl/limits/arity.hpp
Normal file
24
boost/boost/mpl/limits/arity.hpp
Normal file
@ -0,0 +1,24 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/limits/arity.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2000-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
|
||||
#define BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
|
||||
|
||||
#if !defined(BOOST_MPL_METAFUNCTION_MAX_ARITY)
|
||||
# define BOOST_MPL_METAFUNCTION_MAX_ARITY 5
|
||||
#endif
|
||||
|
||||
#endif // BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
|
49
boost/boost/mpl/size_t_c.hpp
Normal file
49
boost/boost/mpl/size_t_c.hpp
Normal file
@ -0,0 +1,49 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/size_t_c.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2000-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_SIZE_T_C_HPP_INCLUDED
|
||||
#define BOOST_MPL_SIZE_T_C_HPP_INCLUDED
|
||||
|
||||
#include "boost/mpl/integral_c.hpp"
|
||||
#include "boost/config.hpp"
|
||||
#include <cstddef> // for std::size_t
|
||||
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
template< std::size_t N > struct size_t_c
|
||||
#if !defined(__BORLANDC__)
|
||||
: integral_c< std::size_t,N >
|
||||
{
|
||||
typedef size_t_c type;
|
||||
};
|
||||
#else
|
||||
{
|
||||
BOOST_STATIC_CONSTANT(std::size_t, value = N);
|
||||
typedef size_t_c type;
|
||||
typedef std::size_t value_type;
|
||||
|
||||
typedef size_t_c<N + 1> next;
|
||||
typedef size_t_c<N - 1> prior;
|
||||
|
||||
operator std::size_t() const { return this->value; }
|
||||
};
|
||||
#endif
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_MPL_SIZE_T_C_HPP_INCLUDED
|
49
boost/boost/mpl/void.hpp
Normal file
49
boost/boost/mpl/void.hpp
Normal file
@ -0,0 +1,49 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/void.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2001-02
|
||||
// Peter Dimov, Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
#ifndef BOOST_MPL_VOID_HPP_INCLUDED
|
||||
#define BOOST_MPL_VOID_HPP_INCLUDED
|
||||
|
||||
#include "boost/mpl/bool_c.hpp"
|
||||
#include "boost/config.hpp"
|
||||
|
||||
namespace boost {
|
||||
namespace mpl {
|
||||
|
||||
struct void_;
|
||||
|
||||
template< typename T >
|
||||
struct is_void_
|
||||
: false_c
|
||||
{
|
||||
#if defined(BOOST_MSVC) && BOOST_MSVC < 1300
|
||||
using false_c::value;
|
||||
#endif
|
||||
};
|
||||
|
||||
template<>
|
||||
struct is_void_<void_>
|
||||
: true_c
|
||||
{
|
||||
#if defined(BOOST_MSVC) && BOOST_MSVC < 1300
|
||||
using true_c::value;
|
||||
#endif
|
||||
};
|
||||
|
||||
} // namespace mpl
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_MPL_VOID_HPP_INCLUDED
|
@ -36,12 +36,23 @@ namespace boost {
|
||||
|
||||
#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
template <int cond, class A, class B>
|
||||
// agurt, 15/sep/02: in certain cases Borland has problems with
|
||||
// choosing the right 'ct_if' specialization even though 'cond'
|
||||
// _does_ equal '1'; the easiest way to fix it is to make first
|
||||
// 'ct_if' non-type template parameter boolean.
|
||||
#if !defined(__BORLANDC__)
|
||||
template <bool cond, class A, class B>
|
||||
struct ct_if { typedef ct_if_error type; };
|
||||
template <class A, class B>
|
||||
struct ct_if<1, A, B> { typedef A type; };
|
||||
struct ct_if<true, A, B> { typedef A type; };
|
||||
template <class A, class B>
|
||||
struct ct_if<0, A, B> { typedef B type; };
|
||||
struct ct_if<false, A, B> { typedef B type; };
|
||||
#else
|
||||
template <bool cond, class A, class B>
|
||||
struct ct_if { typedef A type; };
|
||||
template <class A, class B>
|
||||
struct ct_if<false, A, B> { typedef B type; };
|
||||
#endif
|
||||
|
||||
template <class cond, class A, class B>
|
||||
struct ct_if_t { typedef ct_if_error type; };
|
||||
|
@ -1,34 +1,30 @@
|
||||
#ifndef BOOST_PREPROCESSOR_HPP
|
||||
#define BOOST_PREPROCESSOR_HPP
|
||||
//-----------------------------------------------------------------------------
|
||||
// boost mpl/aux_/config/preprocessor.hpp header file
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2000-02
|
||||
// Aleksey Gurtovoy
|
||||
//
|
||||
// Permission to use, copy, modify, distribute and sell this software
|
||||
// and its documentation for any purpose is hereby granted without fee,
|
||||
// provided that the above copyright notice appears in all copies and
|
||||
// that both the copyright notice and this permission notice appear in
|
||||
// supporting documentation. No representations are made about the
|
||||
// suitability of this software for any purpose. It is provided "as is"
|
||||
// without express or implied warranty.
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
#ifndef BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
|
||||
#define BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
|
||||
|
||||
/** <p>Includes all Preprocessor library headers.</p> */
|
||||
#include "boost/config.hpp"
|
||||
|
||||
#include <boost/preprocessor/arithmetic.hpp>
|
||||
#include <boost/preprocessor/assert_msg.hpp>
|
||||
#include <boost/preprocessor/comparison.hpp>
|
||||
#include <boost/preprocessor/enum_params.hpp>
|
||||
#include <boost/preprocessor/enum_params_with_a_default.hpp>
|
||||
#include <boost/preprocessor/enum_params_with_defaults.hpp>
|
||||
#include <boost/preprocessor/enum_shifted_params.hpp>
|
||||
#include <boost/preprocessor/expand.hpp>
|
||||
#include <boost/preprocessor/for.hpp>
|
||||
#include <boost/preprocessor/limits.hpp>
|
||||
#include <boost/preprocessor/list.hpp>
|
||||
#include <boost/preprocessor/logical.hpp>
|
||||
#include <boost/preprocessor/max.hpp>
|
||||
#include <boost/preprocessor/min.hpp>
|
||||
#include <boost/preprocessor/repeat_from_to.hpp>
|
||||
#include <boost/preprocessor/stringize.hpp>
|
||||
#if defined(__MWERKS__) && (__MWERKS__ <= 0x3003 || !defined(BOOST_STRICT_CONFIG)) \
|
||||
|| defined(__BORLANDC__) && (__BORLANDC__ <= 0x561 || !defined(BOOST_STRICT_CONFIG)) \
|
||||
|| defined(__IBMCPP__) && (__IBMCPP__ <= 502 || !defined(BOOST_STRICT_CONFIG))
|
||||
# define BOOST_MPL_BROKEN_PP_MACRO_EXPANSION
|
||||
#endif
|
||||
|
||||
//#define BOOST_MPL_NO_OWN_PP_PRIMITIVES
|
||||
|
||||
#endif // BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
|
||||
|
@ -1,21 +1,26 @@
|
||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_HPP
|
||||
#define BOOST_PREPROCESSOR_ARITHMETIC_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
/** <p>Includes all arithmetic headers.</p> */
|
||||
|
||||
#include <boost/preprocessor/arithmetic/div.hpp>
|
||||
#include <boost/preprocessor/arithmetic/mod.hpp>
|
||||
#include <boost/preprocessor/arithmetic/mul.hpp>
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ARITHMETIC_HPP
|
||||
# define BOOST_PREPROCESSOR_ARITHMETIC_HPP
|
||||
#
|
||||
# include <boost/preprocessor/arithmetic/add.hpp>
|
||||
# include <boost/preprocessor/arithmetic/dec.hpp>
|
||||
# include <boost/preprocessor/arithmetic/div.hpp>
|
||||
# include <boost/preprocessor/arithmetic/inc.hpp>
|
||||
# include <boost/preprocessor/arithmetic/mod.hpp>
|
||||
# include <boost/preprocessor/arithmetic/mul.hpp>
|
||||
# include <boost/preprocessor/arithmetic/sub.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,41 +1,52 @@
|
||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
|
||||
#define BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/dec.hpp>
|
||||
#include <boost/preprocessor/inc.hpp>
|
||||
#include <boost/preprocessor/tuple/elem.hpp>
|
||||
#include <boost/preprocessor/while.hpp>
|
||||
|
||||
/** <p>Expands to the sum of <code>X</code> and <code>Y</code>.</p>
|
||||
|
||||
<p>Both <code>X</code> and <code>Y</code> must expand to integer literals
|
||||
in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_ADD(4,3)</code> expands to <code>7</code> (a
|
||||
single token).</p>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_ADD(X,Y) BOOST_PP_ADD_D(0,X,Y)
|
||||
|
||||
/** <p>Can be used inside BOOST_PP_WHILE() (see for an explanation of the D parameter).</p> */
|
||||
#define BOOST_PP_ADD_D(D,X,Y) BOOST_PP_TUPLE_ELEM(2,0,BOOST_PP_WHILE##D(BOOST_PP_ADD_C,BOOST_PP_ADD_F,(X,Y)))
|
||||
|
||||
#define BOOST_PP_ADD_C(D,RC) BOOST_PP_TUPLE_ELEM(2,1,RC)
|
||||
#define BOOST_PP_ADD_F(D,RC) (BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(2,0,RC)),BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(2,1,RC)))
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
|
||||
# define BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
|
||||
#
|
||||
# include <boost/preprocessor/arithmetic/dec.hpp>
|
||||
# include <boost/preprocessor/arithmetic/inc.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
# include <boost/preprocessor/control/while.hpp>
|
||||
# include <boost/preprocessor/tuple/elem.hpp>
|
||||
#
|
||||
# /* BOOST_PP_ADD */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_ADD(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
|
||||
# else
|
||||
# define BOOST_PP_ADD(x, y) BOOST_PP_ADD_I(x, y)
|
||||
# define BOOST_PP_ADD_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_ADD_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy)
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||
# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I xy
|
||||
# else
|
||||
# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy))
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_ADD_O_I(x, y) (BOOST_PP_INC(x), BOOST_PP_DEC(y))
|
||||
#
|
||||
# /* BOOST_PP_ADD_D */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
|
||||
# else
|
||||
# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_ADD_D_I(d, x, y)
|
||||
# define BOOST_PP_ADD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y)))
|
||||
# endif
|
||||
#
|
||||
# endif
|
||||
|
@ -1,39 +1,40 @@
|
||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP
|
||||
#define BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/comparison/less_equal.hpp>
|
||||
#include <boost/preprocessor/inc.hpp>
|
||||
|
||||
/** <p>Expands to the quotient of <code>X</code> and <code>Y</code>.</p>
|
||||
|
||||
<p>Both <code>X</code> and <code>Y</code> must expand to integer literals
|
||||
in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_DIV(4,3)</code> expands to <code>1</code> (a
|
||||
single token).</p>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_DIV(X,Y) BOOST_PP_DIV_D(0,X,Y)
|
||||
|
||||
/** <p>Can be used inside BOOST_PP_WHILE() (see for an explanation of the D parameter).</p> */
|
||||
#define BOOST_PP_DIV_D(D,X,Y) BOOST_PP_TUPLE_ELEM(3,0,BOOST_PP_WHILE##D(BOOST_PP_DIV_C,BOOST_PP_DIV_F,(0,X,Y)))
|
||||
|
||||
#define BOOST_PP_DIV_C(D,RCY) BOOST_PP_LESS_EQUAL_D(D,BOOST_PP_TUPLE_ELEM(3,2,RCY),BOOST_PP_TUPLE_ELEM(3,1,RCY))
|
||||
#define BOOST_PP_DIV_F(D,RCY) (BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(3,0,RCY)),BOOST_PP_SUB_D(D,BOOST_PP_TUPLE_ELEM(3,1,RCY),BOOST_PP_TUPLE_ELEM(3,2,RCY)),BOOST_PP_TUPLE_ELEM(3,2,RCY))
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP
|
||||
# define BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP
|
||||
#
|
||||
# include <boost/preprocessor/arithmetic/detail/div_base.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
# include <boost/preprocessor/tuple/elem.hpp>
|
||||
#
|
||||
# /* BOOST_PP_DIV */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_DIV(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE(x, y))
|
||||
# else
|
||||
# define BOOST_PP_DIV(x, y) BOOST_PP_DIV_I(x, y)
|
||||
# define BOOST_PP_DIV_I(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE(x, y))
|
||||
# endif
|
||||
#
|
||||
# /* BOOST_PP_DIV_D */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_DIV_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE_D(d, x, y))
|
||||
# else
|
||||
# define BOOST_PP_DIV_D(d, x, y) BOOST_PP_DIV_D_I(d, x, y)
|
||||
# define BOOST_PP_DIV_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE_D(d, x, y))
|
||||
# endif
|
||||
#
|
||||
# endif
|
||||
|
289
boost/boost/preprocessor/arithmetic/inc.hpp
Normal file
289
boost/boost/preprocessor/arithmetic/inc.hpp
Normal file
@ -0,0 +1,289 @@
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP
|
||||
# define BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP
|
||||
#
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
#
|
||||
# /* BOOST_PP_INC */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||
# define BOOST_PP_INC(x) BOOST_PP_INC_I(x)
|
||||
# else
|
||||
# define BOOST_PP_INC(x) BOOST_PP_INC_OO((x))
|
||||
# define BOOST_PP_INC_OO(par) BOOST_PP_INC_I ## par
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x
|
||||
#
|
||||
# define BOOST_PP_INC_0 1
|
||||
# define BOOST_PP_INC_1 2
|
||||
# define BOOST_PP_INC_2 3
|
||||
# define BOOST_PP_INC_3 4
|
||||
# define BOOST_PP_INC_4 5
|
||||
# define BOOST_PP_INC_5 6
|
||||
# define BOOST_PP_INC_6 7
|
||||
# define BOOST_PP_INC_7 8
|
||||
# define BOOST_PP_INC_8 9
|
||||
# define BOOST_PP_INC_9 10
|
||||
# define BOOST_PP_INC_10 11
|
||||
# define BOOST_PP_INC_11 12
|
||||
# define BOOST_PP_INC_12 13
|
||||
# define BOOST_PP_INC_13 14
|
||||
# define BOOST_PP_INC_14 15
|
||||
# define BOOST_PP_INC_15 16
|
||||
# define BOOST_PP_INC_16 17
|
||||
# define BOOST_PP_INC_17 18
|
||||
# define BOOST_PP_INC_18 19
|
||||
# define BOOST_PP_INC_19 20
|
||||
# define BOOST_PP_INC_20 21
|
||||
# define BOOST_PP_INC_21 22
|
||||
# define BOOST_PP_INC_22 23
|
||||
# define BOOST_PP_INC_23 24
|
||||
# define BOOST_PP_INC_24 25
|
||||
# define BOOST_PP_INC_25 26
|
||||
# define BOOST_PP_INC_26 27
|
||||
# define BOOST_PP_INC_27 28
|
||||
# define BOOST_PP_INC_28 29
|
||||
# define BOOST_PP_INC_29 30
|
||||
# define BOOST_PP_INC_30 31
|
||||
# define BOOST_PP_INC_31 32
|
||||
# define BOOST_PP_INC_32 33
|
||||
# define BOOST_PP_INC_33 34
|
||||
# define BOOST_PP_INC_34 35
|
||||
# define BOOST_PP_INC_35 36
|
||||
# define BOOST_PP_INC_36 37
|
||||
# define BOOST_PP_INC_37 38
|
||||
# define BOOST_PP_INC_38 39
|
||||
# define BOOST_PP_INC_39 40
|
||||
# define BOOST_PP_INC_40 41
|
||||
# define BOOST_PP_INC_41 42
|
||||
# define BOOST_PP_INC_42 43
|
||||
# define BOOST_PP_INC_43 44
|
||||
# define BOOST_PP_INC_44 45
|
||||
# define BOOST_PP_INC_45 46
|
||||
# define BOOST_PP_INC_46 47
|
||||
# define BOOST_PP_INC_47 48
|
||||
# define BOOST_PP_INC_48 49
|
||||
# define BOOST_PP_INC_49 50
|
||||
# define BOOST_PP_INC_50 51
|
||||
# define BOOST_PP_INC_51 52
|
||||
# define BOOST_PP_INC_52 53
|
||||
# define BOOST_PP_INC_53 54
|
||||
# define BOOST_PP_INC_54 55
|
||||
# define BOOST_PP_INC_55 56
|
||||
# define BOOST_PP_INC_56 57
|
||||
# define BOOST_PP_INC_57 58
|
||||
# define BOOST_PP_INC_58 59
|
||||
# define BOOST_PP_INC_59 60
|
||||
# define BOOST_PP_INC_60 61
|
||||
# define BOOST_PP_INC_61 62
|
||||
# define BOOST_PP_INC_62 63
|
||||
# define BOOST_PP_INC_63 64
|
||||
# define BOOST_PP_INC_64 65
|
||||
# define BOOST_PP_INC_65 66
|
||||
# define BOOST_PP_INC_66 67
|
||||
# define BOOST_PP_INC_67 68
|
||||
# define BOOST_PP_INC_68 69
|
||||
# define BOOST_PP_INC_69 70
|
||||
# define BOOST_PP_INC_70 71
|
||||
# define BOOST_PP_INC_71 72
|
||||
# define BOOST_PP_INC_72 73
|
||||
# define BOOST_PP_INC_73 74
|
||||
# define BOOST_PP_INC_74 75
|
||||
# define BOOST_PP_INC_75 76
|
||||
# define BOOST_PP_INC_76 77
|
||||
# define BOOST_PP_INC_77 78
|
||||
# define BOOST_PP_INC_78 79
|
||||
# define BOOST_PP_INC_79 80
|
||||
# define BOOST_PP_INC_80 81
|
||||
# define BOOST_PP_INC_81 82
|
||||
# define BOOST_PP_INC_82 83
|
||||
# define BOOST_PP_INC_83 84
|
||||
# define BOOST_PP_INC_84 85
|
||||
# define BOOST_PP_INC_85 86
|
||||
# define BOOST_PP_INC_86 87
|
||||
# define BOOST_PP_INC_87 88
|
||||
# define BOOST_PP_INC_88 89
|
||||
# define BOOST_PP_INC_89 90
|
||||
# define BOOST_PP_INC_90 91
|
||||
# define BOOST_PP_INC_91 92
|
||||
# define BOOST_PP_INC_92 93
|
||||
# define BOOST_PP_INC_93 94
|
||||
# define BOOST_PP_INC_94 95
|
||||
# define BOOST_PP_INC_95 96
|
||||
# define BOOST_PP_INC_96 97
|
||||
# define BOOST_PP_INC_97 98
|
||||
# define BOOST_PP_INC_98 99
|
||||
# define BOOST_PP_INC_99 100
|
||||
# define BOOST_PP_INC_100 101
|
||||
# define BOOST_PP_INC_101 102
|
||||
# define BOOST_PP_INC_102 103
|
||||
# define BOOST_PP_INC_103 104
|
||||
# define BOOST_PP_INC_104 105
|
||||
# define BOOST_PP_INC_105 106
|
||||
# define BOOST_PP_INC_106 107
|
||||
# define BOOST_PP_INC_107 108
|
||||
# define BOOST_PP_INC_108 109
|
||||
# define BOOST_PP_INC_109 110
|
||||
# define BOOST_PP_INC_110 111
|
||||
# define BOOST_PP_INC_111 112
|
||||
# define BOOST_PP_INC_112 113
|
||||
# define BOOST_PP_INC_113 114
|
||||
# define BOOST_PP_INC_114 115
|
||||
# define BOOST_PP_INC_115 116
|
||||
# define BOOST_PP_INC_116 117
|
||||
# define BOOST_PP_INC_117 118
|
||||
# define BOOST_PP_INC_118 119
|
||||
# define BOOST_PP_INC_119 120
|
||||
# define BOOST_PP_INC_120 121
|
||||
# define BOOST_PP_INC_121 122
|
||||
# define BOOST_PP_INC_122 123
|
||||
# define BOOST_PP_INC_123 124
|
||||
# define BOOST_PP_INC_124 125
|
||||
# define BOOST_PP_INC_125 126
|
||||
# define BOOST_PP_INC_126 127
|
||||
# define BOOST_PP_INC_127 128
|
||||
# define BOOST_PP_INC_128 129
|
||||
# define BOOST_PP_INC_129 130
|
||||
# define BOOST_PP_INC_130 131
|
||||
# define BOOST_PP_INC_131 132
|
||||
# define BOOST_PP_INC_132 133
|
||||
# define BOOST_PP_INC_133 134
|
||||
# define BOOST_PP_INC_134 135
|
||||
# define BOOST_PP_INC_135 136
|
||||
# define BOOST_PP_INC_136 137
|
||||
# define BOOST_PP_INC_137 138
|
||||
# define BOOST_PP_INC_138 139
|
||||
# define BOOST_PP_INC_139 140
|
||||
# define BOOST_PP_INC_140 141
|
||||
# define BOOST_PP_INC_141 142
|
||||
# define BOOST_PP_INC_142 143
|
||||
# define BOOST_PP_INC_143 144
|
||||
# define BOOST_PP_INC_144 145
|
||||
# define BOOST_PP_INC_145 146
|
||||
# define BOOST_PP_INC_146 147
|
||||
# define BOOST_PP_INC_147 148
|
||||
# define BOOST_PP_INC_148 149
|
||||
# define BOOST_PP_INC_149 150
|
||||
# define BOOST_PP_INC_150 151
|
||||
# define BOOST_PP_INC_151 152
|
||||
# define BOOST_PP_INC_152 153
|
||||
# define BOOST_PP_INC_153 154
|
||||
# define BOOST_PP_INC_154 155
|
||||
# define BOOST_PP_INC_155 156
|
||||
# define BOOST_PP_INC_156 157
|
||||
# define BOOST_PP_INC_157 158
|
||||
# define BOOST_PP_INC_158 159
|
||||
# define BOOST_PP_INC_159 160
|
||||
# define BOOST_PP_INC_160 161
|
||||
# define BOOST_PP_INC_161 162
|
||||
# define BOOST_PP_INC_162 163
|
||||
# define BOOST_PP_INC_163 164
|
||||
# define BOOST_PP_INC_164 165
|
||||
# define BOOST_PP_INC_165 166
|
||||
# define BOOST_PP_INC_166 167
|
||||
# define BOOST_PP_INC_167 168
|
||||
# define BOOST_PP_INC_168 169
|
||||
# define BOOST_PP_INC_169 170
|
||||
# define BOOST_PP_INC_170 171
|
||||
# define BOOST_PP_INC_171 172
|
||||
# define BOOST_PP_INC_172 173
|
||||
# define BOOST_PP_INC_173 174
|
||||
# define BOOST_PP_INC_174 175
|
||||
# define BOOST_PP_INC_175 176
|
||||
# define BOOST_PP_INC_176 177
|
||||
# define BOOST_PP_INC_177 178
|
||||
# define BOOST_PP_INC_178 179
|
||||
# define BOOST_PP_INC_179 180
|
||||
# define BOOST_PP_INC_180 181
|
||||
# define BOOST_PP_INC_181 182
|
||||
# define BOOST_PP_INC_182 183
|
||||
# define BOOST_PP_INC_183 184
|
||||
# define BOOST_PP_INC_184 185
|
||||
# define BOOST_PP_INC_185 186
|
||||
# define BOOST_PP_INC_186 187
|
||||
# define BOOST_PP_INC_187 188
|
||||
# define BOOST_PP_INC_188 189
|
||||
# define BOOST_PP_INC_189 190
|
||||
# define BOOST_PP_INC_190 191
|
||||
# define BOOST_PP_INC_191 192
|
||||
# define BOOST_PP_INC_192 193
|
||||
# define BOOST_PP_INC_193 194
|
||||
# define BOOST_PP_INC_194 195
|
||||
# define BOOST_PP_INC_195 196
|
||||
# define BOOST_PP_INC_196 197
|
||||
# define BOOST_PP_INC_197 198
|
||||
# define BOOST_PP_INC_198 199
|
||||
# define BOOST_PP_INC_199 200
|
||||
# define BOOST_PP_INC_200 201
|
||||
# define BOOST_PP_INC_201 202
|
||||
# define BOOST_PP_INC_202 203
|
||||
# define BOOST_PP_INC_203 204
|
||||
# define BOOST_PP_INC_204 205
|
||||
# define BOOST_PP_INC_205 206
|
||||
# define BOOST_PP_INC_206 207
|
||||
# define BOOST_PP_INC_207 208
|
||||
# define BOOST_PP_INC_208 209
|
||||
# define BOOST_PP_INC_209 210
|
||||
# define BOOST_PP_INC_210 211
|
||||
# define BOOST_PP_INC_211 212
|
||||
# define BOOST_PP_INC_212 213
|
||||
# define BOOST_PP_INC_213 214
|
||||
# define BOOST_PP_INC_214 215
|
||||
# define BOOST_PP_INC_215 216
|
||||
# define BOOST_PP_INC_216 217
|
||||
# define BOOST_PP_INC_217 218
|
||||
# define BOOST_PP_INC_218 219
|
||||
# define BOOST_PP_INC_219 220
|
||||
# define BOOST_PP_INC_220 221
|
||||
# define BOOST_PP_INC_221 222
|
||||
# define BOOST_PP_INC_222 223
|
||||
# define BOOST_PP_INC_223 224
|
||||
# define BOOST_PP_INC_224 225
|
||||
# define BOOST_PP_INC_225 226
|
||||
# define BOOST_PP_INC_226 227
|
||||
# define BOOST_PP_INC_227 228
|
||||
# define BOOST_PP_INC_228 229
|
||||
# define BOOST_PP_INC_229 230
|
||||
# define BOOST_PP_INC_230 231
|
||||
# define BOOST_PP_INC_231 232
|
||||
# define BOOST_PP_INC_232 233
|
||||
# define BOOST_PP_INC_233 234
|
||||
# define BOOST_PP_INC_234 235
|
||||
# define BOOST_PP_INC_235 236
|
||||
# define BOOST_PP_INC_236 237
|
||||
# define BOOST_PP_INC_237 238
|
||||
# define BOOST_PP_INC_238 239
|
||||
# define BOOST_PP_INC_239 240
|
||||
# define BOOST_PP_INC_240 241
|
||||
# define BOOST_PP_INC_241 242
|
||||
# define BOOST_PP_INC_242 243
|
||||
# define BOOST_PP_INC_243 244
|
||||
# define BOOST_PP_INC_244 245
|
||||
# define BOOST_PP_INC_245 246
|
||||
# define BOOST_PP_INC_246 247
|
||||
# define BOOST_PP_INC_247 248
|
||||
# define BOOST_PP_INC_248 249
|
||||
# define BOOST_PP_INC_249 250
|
||||
# define BOOST_PP_INC_250 251
|
||||
# define BOOST_PP_INC_251 252
|
||||
# define BOOST_PP_INC_252 253
|
||||
# define BOOST_PP_INC_253 254
|
||||
# define BOOST_PP_INC_254 255
|
||||
# define BOOST_PP_INC_255 256
|
||||
# define BOOST_PP_INC_256 256
|
||||
#
|
||||
# endif
|
@ -1,37 +1,40 @@
|
||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
|
||||
#define BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/comparison/less_equal.hpp>
|
||||
|
||||
/** <p>Expands to the remainder of <code>X</code> and <code>Y</code>.</p>
|
||||
|
||||
<p>Both <code>X</code> and <code>Y</code> must expand to integer literals
|
||||
in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_MOD(4,3)</code> expands to <code>1</code> (a
|
||||
single token).</p>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_MOD(X,Y) BOOST_PP_MOD_D(0,X,Y)
|
||||
|
||||
/** <p>Can be used inside BOOST_PP_WHILE() (see for an explanation of the D parameter).</p> */
|
||||
#define BOOST_PP_MOD_D(D,X,Y) BOOST_PP_TUPLE_ELEM(2,0,BOOST_PP_WHILE##D(BOOST_PP_MOD_C,BOOST_PP_MOD_F,(X,Y)))
|
||||
#define BOOST_PP_MOD_C(D,RY) BOOST_PP_LESS_EQUAL_D(D,BOOST_PP_TUPLE_ELEM(2,1,RY),BOOST_PP_TUPLE_ELEM(2,0,RY))
|
||||
#define BOOST_PP_MOD_F(D,RY) (BOOST_PP_SUB_D(D,BOOST_PP_TUPLE_ELEM(2,0,RY),BOOST_PP_TUPLE_ELEM(2,1,RY)),BOOST_PP_TUPLE_ELEM(2,1,RY))
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
|
||||
# define BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
|
||||
#
|
||||
# include <boost/preprocessor/arithmetic/detail/div_base.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
# include <boost/preprocessor/tuple/elem.hpp>
|
||||
#
|
||||
# /* BOOST_PP_MOD */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_MOD(x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE(x, y))
|
||||
# else
|
||||
# define BOOST_PP_MOD(x, y) BOOST_PP_MOD_I(x, y)
|
||||
# define BOOST_PP_MOD_I(x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE(x, y))
|
||||
# endif
|
||||
#
|
||||
# /* BOOST_PP_MOD_D */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_MOD_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE_D(d, x, y))
|
||||
# else
|
||||
# define BOOST_PP_MOD_D(d, x, y) BOOST_PP_MOD_D_I(d, x, y)
|
||||
# define BOOST_PP_MOD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE_D(d, x, y))
|
||||
# endif
|
||||
#
|
||||
# endif
|
||||
|
@ -1,38 +1,54 @@
|
||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP
|
||||
#define BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/arithmetic/add.hpp>
|
||||
|
||||
/** <p>Expands to the product of <code>X</code> and <code>Y</code>.</p>
|
||||
|
||||
<p>Both <code>X</code> and <code>Y</code> must expand to integer literals
|
||||
in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_MUL(4,3)</code> expands to <code>12</code> (a
|
||||
single token).</p>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_MUL(X,Y) BOOST_PP_MUL_D(0,X,Y)
|
||||
|
||||
/** <p>Can be used inside BOOST_PP_WHILE() (see for an explanation of the D parameter).</p> */
|
||||
#define BOOST_PP_MUL_D(D,X,Y) BOOST_PP_TUPLE_ELEM(3,0,BOOST_PP_WHILE##D(BOOST_PP_MUL_C,BOOST_PP_MUL_F,(0,X,Y)))
|
||||
|
||||
#define BOOST_PP_MUL_C(D,RXC) BOOST_PP_TUPLE_ELEM(3,2,RXC)
|
||||
#define BOOST_PP_MUL_F(D,RXC) (BOOST_PP_ADD_D(D,BOOST_PP_TUPLE_ELEM(3,0,RXC),BOOST_PP_TUPLE_ELEM(3,1,RXC)),BOOST_PP_TUPLE_ELEM(3,1,RXC),BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(3,2,RXC)))
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP
|
||||
# define BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP
|
||||
#
|
||||
# include <boost/preprocessor/arithmetic/add.hpp>
|
||||
# include <boost/preprocessor/arithmetic/dec.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
# include <boost/preprocessor/control/while.hpp>
|
||||
# include <boost/preprocessor/tuple/elem.hpp>
|
||||
# include <boost/preprocessor/tuple/rem.hpp>
|
||||
#
|
||||
# /* BOOST_PP_MUL */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_MUL(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y)))
|
||||
# else
|
||||
# define BOOST_PP_MUL(x, y) BOOST_PP_MUL_I(x, y)
|
||||
# define BOOST_PP_MUL_I(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y)))
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_MUL_P(d, rxy) BOOST_PP_TUPLE_ELEM(3, 2, rxy)
|
||||
#
|
||||
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
|
||||
# define BOOST_PP_MUL_O(d, rxy) BOOST_PP_MUL_O_IM(d, BOOST_PP_TUPLE_REM_3 rxy)
|
||||
# define BOOST_PP_MUL_O_IM(d, im) BOOST_PP_MUL_O_I(d, im)
|
||||
# else
|
||||
# define BOOST_PP_MUL_O(d, rxy) BOOST_PP_MUL_O_I(d, BOOST_PP_TUPLE_ELEM(3, 0, rxy), BOOST_PP_TUPLE_ELEM(3, 1, rxy), BOOST_PP_TUPLE_ELEM(3, 2, rxy))
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_MUL_O_I(d, r, x, y) (BOOST_PP_ADD_D(d, r, x), x, BOOST_PP_DEC(y))
|
||||
#
|
||||
# /* BOOST_PP_MUL_D */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_MUL_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y)))
|
||||
# else
|
||||
# define BOOST_PP_MUL_D(d, x, y) BOOST_PP_MUL_D_I(d, x, y)
|
||||
# define BOOST_PP_MUL_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y)))
|
||||
# endif
|
||||
#
|
||||
# endif
|
||||
|
@ -1,40 +1,51 @@
|
||||
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
|
||||
#define BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/dec.hpp>
|
||||
#include <boost/preprocessor/tuple/elem.hpp>
|
||||
#include <boost/preprocessor/while.hpp>
|
||||
|
||||
/** <p>Expands to the difference of <code>X</code> and <code>Y</code>.</p>
|
||||
|
||||
<p>Both <code>X</code> and <code>Y</code> must expand to integer literals
|
||||
in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_SUB(4,3)</code> expands to <code>1</code> (a
|
||||
single token).</p>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_SUB(X,Y) BOOST_PP_SUB_D(0,X,Y)
|
||||
|
||||
/** <p>Can be used inside BOOST_PP_WHILE() (see for an explanation of the D parameter).</p> */
|
||||
#define BOOST_PP_SUB_D(D,X,Y) BOOST_PP_TUPLE_ELEM(2,0,BOOST_PP_WHILE##D(BOOST_PP_SUB_C,BOOST_PP_SUB_F,(X,Y)))
|
||||
|
||||
#define BOOST_PP_SUB_C(D,RC) BOOST_PP_TUPLE_ELEM(2,1,RC)
|
||||
#define BOOST_PP_SUB_F(D,RC) (BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(2,0,RC)),BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(2,1,RC)))
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
|
||||
# define BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
|
||||
#
|
||||
# include <boost/preprocessor/arithmetic/dec.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
# include <boost/preprocessor/control/while.hpp>
|
||||
# include <boost/preprocessor/tuple/elem.hpp>
|
||||
#
|
||||
# /* BOOST_PP_SUB */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_SUB(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
|
||||
# else
|
||||
# define BOOST_PP_SUB(x, y) BOOST_PP_SUB_I(x, y)
|
||||
# define BOOST_PP_SUB_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_SUB_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy)
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||
# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I xy
|
||||
# else
|
||||
# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy))
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_SUB_O_I(x, y) (BOOST_PP_DEC(x), BOOST_PP_DEC(y))
|
||||
#
|
||||
# /* BOOST_PP_SUB_D */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
|
||||
# else
|
||||
# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_SUB_D_I(d, x, y)
|
||||
# define BOOST_PP_SUB_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y)))
|
||||
# endif
|
||||
#
|
||||
# endif
|
||||
|
@ -1,6 +1,3 @@
|
||||
# ifndef BOOST_PREPROCESSOR_ARRAY_HPP
|
||||
# define BOOST_PREPROCESSOR_ARRAY_HPP
|
||||
#
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
@ -11,33 +8,13 @@
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# include <boost/preprocessor/tuple/elem.hpp>
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# define BOOST_PP_ARRAY(size, data) (size, data)
|
||||
# ifndef BOOST_PREPROCESSOR_ARRAY_HPP
|
||||
# define BOOST_PREPROCESSOR_ARRAY_HPP
|
||||
#
|
||||
# if !defined(__MWERKS__) || defined(BOOST_NO_COMPILER_CONFIG) || __MWERKS__ > 0x3002
|
||||
# define BOOST_PP_ARRAY_SIZE(arr) BOOST_PP_ARRAY_SIZE_I arr
|
||||
# else
|
||||
# define BOOST_PP_ARRAY_SIZE(arr) BOOST_PP_ARRAY_SIZE_D(arr)
|
||||
# define BOOST_PP_ARRAY_SIZE_D(arr) BOOST_PP_ARRAY_SIZE_I ## arr
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_ARRAY_SIZE_I(size, data) size
|
||||
#
|
||||
# if !defined(__MWERKS__) || defined(BOOST_NO_COMPILER_CONFIG) || __MWERKS__ > 0x3002
|
||||
# define BOOST_PP_ARRAY_DATA(arr) BOOST_PP_ARRAY_DATA_I arr
|
||||
# else
|
||||
# define BOOST_PP_ARRAY_DATA(arr) BOOST_PP_ARRAY_DATA_D(arr)
|
||||
# define BOOST_PP_ARRAY_DATA_D(arr) BOOST_PP_ARRAY_DATA_I ## arr
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_ARRAY_DATA_I(size, data) data
|
||||
#
|
||||
# if !defined(__MWERKS__) || defined(BOOST_NO_COMPILER_CONFIG) || __MWERKS__ > 0x3002
|
||||
# define BOOST_PP_ARRAY_ELEM(i, arr) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE_I arr, i, BOOST_PP_ARRAY_DATA_I arr)
|
||||
# else
|
||||
# define BOOST_PP_ARRAY_ELEM(i, arr) BOOST_PP_ARRAY_ELEM_D(i, arr)
|
||||
# define BOOST_PP_ARRAY_ELEM_D(i, arr) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(arr), i, BOOST_PP_ARRAY_DATA(arr))
|
||||
# endif
|
||||
# include <boost/preprocessor/array/data.hpp>
|
||||
# include <boost/preprocessor/array/elem.hpp>
|
||||
# include <boost/preprocessor/array/size.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,27 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_ASSERT_MSG_HPP
|
||||
#define BOOST_PREPROCESSOR_ASSERT_MSG_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/expr_if.hpp>
|
||||
#include <boost/preprocessor/logical/not.hpp>
|
||||
|
||||
/** <p>Expands to nothing if <code>COND != 0</code> and to <code>MSG</code> if
|
||||
<code>COND == 0</code>.</p>
|
||||
|
||||
<p><code>COND</code> must expand to an integer literal in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_ASSERT_MSG(1,A BUG!)</code> expands to <code>A BUG!</code>.</p>
|
||||
*/
|
||||
#define BOOST_PP_ASSERT_MSG(COND,MSG) BOOST_PP_EXPR_IF(BOOST_PP_NOT(COND),MSG)
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ASSERT_MSG_HPP
|
||||
# define BOOST_PREPROCESSOR_ASSERT_MSG_HPP
|
||||
#
|
||||
# include <boost/preprocessor/debug/assert.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,35 +1,36 @@
|
||||
#ifndef BOOST_PREPROCESSOR_CAT_HPP
|
||||
#define BOOST_PREPROCESSOR_CAT_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
/** <p>Concatenates <code>X</code> and <code>Y</code> after they are macro
|
||||
expanded.</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_CAT(A,BOOST_PP_CAT(_,B))</code> expands to <code>A_B</code>.</p>
|
||||
|
||||
<h3>Example</h3>
|
||||
<ul>
|
||||
<li><a href="../../example/static_assert.c">static_assert.c</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/preprocessor_test.cpp">preprocessor_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_CAT(X,Y) BOOST_PP_CAT_DELAY(X,Y)
|
||||
|
||||
#define BOOST_PP_CAT_DELAY(X,Y) BOOST_PP_DO_CAT(X,Y)
|
||||
#define BOOST_PP_DO_CAT(X,Y) X##Y
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_CAT_HPP
|
||||
# define BOOST_PREPROCESSOR_CAT_HPP
|
||||
#
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
#
|
||||
# /* BOOST_PP_CAT */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||
# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
|
||||
# else
|
||||
# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_OO((a, b))
|
||||
# define BOOST_PP_CAT_OO(par) BOOST_PP_CAT_I ## par
|
||||
# endif
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
|
||||
# define BOOST_PP_CAT_I(a, b) a ## b
|
||||
# else
|
||||
# define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(a ## b)
|
||||
# define BOOST_PP_CAT_II(res) res
|
||||
# endif
|
||||
#
|
||||
# endif
|
||||
|
@ -1,35 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_COMMA_HPP
|
||||
#define BOOST_PREPROCESSOR_COMMA_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
/** <p>Expands to a comma.</p>
|
||||
|
||||
<p>Commas need special handling in preprocessor code, because commas are used
|
||||
for separating macro parameters.</p>
|
||||
|
||||
<p>For example,</p>
|
||||
|
||||
<pre>
|
||||
BOOST_PP_IF(1,BOOST_PP_COMMA,BOOST_PP_EMPTY)()
|
||||
</pre>
|
||||
|
||||
<p>expands to a comma.</p>
|
||||
|
||||
<h3>See</h3>
|
||||
<ul>
|
||||
<li>BOOST_PP_COMMA_IF()</li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_COMMA() ,
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_COMMA_HPP
|
||||
# define BOOST_PREPROCESSOR_COMMA_HPP
|
||||
#
|
||||
# include <boost/preprocessor/punctuation/comma.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,28 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
|
||||
#define BOOST_PREPROCESSOR_COMMA_IF_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/comma.hpp>
|
||||
#include <boost/preprocessor/empty.hpp>
|
||||
#include <boost/preprocessor/if.hpp>
|
||||
|
||||
/** <p>Expands to a comma if <code>COND != 0</code> and nothing if
|
||||
<code>COND == 0</code>.</p>
|
||||
|
||||
<p><code>COND</code> must expand to an integer literal in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_COMMA_IF(0)</code> expands to nothing.</p>
|
||||
*/
|
||||
#define BOOST_PP_COMMA_IF(COND) BOOST_PP_IF(COND,BOOST_PP_COMMA,BOOST_PP_EMPTY)()
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
|
||||
# define BOOST_PREPROCESSOR_COMMA_IF_HPP
|
||||
#
|
||||
# include <boost/preprocessor/punctuation/comma_if.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,21 +1,25 @@
|
||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_HPP
|
||||
#define BOOST_PREPROCESSOR_COMPARISON_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
/** <p>Includes all comparison headers.</p> */
|
||||
|
||||
#include <boost/preprocessor/comparison/equal.hpp>
|
||||
#include <boost/preprocessor/comparison/greater.hpp>
|
||||
#include <boost/preprocessor/comparison/greater_equal.hpp>
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_COMPARISON_HPP
|
||||
# define BOOST_PREPROCESSOR_COMPARISON_HPP
|
||||
#
|
||||
# include <boost/preprocessor/comparison/equal.hpp>
|
||||
# include <boost/preprocessor/comparison/greater.hpp>
|
||||
# include <boost/preprocessor/comparison/greater_equal.hpp>
|
||||
# include <boost/preprocessor/comparison/less.hpp>
|
||||
# include <boost/preprocessor/comparison/less_equal.hpp>
|
||||
# include <boost/preprocessor/comparison/not_equal.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,36 +1,35 @@
|
||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
|
||||
#define BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/comparison/not_equal.hpp>
|
||||
#include <boost/preprocessor/logical/not.hpp>
|
||||
|
||||
/** <p>Expands to <code>1</code> if <code>X == Y</code> and <code>0</code>
|
||||
otherwise.</p>
|
||||
|
||||
<p>Both <code>X</code> and <code>Y</code> must expand to integer literals
|
||||
in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_EQUAL(4,4)</code> expands to <code>1</code>.</p>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_EQUAL(X,Y) BOOST_PP_EQUAL_D(0,X,Y)
|
||||
|
||||
/** <p>Can be used inside BOOST_PP_WHILE() (see for an explanation of the D parameter).</p> */
|
||||
#define BOOST_PP_EQUAL_D(D,X,Y) BOOST_PP_NOT(BOOST_PP_NOT_EQUAL_D(D,X,Y))
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
|
||||
# define BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
|
||||
#
|
||||
# include <boost/preprocessor/comparison/not_equal.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
# include <boost/preprocessor/logical/compl.hpp>
|
||||
#
|
||||
# /* BOOST_PP_EQUAL */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_EQUAL(x, y) BOOST_PP_COMPL(BOOST_PP_NOT_EQUAL(x, y))
|
||||
# else
|
||||
# define BOOST_PP_EQUAL(x, y) BOOST_PP_EQUAL_I(x, y)
|
||||
# define BOOST_PP_EQUAL_I(x, y) BOOST_PP_COMPL(BOOST_PP_NOT_EQUAL(x, y))
|
||||
# endif
|
||||
#
|
||||
# /* BOOST_PP_EQUAL_D */
|
||||
#
|
||||
# define BOOST_PP_EQUAL_D(d, x, y) BOOST_PP_EQUAL(x, y)
|
||||
#
|
||||
# endif
|
||||
|
@ -1,35 +1,39 @@
|
||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP
|
||||
#define BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/comparison/less.hpp>
|
||||
|
||||
/** <p>Expands to <code>1</code> if <code>X > Y</code> and <code>0</code>
|
||||
otherwise.</p>
|
||||
|
||||
<p>Both <code>X</code> and <code>Y</code> must expand to integer literals
|
||||
in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_GREATER(4,3)</code> expands to <code>1</code>.</p>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_GREATER(X,Y) BOOST_PP_GREATER_D(0,X,Y)
|
||||
|
||||
/** <p>Can be used inside BOOST_PP_WHILE() (see for an explanation of the D parameter).</p> */
|
||||
#define BOOST_PP_GREATER_D(D,X,Y) BOOST_PP_LESS_D(D,Y,X)
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP
|
||||
# define BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP
|
||||
#
|
||||
# include <boost/preprocessor/comparison/less.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
#
|
||||
# /* BOOST_PP_GREATER */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_GREATER(x, y) BOOST_PP_LESS(y, x)
|
||||
# else
|
||||
# define BOOST_PP_GREATER(x, y) BOOST_PP_GREATER_I(x, y)
|
||||
# define BOOST_PP_GREATER_I(x, y) BOOST_PP_LESS(y, x)
|
||||
# endif
|
||||
#
|
||||
# /* BOOST_PP_GREATER_D */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_GREATER_D(d, x, y) BOOST_PP_LESS_D(d, y, x)
|
||||
# else
|
||||
# define BOOST_PP_GREATER_D(d, x, y) BOOST_PP_GREATER_D_I(d, x, y)
|
||||
# define BOOST_PP_GREATER_D_I(d, x, y) BOOST_PP_LESS_D(d, y, x)
|
||||
# endif
|
||||
#
|
||||
# endif
|
||||
|
@ -1,35 +1,39 @@
|
||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP
|
||||
#define BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/comparison/less_equal.hpp>
|
||||
|
||||
/** <p>Expands to <code>1</code> if <code>X >= Y</code> and <code>0</code>
|
||||
otherwise.</p>
|
||||
|
||||
<p>Both <code>X</code> and <code>Y</code> must expand to integer literals
|
||||
in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_GREATER_EQUAL(1,3)</code> expands to <code>0</code>.</p>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_GREATER_EQUAL(X,Y) BOOST_PP_GREATER_EQUAL_D(0,X,Y)
|
||||
|
||||
/** <p>Can be used inside BOOST_PP_WHILE() (see for an explanation of the D parameter).</p> */
|
||||
#define BOOST_PP_GREATER_EQUAL_D(D,X,Y) BOOST_PP_LESS_EQUAL_D(D,Y,X)
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP
|
||||
# define BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP
|
||||
#
|
||||
# include <boost/preprocessor/comparison/less_equal.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
#
|
||||
# /* BOOST_PP_GREATER_EQUAL */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_GREATER_EQUAL(x, y) BOOST_PP_LESS_EQUAL(y, x)
|
||||
# else
|
||||
# define BOOST_PP_GREATER_EQUAL(x, y) BOOST_PP_GREATER_EQUAL_I(x, y)
|
||||
# define BOOST_PP_GREATER_EQUAL_I(x, y) BOOST_PP_LESS_EQUAL(y, x)
|
||||
# endif
|
||||
#
|
||||
# /* BOOST_PP_GREATER_EQUAL_D */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_GREATER_EQUAL_D(d, x, y) BOOST_PP_LESS_EQUAL_D(d, y, x)
|
||||
# else
|
||||
# define BOOST_PP_GREATER_EQUAL_D(d, x, y) BOOST_PP_GREATER_EQUAL_D_I(d, x, y)
|
||||
# define BOOST_PP_GREATER_EQUAL_D_I(d, x, y) BOOST_PP_LESS_EQUAL_D(d, y, x)
|
||||
# endif
|
||||
#
|
||||
# endif
|
||||
|
@ -1,37 +1,47 @@
|
||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
|
||||
#define BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/comparison/less_equal.hpp>
|
||||
#include <boost/preprocessor/comparison/not_equal.hpp>
|
||||
#include <boost/preprocessor/logical/and.hpp>
|
||||
|
||||
/** <p>Expands to <code>1</code> if <code>X < Y</code> and <code>0</code>
|
||||
otherwise.</p>
|
||||
|
||||
<p>Both <code>X</code> and <code>Y</code> must expand to integer literals
|
||||
in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_LESS(2,6)</code> expands to <code>1</code>.</p>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_LESS(X,Y) BOOST_PP_LESS_D(0,X,Y)
|
||||
|
||||
/** <p>Can be used inside BOOST_PP_WHILE() (see for an explanation of the D parameter).</p> */
|
||||
#define BOOST_PP_LESS_D(D,X,Y) BOOST_PP_AND(BOOST_PP_NOT_EQUAL_D(D,X,Y),BOOST_PP_LESS_EQUAL_D(D,X,Y))
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
|
||||
# define BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
|
||||
#
|
||||
# include <boost/preprocessor/comparison/less_equal.hpp>
|
||||
# include <boost/preprocessor/comparison/not_equal.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
# include <boost/preprocessor/control/iif.hpp>
|
||||
# include <boost/preprocessor/logical/bitand.hpp>
|
||||
# include <boost/preprocessor/tuple/eat.hpp>
|
||||
#
|
||||
# /* BOOST_PP_LESS */
|
||||
#
|
||||
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||
# define BOOST_PP_LESS(x, y) BOOST_PP_BITAND(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL(x, y))
|
||||
# elif ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_LESS(x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL, 0 BOOST_PP_TUPLE_EAT_2)(x, y)
|
||||
# else
|
||||
# define BOOST_PP_LESS(x, y) BOOST_PP_LESS_I(x, y)
|
||||
# define BOOST_PP_LESS_I(x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL, 0 BOOST_PP_TUPLE_EAT_2)(x, y)
|
||||
# endif
|
||||
#
|
||||
# /* BOOST_PP_LESS_D */
|
||||
#
|
||||
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||
# define BOOST_PP_LESS_D(d, x, y) BOOST_PP_BITAND(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL_D(d, x, y))
|
||||
# elif ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_LESS_D(d, x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL_D, 0 BOOST_PP_TUPLE_EAT_3)(d, x, y)
|
||||
# else
|
||||
# define BOOST_PP_LESS_D(d, x, y) BOOST_PP_LESS_D_I(d, x, y)
|
||||
# define BOOST_PP_LESS_D_I(d, x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL_D, 0 BOOST_PP_TUPLE_EAT_3)(d, x, y)
|
||||
# endif
|
||||
#
|
||||
# endif
|
||||
|
@ -1,36 +1,40 @@
|
||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
|
||||
#define BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/arithmetic/sub.hpp>
|
||||
#include <boost/preprocessor/logical/not.hpp>
|
||||
|
||||
/** <p>Expands to <code>1</code> if <code>X <= Y</code> and <code>0</code>
|
||||
otherwise.</p>
|
||||
|
||||
<p>Both <code>X</code> and <code>Y</code> must expand to integer literals
|
||||
in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_LESS_EQUAL(7,5)</code> expands to <code>0</code>.</p>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_LESS_EQUAL(X,Y) BOOST_PP_LESS_EQUAL_D(0,X,Y)
|
||||
|
||||
/** <p>Can be used inside BOOST_PP_WHILE() (see for an explanation of the D parameter).</p> */
|
||||
#define BOOST_PP_LESS_EQUAL_D(D,X,Y) BOOST_PP_NOT(BOOST_PP_SUB_D(D,X,Y))
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
|
||||
# define BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
|
||||
#
|
||||
# include <boost/preprocessor/arithmetic/sub.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
# include <boost/preprocessor/logical/not.hpp>
|
||||
#
|
||||
# /* BOOST_PP_LESS_EQUAL */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_LESS_EQUAL(x, y) BOOST_PP_NOT(BOOST_PP_SUB(x, y))
|
||||
# else
|
||||
# define BOOST_PP_LESS_EQUAL(x, y) BOOST_PP_LESS_EQUAL_I(x, y)
|
||||
# define BOOST_PP_LESS_EQUAL_I(x, y) BOOST_PP_NOT(BOOST_PP_SUB(x, y))
|
||||
# endif
|
||||
#
|
||||
# /* BOOST_PP_LESS_EQUAL_D */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_LESS_EQUAL_D(d, x, y) BOOST_PP_NOT(BOOST_PP_SUB_D(d, x, y))
|
||||
# else
|
||||
# define BOOST_PP_LESS_EQUAL_D(d, x, y) BOOST_PP_LESS_EQUAL_D_I(d, x, y)
|
||||
# define BOOST_PP_LESS_EQUAL_D_I(d, x, y) BOOST_PP_NOT(BOOST_PP_SUB_D(d, x, y))
|
||||
# endif
|
||||
#
|
||||
# endif
|
||||
|
@ -1,37 +1,555 @@
|
||||
#ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
|
||||
#define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/arithmetic/add.hpp>
|
||||
#include <boost/preprocessor/arithmetic/sub.hpp>
|
||||
#include <boost/preprocessor/logical/bool.hpp>
|
||||
|
||||
/** <p>Expands to <code>1</code> if <code>X != Y</code> and <code>0</code>
|
||||
otherwise.</p>
|
||||
|
||||
<p>Both <code>X</code> and <code>Y</code> must expand to integer literals
|
||||
in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_NOT_EQUAL(4,4)</code> expands to <code>0</code>.</p>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/arithmetic_test.cpp">arithmetic_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_NOT_EQUAL(X,Y) BOOST_PP_NOT_EQUAL_D(0,X,Y)
|
||||
|
||||
/** <p>Can be used inside BOOST_PP_WHILE() (see for an explanation of the D parameter).</p> */
|
||||
#define BOOST_PP_NOT_EQUAL_D(D,X,Y) BOOST_PP_BOOL(BOOST_PP_ADD_D(D,BOOST_PP_SUB_D(D,X,Y),BOOST_PP_SUB_D(D,Y,X)))
|
||||
#endif
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
|
||||
# define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
|
||||
#
|
||||
# include <boost/preprocessor/cat.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
# include <boost/preprocessor/control/iif.hpp>
|
||||
#
|
||||
# /* BOOST_PP_NOT_EQUAL */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||
# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_I(x, y)
|
||||
# else
|
||||
# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_OO((x, y))
|
||||
# define BOOST_PP_NOT_EQUAL_OO(par) BOOST_PP_NOT_EQUAL_I ## par
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_NOT_EQUAL_I(x, y) BOOST_PP_CAT(BOOST_PP_NOT_EQUAL_CHECK_, BOOST_PP_NOT_EQUAL_ ## x(0, BOOST_PP_NOT_EQUAL_ ## y))
|
||||
#
|
||||
# /* BOOST_PP_NOT_EQUAL_D */
|
||||
#
|
||||
# define BOOST_PP_NOT_EQUAL_D(d, x, y) BOOST_PP_NOT_EQUAL(x, y)
|
||||
#
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NIL 1
|
||||
#
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_0(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_2(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_3(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_4(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_5(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_6(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_7(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_8(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_9(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_10(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_11(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_12(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_13(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_14(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_15(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_16(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_17(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_18(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_19(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_20(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_21(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_22(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_23(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_24(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_25(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_26(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_27(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_28(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_29(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_30(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_31(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_32(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_33(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_34(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_35(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_36(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_37(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_38(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_39(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_40(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_41(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_42(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_43(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_44(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_45(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_46(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_47(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_48(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_49(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_50(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_51(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_52(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_53(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_54(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_55(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_56(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_57(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_58(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_59(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_60(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_61(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_62(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_63(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_64(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_65(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_66(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_67(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_68(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_69(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_70(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_71(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_72(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_73(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_74(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_75(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_76(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_77(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_78(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_79(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_80(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_81(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_82(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_83(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_84(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_85(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_86(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_87(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_88(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_89(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_90(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_91(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_92(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_93(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_94(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_95(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_96(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_97(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_98(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_99(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_100(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_101(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_102(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_103(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_104(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_105(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_106(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_107(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_108(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_109(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_110(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_111(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_112(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_113(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_114(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_115(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_116(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_117(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_118(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_119(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_120(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_121(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_122(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_123(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_124(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_125(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_126(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_127(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_128(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_129(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_130(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_131(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_132(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_133(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_134(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_135(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_136(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_137(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_138(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_139(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_140(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_141(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_142(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_143(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_144(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_145(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_146(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_147(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_148(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_149(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_150(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_151(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_152(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_153(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_154(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_155(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_156(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_157(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_158(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_159(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_160(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_161(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_162(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_163(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_164(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_165(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_166(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_167(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_168(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_169(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_170(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_171(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_172(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_173(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_174(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_175(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_176(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_177(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_178(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_179(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_180(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_181(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_182(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_183(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_184(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_185(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_186(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_187(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_188(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_189(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_190(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_191(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_192(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_193(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_194(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_195(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_196(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_197(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_198(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_199(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_200(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_201(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_202(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_203(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_204(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_205(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_206(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_207(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_208(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_209(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_210(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_211(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_212(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_213(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_214(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_215(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_216(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_217(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_218(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_219(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_220(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_221(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_222(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_223(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_224(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_225(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_226(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_227(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_228(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_229(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_230(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_231(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_232(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_233(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_234(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_235(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_236(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_237(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_238(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_239(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_240(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_241(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_242(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_243(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_244(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_245(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_246(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_247(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_248(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_249(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_250(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_251(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_252(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_253(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_254(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_255(c, y) 0
|
||||
# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_256(c, y) 0
|
||||
#
|
||||
# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL))
|
||||
#
|
||||
# endif
|
||||
|
46
boost/boost/preprocessor/config/config.hpp
Normal file
46
boost/boost/preprocessor/config/config.hpp
Normal file
@ -0,0 +1,46 @@
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP
|
||||
# define BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP
|
||||
#
|
||||
# /* BOOST_PP_CONFIG_FLAGS */
|
||||
#
|
||||
# define BOOST_PP_CONFIG_STRICT() 0x0001
|
||||
# define BOOST_PP_CONFIG_IDEAL() 0x0002
|
||||
#
|
||||
# define BOOST_PP_CONFIG_MSVC() 0x0004
|
||||
# define BOOST_PP_CONFIG_MWCC() 0x0008
|
||||
# define BOOST_PP_CONFIG_BCC() 0x0010
|
||||
# define BOOST_PP_CONFIG_EDG() 0x0020
|
||||
#
|
||||
# ifndef BOOST_PP_CONFIG_FLAGS
|
||||
# if defined(__EDG__) || defined(__EDG_VERSION__)
|
||||
# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_EDG() | BOOST_PP_CONFIG_STRICT())
|
||||
# elif defined(__MWERKS__)
|
||||
# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MWCC())
|
||||
# elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__)
|
||||
# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC())
|
||||
# elif defined(_MSC_VER)
|
||||
# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
|
||||
# else
|
||||
# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT())
|
||||
# endif
|
||||
# endif
|
||||
#
|
||||
# /* BOOST_PP_CONFIG_EXTENDED_LINE_INFO */
|
||||
#
|
||||
# ifndef BOOST_PP_CONFIG_EXTENDED_LINE_INFO
|
||||
# define BOOST_PP_CONFIG_EXTENDED_LINE_INFO 0
|
||||
# endif
|
||||
#
|
||||
# endif
|
32
boost/boost/preprocessor/control/expr_iif.hpp
Normal file
32
boost/boost/preprocessor/control/expr_iif.hpp
Normal file
@ -0,0 +1,32 @@
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP
|
||||
# define BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP
|
||||
#
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
#
|
||||
# /* BOOST_PP_EXPR_IIF */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||
# define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_I(bit, expr)
|
||||
# else
|
||||
# define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_OO((bit, expr))
|
||||
# define BOOST_PP_EXPR_IIF_OO(par) BOOST_PP_EXPR_IIF_I ## par
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_EXPR_IIF_I(bit, expr) BOOST_PP_EXPR_IIF_ ## bit(expr)
|
||||
#
|
||||
# define BOOST_PP_EXPR_IIF_0(expr)
|
||||
# define BOOST_PP_EXPR_IIF_1(expr) expr
|
||||
#
|
||||
# endif
|
30
boost/boost/preprocessor/control/iif.hpp
Normal file
30
boost/boost/preprocessor/control/iif.hpp
Normal file
@ -0,0 +1,30 @@
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_CONTROL_IIF_HPP
|
||||
# define BOOST_PREPROCESSOR_CONTROL_IIF_HPP
|
||||
#
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||
# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_I(bit, t, f)
|
||||
# else
|
||||
# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_OO((bit, t, f))
|
||||
# define BOOST_PP_IIF_OO(par) BOOST_PP_IIF_I ## par
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_ ## bit(t, f)
|
||||
#
|
||||
# define BOOST_PP_IIF_0(t, f) f
|
||||
# define BOOST_PP_IIF_1(t, f) t
|
||||
#
|
||||
# endif
|
31
boost/boost/preprocessor/debug/error.hpp
Normal file
31
boost/boost/preprocessor/debug/error.hpp
Normal file
@ -0,0 +1,31 @@
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_DEBUG_ERROR_HPP
|
||||
# define BOOST_PREPROCESSOR_DEBUG_ERROR_HPP
|
||||
#
|
||||
# include <boost/preprocessor/cat.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
#
|
||||
# /* BOOST_PP_ERROR */
|
||||
#
|
||||
# if BOOST_PP_CONFIG_ERRORS
|
||||
# define BOOST_PP_ERROR(code) BOOST_PP_CAT(BOOST_PP_ERROR_, code)
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_ERROR_0x0000 BOOST_PP_ERROR(0x0000, BOOST_PP_INDEX_OUT_OF_BOUNDS)
|
||||
# define BOOST_PP_ERROR_0x0001 BOOST_PP_ERROR(0x0001, BOOST_PP_WHILE_OVERFLOW)
|
||||
# define BOOST_PP_ERROR_0x0002 BOOST_PP_ERROR(0x0002, BOOST_PP_FOR_OVERFLOW)
|
||||
# define BOOST_PP_ERROR_0x0003 BOOST_PP_ERROR(0x0003, BOOST_PP_REPEAT_OVERFLOW)
|
||||
# define BOOST_PP_ERROR_0x0004 BOOST_PP_ERROR(0x0004, BOOST_PP_FOLD_OVERFLOW)
|
||||
#
|
||||
# endif
|
@ -1,159 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_DEC_HPP
|
||||
#define BOOST_PREPROCESSOR_DEC_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/detail/cat.hpp>
|
||||
|
||||
/** <p>Decrements <code>X</code> expanding to a single token.</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_DEC(3)</code> expands to <code>2</code> (a
|
||||
single token).</p>
|
||||
|
||||
<p>BOOST_PP_DEC() uses saturation arithmetic. Decrementing 0 yeilds a 0.</p>
|
||||
|
||||
<p>Only decimal integer literals in the range [0,BOOST_PP_LIMIT_MAG] are
|
||||
supported.</p>
|
||||
*/
|
||||
#define BOOST_PP_DEC(X) BOOST_PP_DETAIL_CAT2(BOOST_PP_DEC,X)
|
||||
|
||||
#define BOOST_PP_DEC0 0
|
||||
#define BOOST_PP_DEC1 0
|
||||
#define BOOST_PP_DEC2 1
|
||||
#define BOOST_PP_DEC3 2
|
||||
#define BOOST_PP_DEC4 3
|
||||
#define BOOST_PP_DEC5 4
|
||||
#define BOOST_PP_DEC6 5
|
||||
#define BOOST_PP_DEC7 6
|
||||
#define BOOST_PP_DEC8 7
|
||||
#define BOOST_PP_DEC9 8
|
||||
#define BOOST_PP_DEC10 9
|
||||
#define BOOST_PP_DEC11 10
|
||||
#define BOOST_PP_DEC12 11
|
||||
#define BOOST_PP_DEC13 12
|
||||
#define BOOST_PP_DEC14 13
|
||||
#define BOOST_PP_DEC15 14
|
||||
#define BOOST_PP_DEC16 15
|
||||
#define BOOST_PP_DEC17 16
|
||||
#define BOOST_PP_DEC18 17
|
||||
#define BOOST_PP_DEC19 18
|
||||
#define BOOST_PP_DEC20 19
|
||||
#define BOOST_PP_DEC21 20
|
||||
#define BOOST_PP_DEC22 21
|
||||
#define BOOST_PP_DEC23 22
|
||||
#define BOOST_PP_DEC24 23
|
||||
#define BOOST_PP_DEC25 24
|
||||
#define BOOST_PP_DEC26 25
|
||||
#define BOOST_PP_DEC27 26
|
||||
#define BOOST_PP_DEC28 27
|
||||
#define BOOST_PP_DEC29 28
|
||||
#define BOOST_PP_DEC30 29
|
||||
#define BOOST_PP_DEC31 30
|
||||
#define BOOST_PP_DEC32 31
|
||||
#define BOOST_PP_DEC33 32
|
||||
#define BOOST_PP_DEC34 33
|
||||
#define BOOST_PP_DEC35 34
|
||||
#define BOOST_PP_DEC36 35
|
||||
#define BOOST_PP_DEC37 36
|
||||
#define BOOST_PP_DEC38 37
|
||||
#define BOOST_PP_DEC39 38
|
||||
#define BOOST_PP_DEC40 39
|
||||
#define BOOST_PP_DEC41 40
|
||||
#define BOOST_PP_DEC42 41
|
||||
#define BOOST_PP_DEC43 42
|
||||
#define BOOST_PP_DEC44 43
|
||||
#define BOOST_PP_DEC45 44
|
||||
#define BOOST_PP_DEC46 45
|
||||
#define BOOST_PP_DEC47 46
|
||||
#define BOOST_PP_DEC48 47
|
||||
#define BOOST_PP_DEC49 48
|
||||
#define BOOST_PP_DEC50 49
|
||||
#define BOOST_PP_DEC51 50
|
||||
#define BOOST_PP_DEC52 51
|
||||
#define BOOST_PP_DEC53 52
|
||||
#define BOOST_PP_DEC54 53
|
||||
#define BOOST_PP_DEC55 54
|
||||
#define BOOST_PP_DEC56 55
|
||||
#define BOOST_PP_DEC57 56
|
||||
#define BOOST_PP_DEC58 57
|
||||
#define BOOST_PP_DEC59 58
|
||||
#define BOOST_PP_DEC60 59
|
||||
#define BOOST_PP_DEC61 60
|
||||
#define BOOST_PP_DEC62 61
|
||||
#define BOOST_PP_DEC63 62
|
||||
#define BOOST_PP_DEC64 63
|
||||
#define BOOST_PP_DEC65 64
|
||||
#define BOOST_PP_DEC66 65
|
||||
#define BOOST_PP_DEC67 66
|
||||
#define BOOST_PP_DEC68 67
|
||||
#define BOOST_PP_DEC69 68
|
||||
#define BOOST_PP_DEC70 69
|
||||
#define BOOST_PP_DEC71 70
|
||||
#define BOOST_PP_DEC72 71
|
||||
#define BOOST_PP_DEC73 72
|
||||
#define BOOST_PP_DEC74 73
|
||||
#define BOOST_PP_DEC75 74
|
||||
#define BOOST_PP_DEC76 75
|
||||
#define BOOST_PP_DEC77 76
|
||||
#define BOOST_PP_DEC78 77
|
||||
#define BOOST_PP_DEC79 78
|
||||
#define BOOST_PP_DEC80 79
|
||||
#define BOOST_PP_DEC81 80
|
||||
#define BOOST_PP_DEC82 81
|
||||
#define BOOST_PP_DEC83 82
|
||||
#define BOOST_PP_DEC84 83
|
||||
#define BOOST_PP_DEC85 84
|
||||
#define BOOST_PP_DEC86 85
|
||||
#define BOOST_PP_DEC87 86
|
||||
#define BOOST_PP_DEC88 87
|
||||
#define BOOST_PP_DEC89 88
|
||||
#define BOOST_PP_DEC90 89
|
||||
#define BOOST_PP_DEC91 90
|
||||
#define BOOST_PP_DEC92 91
|
||||
#define BOOST_PP_DEC93 92
|
||||
#define BOOST_PP_DEC94 93
|
||||
#define BOOST_PP_DEC95 94
|
||||
#define BOOST_PP_DEC96 95
|
||||
#define BOOST_PP_DEC97 96
|
||||
#define BOOST_PP_DEC98 97
|
||||
#define BOOST_PP_DEC99 98
|
||||
#define BOOST_PP_DEC100 99
|
||||
#define BOOST_PP_DEC101 100
|
||||
#define BOOST_PP_DEC102 101
|
||||
#define BOOST_PP_DEC103 102
|
||||
#define BOOST_PP_DEC104 103
|
||||
#define BOOST_PP_DEC105 104
|
||||
#define BOOST_PP_DEC106 105
|
||||
#define BOOST_PP_DEC107 106
|
||||
#define BOOST_PP_DEC108 107
|
||||
#define BOOST_PP_DEC109 108
|
||||
#define BOOST_PP_DEC110 109
|
||||
#define BOOST_PP_DEC111 110
|
||||
#define BOOST_PP_DEC112 111
|
||||
#define BOOST_PP_DEC113 112
|
||||
#define BOOST_PP_DEC114 113
|
||||
#define BOOST_PP_DEC115 114
|
||||
#define BOOST_PP_DEC116 115
|
||||
#define BOOST_PP_DEC117 116
|
||||
#define BOOST_PP_DEC118 117
|
||||
#define BOOST_PP_DEC119 118
|
||||
#define BOOST_PP_DEC120 119
|
||||
#define BOOST_PP_DEC121 120
|
||||
#define BOOST_PP_DEC122 121
|
||||
#define BOOST_PP_DEC123 122
|
||||
#define BOOST_PP_DEC124 123
|
||||
#define BOOST_PP_DEC125 124
|
||||
#define BOOST_PP_DEC126 125
|
||||
#define BOOST_PP_DEC127 126
|
||||
#define BOOST_PP_DEC128 127
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_DEC_HPP
|
||||
# define BOOST_PREPROCESSOR_DEC_HPP
|
||||
#
|
||||
# include <boost/preprocessor/arithmetic/dec.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,53 +1,288 @@
|
||||
#ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
|
||||
#define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
|
||||
|
||||
/* Copyright (C) 2002 Vesa Karvonen
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* Based on an original idea by Paul Mensonides this header defines macros
|
||||
* for the definition of automatically recursive macros.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
/* Identity macro for auto rec support. */
|
||||
#define BOOST_PP_AUTO_REC_ID(X) X
|
||||
|
||||
/* Catenation macros for auto rec support. */
|
||||
#define BOOST_PP_AUTO_REC_CAT0(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT0(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_CAT1(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT1(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_CAT2(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT2(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_CAT3(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT3(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_CAT4(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT4(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_CAT5(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT5(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_CAT6(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT6(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_CAT7(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT7(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_CAT8(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT8(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_CAT9(X,Y) BOOST_PP_AUTO_REC_DELAY_CAT9(X,Y)
|
||||
|
||||
#define BOOST_PP_AUTO_REC_DELAY_CAT0(X,Y) BOOST_PP_AUTO_REC_DO_CAT0(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_DELAY_CAT1(X,Y) BOOST_PP_AUTO_REC_DO_CAT1(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_DELAY_CAT2(X,Y) BOOST_PP_AUTO_REC_DO_CAT2(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_DELAY_CAT3(X,Y) BOOST_PP_AUTO_REC_DO_CAT3(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_DELAY_CAT4(X,Y) BOOST_PP_AUTO_REC_DO_CAT4(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_DELAY_CAT5(X,Y) BOOST_PP_AUTO_REC_DO_CAT5(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_DELAY_CAT6(X,Y) BOOST_PP_AUTO_REC_DO_CAT6(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_DELAY_CAT7(X,Y) BOOST_PP_AUTO_REC_DO_CAT7(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_DELAY_CAT8(X,Y) BOOST_PP_AUTO_REC_DO_CAT8(X,Y)
|
||||
#define BOOST_PP_AUTO_REC_DELAY_CAT9(X,Y) BOOST_PP_AUTO_REC_DO_CAT9(X,Y)
|
||||
|
||||
#define BOOST_PP_AUTO_REC_DO_CAT0(X,Y) X##Y
|
||||
#define BOOST_PP_AUTO_REC_DO_CAT1(X,Y) X##Y
|
||||
#define BOOST_PP_AUTO_REC_DO_CAT2(X,Y) X##Y
|
||||
#define BOOST_PP_AUTO_REC_DO_CAT3(X,Y) X##Y
|
||||
#define BOOST_PP_AUTO_REC_DO_CAT4(X,Y) X##Y
|
||||
#define BOOST_PP_AUTO_REC_DO_CAT5(X,Y) X##Y
|
||||
#define BOOST_PP_AUTO_REC_DO_CAT6(X,Y) X##Y
|
||||
#define BOOST_PP_AUTO_REC_DO_CAT7(X,Y) X##Y
|
||||
#define BOOST_PP_AUTO_REC_DO_CAT8(X,Y) X##Y
|
||||
#define BOOST_PP_AUTO_REC_DO_CAT9(X,Y) X##Y
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
|
||||
# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
|
||||
#
|
||||
# //include <boost/preprocessor/config/config.hpp>
|
||||
# include <boost/preprocessor/control/iif.hpp>
|
||||
#
|
||||
# /* BOOST_PP_AUTO_REC */
|
||||
#
|
||||
# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred)
|
||||
#
|
||||
# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)
|
||||
# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)
|
||||
# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)
|
||||
# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p)
|
||||
# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p)
|
||||
# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p)
|
||||
# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p)
|
||||
# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p)
|
||||
#
|
||||
# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192)
|
||||
# define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96)
|
||||
# define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48)
|
||||
# define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24)
|
||||
# define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12)
|
||||
# define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6)
|
||||
# define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3)
|
||||
# define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2)
|
||||
# define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p(3), 3, 4)
|
||||
# define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7)
|
||||
# define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p(5), 5, 6)
|
||||
# define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p(7), 7, 8)
|
||||
# define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14)
|
||||
# define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11)
|
||||
# define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p(9), 9, 10)
|
||||
# define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p(11), 11, 12)
|
||||
# define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15)
|
||||
# define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p(13), 13, 14)
|
||||
# define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p(15), 15, 16)
|
||||
# define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28)
|
||||
# define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22)
|
||||
# define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19)
|
||||
# define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p(17), 17, 18)
|
||||
# define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p(19), 19, 20)
|
||||
# define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23)
|
||||
# define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p(21), 21, 22)
|
||||
# define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p(23), 23, 24)
|
||||
# define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30)
|
||||
# define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27)
|
||||
# define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p(25), 25, 26)
|
||||
# define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p(27), 27, 28)
|
||||
# define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31)
|
||||
# define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p(29), 29, 30)
|
||||
# define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p(31), 31, 32)
|
||||
# define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56)
|
||||
# define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44)
|
||||
# define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38)
|
||||
# define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35)
|
||||
# define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p(33), 33, 34)
|
||||
# define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p(35), 35, 36)
|
||||
# define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39)
|
||||
# define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p(37), 37, 38)
|
||||
# define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p(39), 39, 40)
|
||||
# define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46)
|
||||
# define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43)
|
||||
# define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p(41), 41, 42)
|
||||
# define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p(43), 43, 44)
|
||||
# define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47)
|
||||
# define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p(45), 45, 46)
|
||||
# define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p(47), 47, 48)
|
||||
# define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60)
|
||||
# define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54)
|
||||
# define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51)
|
||||
# define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p(49), 49, 50)
|
||||
# define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p(51), 51, 52)
|
||||
# define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55)
|
||||
# define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p(53), 53, 54)
|
||||
# define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p(55), 55, 56)
|
||||
# define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62)
|
||||
# define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59)
|
||||
# define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p(57), 57, 58)
|
||||
# define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p(59), 59, 60)
|
||||
# define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63)
|
||||
# define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p(61), 61, 62)
|
||||
# define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p(63), 63, 64)
|
||||
# define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112)
|
||||
# define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88)
|
||||
# define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76)
|
||||
# define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70)
|
||||
# define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67)
|
||||
# define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p(65), 65, 66)
|
||||
# define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p(67), 67, 68)
|
||||
# define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71)
|
||||
# define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p(69), 69, 70)
|
||||
# define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p(71), 71, 72)
|
||||
# define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78)
|
||||
# define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75)
|
||||
# define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p(73), 73, 74)
|
||||
# define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p(75), 75, 76)
|
||||
# define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79)
|
||||
# define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p(77), 77, 78)
|
||||
# define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p(79), 79, 80)
|
||||
# define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92)
|
||||
# define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86)
|
||||
# define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83)
|
||||
# define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p(81), 81, 82)
|
||||
# define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p(83), 83, 84)
|
||||
# define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87)
|
||||
# define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p(85), 85, 86)
|
||||
# define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p(87), 87, 88)
|
||||
# define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94)
|
||||
# define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91)
|
||||
# define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p(89), 89, 90)
|
||||
# define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p(91), 91, 92)
|
||||
# define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95)
|
||||
# define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p(93), 93, 94)
|
||||
# define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p(95), 95, 96)
|
||||
# define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120)
|
||||
# define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108)
|
||||
# define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102)
|
||||
# define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99)
|
||||
# define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p(97), 97, 98)
|
||||
# define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p(99), 99, 100)
|
||||
# define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103)
|
||||
# define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p(101), 101, 102)
|
||||
# define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p(103), 103, 104)
|
||||
# define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110)
|
||||
# define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107)
|
||||
# define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p(105), 105, 106)
|
||||
# define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p(107), 107, 108)
|
||||
# define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111)
|
||||
# define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p(109), 109, 110)
|
||||
# define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p(111), 111, 112)
|
||||
# define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124)
|
||||
# define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118)
|
||||
# define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115)
|
||||
# define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p(113), 113, 114)
|
||||
# define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p(115), 115, 116)
|
||||
# define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119)
|
||||
# define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p(117), 117, 118)
|
||||
# define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p(119), 119, 120)
|
||||
# define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126)
|
||||
# define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123)
|
||||
# define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p(121), 121, 122)
|
||||
# define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p(123), 123, 124)
|
||||
# define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127)
|
||||
# define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p(125), 125, 126)
|
||||
# define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p(127), 127, 128)
|
||||
# define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224)
|
||||
# define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176)
|
||||
# define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152)
|
||||
# define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140)
|
||||
# define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134)
|
||||
# define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131)
|
||||
# define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p(129), 129, 130)
|
||||
# define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p(131), 131, 132)
|
||||
# define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135)
|
||||
# define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p(133), 133, 134)
|
||||
# define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p(135), 135, 136)
|
||||
# define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142)
|
||||
# define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139)
|
||||
# define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p(137), 137, 138)
|
||||
# define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p(139), 139, 140)
|
||||
# define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143)
|
||||
# define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p(141), 141, 142)
|
||||
# define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p(143), 143, 144)
|
||||
# define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156)
|
||||
# define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150)
|
||||
# define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147)
|
||||
# define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p(145), 145, 146)
|
||||
# define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p(147), 147, 148)
|
||||
# define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151)
|
||||
# define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p(149), 149, 150)
|
||||
# define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p(151), 151, 152)
|
||||
# define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158)
|
||||
# define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155)
|
||||
# define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p(153), 153, 154)
|
||||
# define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p(155), 155, 156)
|
||||
# define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159)
|
||||
# define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p(157), 157, 158)
|
||||
# define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p(159), 159, 160)
|
||||
# define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184)
|
||||
# define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172)
|
||||
# define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166)
|
||||
# define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163)
|
||||
# define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p(161), 161, 162)
|
||||
# define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p(163), 163, 164)
|
||||
# define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167)
|
||||
# define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p(165), 165, 166)
|
||||
# define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p(167), 167, 168)
|
||||
# define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174)
|
||||
# define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171)
|
||||
# define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p(169), 169, 170)
|
||||
# define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p(171), 171, 172)
|
||||
# define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175)
|
||||
# define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p(173), 173, 174)
|
||||
# define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p(175), 175, 176)
|
||||
# define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188)
|
||||
# define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182)
|
||||
# define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179)
|
||||
# define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p(177), 177, 178)
|
||||
# define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p(179), 179, 180)
|
||||
# define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183)
|
||||
# define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p(181), 181, 182)
|
||||
# define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p(183), 183, 184)
|
||||
# define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190)
|
||||
# define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187)
|
||||
# define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p(185), 185, 186)
|
||||
# define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p(187), 187, 188)
|
||||
# define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191)
|
||||
# define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p(189), 189, 190)
|
||||
# define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p(191), 191, 192)
|
||||
# define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240)
|
||||
# define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216)
|
||||
# define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204)
|
||||
# define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198)
|
||||
# define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195)
|
||||
# define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p(193), 193, 194)
|
||||
# define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p(195), 195, 196)
|
||||
# define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199)
|
||||
# define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p(197), 197, 198)
|
||||
# define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p(199), 199, 200)
|
||||
# define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206)
|
||||
# define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203)
|
||||
# define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p(201), 201, 202)
|
||||
# define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p(203), 203, 204)
|
||||
# define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207)
|
||||
# define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p(205), 205, 206)
|
||||
# define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p(207), 207, 208)
|
||||
# define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220)
|
||||
# define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214)
|
||||
# define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211)
|
||||
# define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p(209), 209, 210)
|
||||
# define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p(211), 211, 212)
|
||||
# define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215)
|
||||
# define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p(213), 213, 214)
|
||||
# define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p(215), 215, 216)
|
||||
# define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222)
|
||||
# define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219)
|
||||
# define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p(217), 217, 218)
|
||||
# define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p(219), 219, 220)
|
||||
# define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223)
|
||||
# define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p(221), 221, 222)
|
||||
# define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p(223), 223, 224)
|
||||
# define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248)
|
||||
# define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236)
|
||||
# define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230)
|
||||
# define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227)
|
||||
# define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p(225), 225, 226)
|
||||
# define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p(227), 227, 228)
|
||||
# define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231)
|
||||
# define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p(229), 229, 230)
|
||||
# define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p(231), 231, 232)
|
||||
# define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238)
|
||||
# define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235)
|
||||
# define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p(233), 233, 234)
|
||||
# define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p(235), 235, 236)
|
||||
# define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239)
|
||||
# define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p(237), 237, 238)
|
||||
# define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p(239), 239, 240)
|
||||
# define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252)
|
||||
# define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246)
|
||||
# define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243)
|
||||
# define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p(241), 241, 242)
|
||||
# define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p(243), 243, 244)
|
||||
# define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247)
|
||||
# define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p(245), 245, 246)
|
||||
# define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p(247), 247, 248)
|
||||
# define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254)
|
||||
# define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251)
|
||||
# define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p(249), 249, 250)
|
||||
# define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p(251), 251, 252)
|
||||
# define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255)
|
||||
# define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p(253), 253, 254)
|
||||
# define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p(255), 255, 256)
|
||||
#
|
||||
# endif
|
||||
|
43
boost/boost/preprocessor/detail/check.hpp
Normal file
43
boost/boost/preprocessor/detail/check.hpp
Normal file
@ -0,0 +1,43 @@
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_DETAIL_CHECK_HPP
|
||||
# define BOOST_PREPROCESSOR_DETAIL_CHECK_HPP
|
||||
#
|
||||
# include <boost/preprocessor/cat.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
#
|
||||
# /* BOOST_PP_CHECK */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||
# define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_D(x, type)
|
||||
# else
|
||||
# define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_OO((x, type))
|
||||
# define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_D ## par
|
||||
# endif
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
|
||||
# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, type x))
|
||||
# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
|
||||
# define BOOST_PP_CHECK_2(res, _) res
|
||||
# else
|
||||
# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(type x)
|
||||
# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
|
||||
# define BOOST_PP_CHECK_2(chk) BOOST_PP_CHECK_3((BOOST_PP_CHECK_RESULT_ ## chk))
|
||||
# define BOOST_PP_CHECK_3(im) BOOST_PP_CHECK_5(BOOST_PP_CHECK_4 im)
|
||||
# define BOOST_PP_CHECK_4(res, _) res
|
||||
# define BOOST_PP_CHECK_5(res) res
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_CHECK_RESULT_1 1, BOOST_PP_NIL
|
||||
#
|
||||
# endif
|
31
boost/boost/preprocessor/detail/is_binary.hpp
Normal file
31
boost/boost/preprocessor/detail/is_binary.hpp
Normal file
@ -0,0 +1,31 @@
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP
|
||||
# define BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP
|
||||
#
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
# include <boost/preprocessor/detail/check.hpp>
|
||||
#
|
||||
# /* BOOST_PP_IS_BINARY */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||
# define BOOST_PP_IS_BINARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK)
|
||||
# else
|
||||
# define BOOST_PP_IS_BINARY(x) BOOST_PP_IS_BINARY_I(x)
|
||||
# define BOOST_PP_IS_BINARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK)
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_IS_BINARY_CHECK(a, b) 1
|
||||
# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_BINARY_CHECK 0, BOOST_PP_NIL
|
||||
#
|
||||
# endif
|
@ -1,37 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_EMPTY_HPP
|
||||
#define BOOST_PREPROCESSOR_EMPTY_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
/** <p>Expands to nothing.</p>
|
||||
|
||||
<p>For example,</p>
|
||||
|
||||
<pre>
|
||||
BOOST_PP_IF(0,BOOST_PP_COMMA,BOOST_PP_EMPTY)()
|
||||
</pre>
|
||||
|
||||
<p>expands to nothing.</p>
|
||||
|
||||
<h3>Example</h3>
|
||||
<ul>
|
||||
<li><a href="../../example/subscript_layer.cpp">subscript_layer.cpp</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/preprocessor_test.cpp">preprocessor_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_EMPTY()
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_EMPTY_HPP
|
||||
# define BOOST_PREPROCESSOR_EMPTY_HPP
|
||||
#
|
||||
# include <boost/preprocessor/facilities/empty.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,109 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_ENUM_HPP
|
||||
#define BOOST_PREPROCESSOR_ENUM_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/comma_if.hpp>
|
||||
#include <boost/preprocessor/repeat.hpp>
|
||||
#include <boost/preprocessor/tuple.hpp>
|
||||
|
||||
/** <p>Generates a comma separated list.</p>
|
||||
|
||||
<p>In other words, expands to the sequence:</p>
|
||||
|
||||
<pre>
|
||||
MACRO(0,DATA), MACRO(1,DATA), ..., MACRO(BOOST_PP_DEC(COUNT),DATA)
|
||||
</pre>
|
||||
|
||||
<p>For example,</p>
|
||||
|
||||
<pre>
|
||||
#define TYPED_PARAM(INDEX,DATA)\
|
||||
BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2,0,DATA),INDEX) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2,1,DATA),INDEX)
|
||||
BOOST_PP_ENUM(3,TYPED_PARAM,(X,x))
|
||||
</pre>
|
||||
|
||||
<p>expands to:</p>
|
||||
|
||||
<pre>
|
||||
X0 x0, X1 x1, X2 x2
|
||||
</pre>
|
||||
|
||||
<h3>2D and 3D repetition</h3>
|
||||
|
||||
<p>BOOST_PP_ENUM() implements automatic recursion. 2D and 3D repetition
|
||||
are directly supported.</p>
|
||||
|
||||
<h3>See</h3>
|
||||
<ul>
|
||||
<li>BOOST_PP_FOR()</li>
|
||||
<li>BOOST_PP_LIMIT_DIM</li>
|
||||
<li>BOOST_PP_LIMIT_MAG</li>
|
||||
</ul>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/repeat_test.cpp">repeat_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#if 0
|
||||
# define BOOST_PP_ENUM(COUNT,MACRO,DATA)
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(_MSC_VER)
|
||||
|
||||
/* This is a workaround for a MSVC++ PP bug. You'll need to add further
|
||||
* BOOST_PP_ENUM_AUTO_REC3/4/etc. wrapping as the maximum level of
|
||||
* nesting REPEATS increases
|
||||
*/
|
||||
# define BOOST_PP_ENUM\
|
||||
BOOST_PP_AUTO_REC_CAT1(BOOST_PP_ENUM_,BOOST_PP_ENUM_AUTO_REC2(\
|
||||
BOOST_PP_ENUM_AUTO_REC1,(BOOST_PP_AUTO_REC_ID,(1))\
|
||||
))
|
||||
|
||||
# define BOOST_PP_ENUM_BOOST_PP_ENUM_AUTO_REC1(M,P)\
|
||||
BOOST_PP_AUTO_REC_CAT2(BOOST_PP_ENUM_,BOOST_PP_ENUM_AUTO_REC2(BOOST_PP_AUTO_REC_ID,(2)))
|
||||
# define BOOST_PP_ENUM_BOOST_PP_ENUM_AUTO_REC2(M,P)\
|
||||
BOOST_PP_AUTO_REC_CAT3(BOOST_PP_ENUM_,BOOST_PP_ENUM_AUTO_REC3(BOOST_PP_AUTO_REC_ID,(3)))
|
||||
# define BOOST_PP_ENUM_BOOST_PP_ENUM_AUTO_REC3(M,P)\
|
||||
(TOO MANY NESTED REPEATS!)
|
||||
|
||||
# define BOOST_PP_ENUM_AUTO_REC1(M,P) BOOST_PP_EXPAND(M P)
|
||||
# define BOOST_PP_ENUM_AUTO_REC2(M,P) BOOST_PP_EXPAND(M P)
|
||||
# define BOOST_PP_ENUM_AUTO_REC3(M,P) BOOST_PP_EXPAND(M P)
|
||||
|
||||
# define BOOST_PP_ENUM_1(C,M,D) BOOST_PP_ENUM_AUTO_REC1(BOOST_PP_REPEAT,(C,BOOST_PP_ENUM_M1,(M,D)))
|
||||
# define BOOST_PP_ENUM_2(C,M,D) BOOST_PP_ENUM_AUTO_REC2(BOOST_PP_REPEAT,(C,BOOST_PP_ENUM_M2,(M,D)))
|
||||
# define BOOST_PP_ENUM_3(C,M,D) BOOST_PP_ENUM_AUTO_REC3(BOOST_PP_REPEAT,(C,BOOST_PP_ENUM_M3,(M,D)))
|
||||
|
||||
#else
|
||||
|
||||
# define BOOST_PP_ENUM\
|
||||
BOOST_PP_AUTO_REC_CAT1(BOOST_PP_ENUM,BOOST_PP_REPEAT_AUTO_REC1(BOOST_PP_AUTO_REC_ID,(1)))
|
||||
# define BOOST_PP_ENUMBOOST_PP_REPEAT_AUTO_REC1(M,P)\
|
||||
BOOST_PP_AUTO_REC_CAT2(BOOST_PP_ENUM,BOOST_PP_REPEAT_AUTO_REC2(BOOST_PP_AUTO_REC_ID,(2)))
|
||||
# define BOOST_PP_ENUMBOOST_PP_REPEAT_AUTO_REC2(M,P)\
|
||||
BOOST_PP_AUTO_REC_CAT3(BOOST_PP_ENUM,BOOST_PP_REPEAT_AUTO_REC3(BOOST_PP_AUTO_REC_ID,(3)))
|
||||
# define BOOST_PP_ENUMBOOST_PP_REPEAT_AUTO_REC3(M,P)\
|
||||
(TOO MANY NESTED REPEATS!)
|
||||
|
||||
# define BOOST_PP_ENUM1(C,M,D) BOOST_PP_REPEAT(C,BOOST_PP_ENUM_M1,(M,D))
|
||||
# define BOOST_PP_ENUM2(C,M,D) BOOST_PP_REPEAT(C,BOOST_PP_ENUM_M2,(M,D))
|
||||
# define BOOST_PP_ENUM3(C,M,D) BOOST_PP_REPEAT(C,BOOST_PP_ENUM_M3,(M,D))
|
||||
|
||||
#endif
|
||||
|
||||
#define BOOST_PP_ENUM_M1(I,MD) BOOST_PP_COMMA_IF(I) BOOST_PP_TUPLE_ELEM(2,0,MD)(I,BOOST_PP_TUPLE_ELEM(2,1,MD))
|
||||
#define BOOST_PP_ENUM_M2(I,MD) BOOST_PP_COMMA_IF(I) BOOST_PP_TUPLE_ELEM(2,0,MD)(I,BOOST_PP_TUPLE_ELEM(2,1,MD))
|
||||
#define BOOST_PP_ENUM_M3(I,MD) BOOST_PP_COMMA_IF(I) BOOST_PP_TUPLE_ELEM(2,0,MD)(I,BOOST_PP_TUPLE_ELEM(2,1,MD))
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ENUM_HPP
|
||||
# define BOOST_PREPROCESSOR_ENUM_HPP
|
||||
#
|
||||
# include <boost/preprocessor/repetition/enum.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,52 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
|
||||
#define BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/cat.hpp>
|
||||
#include <boost/preprocessor/enum.hpp>
|
||||
|
||||
/** <p>Generates a comma separated list of parameters.</p>
|
||||
|
||||
<p>In other words, expands to the sequence:</p>
|
||||
|
||||
<pre>
|
||||
BOOST_PP_CAT(PARAM,0), BOOST_PP_CAT(PARAM,1), ..., BOOST_PP_CAT(PARAM,BOOST_PP_DEC(COUNT))
|
||||
</pre>
|
||||
|
||||
<p>For example,</p>
|
||||
|
||||
<pre>
|
||||
BOOST_PP_ENUM_PARAMS(3,x)
|
||||
</pre>
|
||||
|
||||
<p>expands to:</p>
|
||||
|
||||
<pre>
|
||||
x0, x1, x2
|
||||
</pre>
|
||||
|
||||
<h3>Uses</h3>
|
||||
<ul>
|
||||
<li>BOOST_PP_REPEAT()</li>
|
||||
</ul>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/repeat_test.cpp">repeat_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_ENUM_PARAMS(COUNT,PARAM) BOOST_PP_ENUM(COUNT,BOOST_PP_ENUM_PARAMS_F,PARAM)
|
||||
|
||||
#define BOOST_PP_ENUM_PARAMS_F(I,P) BOOST_PP_CAT(P,I)
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
|
||||
# define BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
|
||||
#
|
||||
# include <boost/preprocessor/repetition/enum_params.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,55 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
|
||||
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/cat.hpp>
|
||||
#include <boost/preprocessor/enum.hpp>
|
||||
|
||||
/** <p>Generates a comma separated list of parameters with a default.</p>
|
||||
|
||||
<p>In other words, expands to the sequence:</p>
|
||||
|
||||
<pre>
|
||||
BOOST_PP_CAT(PARAM,0) = DEFAULT,
|
||||
BOOST_PP_CAT(PARAM,1) = DEFAULT,
|
||||
...,
|
||||
BOOST_PP_CAT(PARAM,BOOST_PP_DEC(COUNT)) = DEFAULT
|
||||
</pre>
|
||||
|
||||
<p>For example,</p>
|
||||
|
||||
<pre>
|
||||
BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(3,x,y)
|
||||
</pre>
|
||||
|
||||
<p>expands to:</p>
|
||||
|
||||
<pre>
|
||||
x0 = y, x1 = y, x2 = y
|
||||
</pre>
|
||||
|
||||
<h3>Uses</h3>
|
||||
<ul>
|
||||
<li>BOOST_PP_REPEAT()</li>
|
||||
</ul>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/repeat_test.cpp">repeat_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(COUNT,PARAM,DEFAULT) BOOST_PP_ENUM(COUNT,BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT_F,(PARAM,DEFAULT))
|
||||
|
||||
#define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT_F(I,PD) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2,0,PD),I)=BOOST_PP_TUPLE_ELEM(2,1,PD)
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
|
||||
# define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
|
||||
#
|
||||
# include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,55 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP
|
||||
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/cat.hpp>
|
||||
#include <boost/preprocessor/enum.hpp>
|
||||
|
||||
/** <p>Generates a comma separated list of parameters with defaults.</p>
|
||||
|
||||
<p>In other words, expands to the sequence:</p>
|
||||
|
||||
<pre>
|
||||
BOOST_PP_CAT(PARAM,0) = BOOST_PP_CAT(DEFAULT,0),
|
||||
BOOST_PP_CAT(PARAM,1) = BOOST_PP_CAT(DEFAULT,1),
|
||||
...,
|
||||
BOOST_PP_CAT(PARAM,BOOST_PP_DEC(COUNT)) = BOOST_PP_CAT(DEFAULT,BOOST_PP_DEC(COUNT))
|
||||
</pre>
|
||||
|
||||
<p>For example,</p>
|
||||
|
||||
<pre>
|
||||
BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(3,x,y)
|
||||
</pre>
|
||||
|
||||
<p>expands to:</p>
|
||||
|
||||
<pre>
|
||||
x0 = y0, x1 = y1, x2 = y2
|
||||
</pre>
|
||||
|
||||
<h3>Uses</h3>
|
||||
<ul>
|
||||
<li>BOOST_PP_REPEAT()</li>
|
||||
</ul>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/repeat_test.cpp">repeat_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(COUNT,PARAM,DEFAULT) BOOST_PP_ENUM(COUNT,BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS_F,(PARAM,DEFAULT))
|
||||
|
||||
#define BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS_F(I,PD) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2,0,PD),I)=BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2,1,PD),I)
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP
|
||||
# define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP
|
||||
#
|
||||
# include <boost/preprocessor/repetition/enum_params_with_defaults.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,50 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_HPP
|
||||
#define BOOST_PREPROCESSOR_ENUM_SHIFTED_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/enum.hpp>
|
||||
#include <boost/preprocessor/dec.hpp>
|
||||
#include <boost/preprocessor/inc.hpp>
|
||||
|
||||
/** <p>Generates a comma separated shifted list.</p>
|
||||
|
||||
<p>In other words, expands to the sequence:</p>
|
||||
|
||||
<pre>
|
||||
MACRO(1,DATA), MACRO(2,DATA), ..., MACRO(BOOST_PP_DEC(COUNT),DATA)
|
||||
</pre>
|
||||
|
||||
<p>For example,</p>
|
||||
|
||||
<pre>
|
||||
#define TYPED_PARAM(INDEX,DATA)\
|
||||
BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2,0,DATA),INDEX) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2,1,DATA),INDEX)
|
||||
BOOST_PP_ENUM_SHIFTED(3,TYPED_PARAM,(X,x))
|
||||
</pre>
|
||||
|
||||
<p>expands to:</p>
|
||||
|
||||
<pre>
|
||||
X1 x1, X2 x2
|
||||
</pre>
|
||||
|
||||
<h3>Uses</h3>
|
||||
<ul>
|
||||
<li>BOOST_PP_REPEAT()</li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_ENUM_SHIFTED(COUNT,MACRO,DATA) BOOST_PP_ENUM(BOOST_PP_DEC(COUNT),BOOST_PP_ENUM_SHIFTED_F,(MACRO,DATA))
|
||||
|
||||
#define BOOST_PP_ENUM_SHIFTED_F(I,MD) BOOST_PP_TUPLE_ELEM(2,0,MD)(BOOST_PP_INC(I),BOOST_PP_TUPLE_ELEM(2,1,MD))
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_HPP
|
||||
# define BOOST_PREPROCESSOR_ENUM_SHIFTED_HPP
|
||||
#
|
||||
# include <boost/preprocessor/repetition/enum_shifted.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,57 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
|
||||
#define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/cat.hpp>
|
||||
#include <boost/preprocessor/enum_shifted.hpp>
|
||||
|
||||
/** <p>Generates a comma separated list of shifted actual parameters.</p>
|
||||
|
||||
<p>In other words, expands to the sequence:</p>
|
||||
|
||||
<pre>
|
||||
BOOST_PP_CAT(PARAM,1), BOOST_PP_CAT(PARAM,2), ..., BOOST_PP_CAT(PARAM,BOOST_PP_DEC(COUNT))
|
||||
</pre>
|
||||
<p>For example,</p>
|
||||
|
||||
<pre>
|
||||
BOOST_PP_ENUM_SHIFTED_PARAMS(3,x)
|
||||
</pre>
|
||||
|
||||
<p>expands to:</p>
|
||||
|
||||
<pre>
|
||||
x1, x2
|
||||
</pre>
|
||||
|
||||
<h3>Uses</h3>
|
||||
<ul>
|
||||
<li>BOOST_PP_REPEAT()</li>
|
||||
</ul>
|
||||
|
||||
<h3>Rationale</h3>
|
||||
<ul>
|
||||
<li>This macro facilitates a typical usage of the library. Shifted parameter
|
||||
lists are common in template metaprograms.</li>
|
||||
</ul>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/repeat_2nd_test.cpp">repeat_2nd_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_ENUM_SHIFTED_PARAMS(COUNT,PARAM) BOOST_PP_ENUM_SHIFTED(COUNT,BOOST_PP_ENUM_SHIFTED_PARAMS_F,PARAM)
|
||||
|
||||
#define BOOST_PP_ENUM_SHIFTED_PARAMS_F(I,P) BOOST_PP_CAT(P,I)
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
|
||||
# define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
|
||||
#
|
||||
# include <boost/preprocessor/repetition/enum_shifted_params.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,20 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_EXPAND_HPP
|
||||
#define BOOST_PREPROCESSOR_EXPAND_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/identity.hpp>
|
||||
|
||||
/** <p>Essentially macro expands the parameter <code>X</code> twice.</p> */
|
||||
#define BOOST_PP_EXPAND(X) X
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_EXPAND_HPP
|
||||
# define BOOST_PREPROCESSOR_EXPAND_HPP
|
||||
#
|
||||
# include <boost/preprocessor/facilities/expand.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,36 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_EXPR_IF_HPP
|
||||
#define BOOST_PREPROCESSOR_EXPR_IF_HPP
|
||||
|
||||
/* Copyright (C) 2002
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/logical/bool.hpp>
|
||||
|
||||
/** <p>Expands to <code>EXPR</code> if <code>COND != 0</code> and to nothing if <code>COND == 0</code>.</p>
|
||||
|
||||
<p><code>COND</code> must expand to an integer literal in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_EXPR_IF(1,^)</code> expands to <code>^</code>.</p>
|
||||
|
||||
<h3>See</h3>
|
||||
<ul>
|
||||
<li>BOOST_PP_IF()</li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_EXPR_IF(COND,EXPR) BOOST_PP_EXPR_IF_BOOL(BOOST_PP_BOOL(COND),EXPR) /* original: BOOST_PP_DETAIL_CAT2(BOOST_PP_EXPR_IF,BOOST_PP_BOOL(COND))(EXPR) */
|
||||
|
||||
#define BOOST_PP_EXPR_IF_BOOL(COND,EXPR) BOOST_PP_EXPR_IF_BOOL_DELAY(COND,EXPR)
|
||||
#define BOOST_PP_EXPR_IF_BOOL_DELAY(COND,EXPR) BOOST_PP_EXPR_IF##COND(EXPR)
|
||||
|
||||
#define BOOST_PP_EXPR_IF0(E)
|
||||
#define BOOST_PP_EXPR_IF1(E) E
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_EXPR_IF_HPP
|
||||
# define BOOST_PREPROCESSOR_EXPR_IF_HPP
|
||||
#
|
||||
# include <boost/preprocessor/control/expr_if.hpp>
|
||||
#
|
||||
# endif
|
||||
|
22
boost/boost/preprocessor/facilities/empty.hpp
Normal file
22
boost/boost/preprocessor/facilities/empty.hpp
Normal file
@ -0,0 +1,22 @@
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
|
||||
# define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
|
||||
#
|
||||
# /* BOOST_PP_EMPTY */
|
||||
#
|
||||
# define BOOST_PP_EMPTY()
|
||||
#
|
||||
# endif
|
24
boost/boost/preprocessor/facilities/identity.hpp
Normal file
24
boost/boost/preprocessor/facilities/identity.hpp
Normal file
@ -0,0 +1,24 @@
|
||||
# /* Copyright (C) 2001
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * Permission to copy, use, modify, sell and distribute this software is
|
||||
# * granted provided this copyright notice appears in all copies. This
|
||||
# * software is provided "as is" without express or implied warranty, and
|
||||
# * with no claim as to its suitability for any purpose.
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP
|
||||
# define BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP
|
||||
#
|
||||
# include <boost/preprocessor/facilities/empty.hpp>
|
||||
#
|
||||
# /* BOOST_PP_IDENTITY */
|
||||
#
|
||||
# define BOOST_PP_IDENTITY(item) item BOOST_PP_EMPTY
|
||||
#
|
||||
# endif
|
@ -1,225 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_FOR_HPP
|
||||
#define BOOST_PREPROCESSOR_FOR_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/if.hpp>
|
||||
#include <boost/preprocessor/tuple/eat.hpp>
|
||||
|
||||
/** <p>Repeats <code>MACRO(R,STATE)</code> and iterates <code>OP(R,STATE)</code> while
|
||||
<code>PRED(R,STATE)</code> is true.</p>
|
||||
|
||||
<p>In other words, expands to the sequence:</p>
|
||||
|
||||
<pre>
|
||||
MACRO(R,STATE)
|
||||
MACRO(R,OP(R,STATE))
|
||||
MACRO(R,OP(R,OP(R,STATE)))
|
||||
...
|
||||
MACRO(R,OP(R,OP(...OP(R,STATE)...)))
|
||||
</pre>
|
||||
|
||||
<p>The length of the sequence is determined by <code>PRED(R,STATE)</code>.</p>
|
||||
|
||||
<p>For example,</p>
|
||||
|
||||
<pre>
|
||||
#define PRED(R,STATE) BOOST_PP_LESS(BOOST_PP_TUPLE_ELEM(2,0,STATE),BOOST_PP_TUPLE_ELEM(2,1,STATE))
|
||||
#define OP(R,STATE) (BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(2,0,STATE)),BOOST_PP_TUPLE_ELEM(2,1,STATE))
|
||||
#define MACRO(R,STATE) BOOST_PP_TUPLE_ELEM(2,0,STATE)
|
||||
BOOST_PP_FOR((0,3),PRED,OP,MACRO)
|
||||
</pre>
|
||||
|
||||
<p>expands to:</p>
|
||||
|
||||
<pre>
|
||||
0 1 2
|
||||
</pre>
|
||||
|
||||
<h3>Legend</h3>
|
||||
<ul>
|
||||
<li><b>STATE</b> is the current state of iteration. The state is usually a tuple.</li>
|
||||
<li><b>PRED</b> is the condition for iteration. It must expand to a decimal
|
||||
integer literal.</li>
|
||||
<li><b>OP</b> is the iterated macro. Note that if the state is a tuple, then
|
||||
OP(R,STATE) usually expands to a tuple of the same number of elements.</li>
|
||||
<li><b>MACRO</b> is the state instantiation macro.</li>
|
||||
<li><b>R</b> is the recursion depth and should only be used as a parameter to
|
||||
other macros using BOOST_PP_FOR() or for invoking BOOST_PP_FOR##R()
|
||||
directly. For each macro using BOOST_PP_FOR(), e.g. BOOST_PP_LIST_FOR_EACH(),
|
||||
there is a version of the macro, e.g. BOOST_PP_LIST_FOR_EACH_R(), distinguished
|
||||
by the R suffix, that accepts an additional recursion depth as the first
|
||||
parameter. This technique is necessary to avoid recursively expanding the same
|
||||
macro again, which is not permitted by the C++ preprocessor.</li>
|
||||
</ul>
|
||||
|
||||
<h3>BOOST_PP_REPEAT() vs BOOST_PP_FOR()</h3>
|
||||
|
||||
<p>BOOST_PP_FOR() is a generalization of BOOST_PP_REPEAT(). This means that
|
||||
BOOST_PP_REPEAT() can be implemented using BOOST_PP_FOR(). However,
|
||||
BOOST_PP_REPEAT() was introduced earlier, is generally easier to use, and is
|
||||
still quite useful on its own.</p>
|
||||
|
||||
<h3>2D and 3D repetition</h3>
|
||||
|
||||
<p>BOOST_PP_FOR() can be used for multidimensional repetition simply by
|
||||
invoking BOOST_PP_FOR##R() directly.</p>
|
||||
|
||||
<h3>Automatic recursion?</h3>
|
||||
|
||||
<p>BOOST_PP_FOR() currently does not implement automatic recursion. The reason
|
||||
for this is that it would lead to very poor performance. The automatic recursion
|
||||
technique takes O(N) steps just to find out that the Nth recursion should be used.
|
||||
This would dramatically effect the time complexity of macros using automatic
|
||||
recursion.</p>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/for_test.cpp">for_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_FOR(STATE,PRED,OP,MACRO) BOOST_PP_FOR0(STATE,PRED,OP,MACRO)
|
||||
|
||||
#define BOOST_PP_FOR_C0(P,R,S,M) BOOST_PP_IF(P(R,S),M,BOOST_PP_TUPLE2_EAT)
|
||||
#define BOOST_PP_FOR_C1(P,R,S) BOOST_PP_IF(P(R,S),BOOST_PP_FOR##R,BOOST_PP_TUPLE4_EAT)
|
||||
#define BOOST_PP_FOR0(S,P,O,M) BOOST_PP_FOR_C0(P,1,S,M)(1,S) BOOST_PP_FOR_C1(P,1,S)(O(1,S),P,O,M)
|
||||
#define BOOST_PP_FOR1(S,P,O,M) BOOST_PP_FOR_C0(P,2,S,M)(2,S) BOOST_PP_FOR_C1(P,2,S)(O(2,S),P,O,M)
|
||||
#define BOOST_PP_FOR2(S,P,O,M) BOOST_PP_FOR_C0(P,3,S,M)(3,S) BOOST_PP_FOR_C1(P,3,S)(O(3,S),P,O,M)
|
||||
#define BOOST_PP_FOR3(S,P,O,M) BOOST_PP_FOR_C0(P,4,S,M)(4,S) BOOST_PP_FOR_C1(P,4,S)(O(4,S),P,O,M)
|
||||
#define BOOST_PP_FOR4(S,P,O,M) BOOST_PP_FOR_C0(P,5,S,M)(5,S) BOOST_PP_FOR_C1(P,5,S)(O(5,S),P,O,M)
|
||||
#define BOOST_PP_FOR5(S,P,O,M) BOOST_PP_FOR_C0(P,6,S,M)(6,S) BOOST_PP_FOR_C1(P,6,S)(O(6,S),P,O,M)
|
||||
#define BOOST_PP_FOR6(S,P,O,M) BOOST_PP_FOR_C0(P,7,S,M)(7,S) BOOST_PP_FOR_C1(P,7,S)(O(7,S),P,O,M)
|
||||
#define BOOST_PP_FOR7(S,P,O,M) BOOST_PP_FOR_C0(P,8,S,M)(8,S) BOOST_PP_FOR_C1(P,8,S)(O(8,S),P,O,M)
|
||||
#define BOOST_PP_FOR8(S,P,O,M) BOOST_PP_FOR_C0(P,9,S,M)(9,S) BOOST_PP_FOR_C1(P,9,S)(O(9,S),P,O,M)
|
||||
#define BOOST_PP_FOR9(S,P,O,M) BOOST_PP_FOR_C0(P,10,S,M)(10,S) BOOST_PP_FOR_C1(P,10,S)(O(10,S),P,O,M)
|
||||
#define BOOST_PP_FOR10(S,P,O,M) BOOST_PP_FOR_C0(P,11,S,M)(11,S) BOOST_PP_FOR_C1(P,11,S)(O(11,S),P,O,M)
|
||||
#define BOOST_PP_FOR11(S,P,O,M) BOOST_PP_FOR_C0(P,12,S,M)(12,S) BOOST_PP_FOR_C1(P,12,S)(O(12,S),P,O,M)
|
||||
#define BOOST_PP_FOR12(S,P,O,M) BOOST_PP_FOR_C0(P,13,S,M)(13,S) BOOST_PP_FOR_C1(P,13,S)(O(13,S),P,O,M)
|
||||
#define BOOST_PP_FOR13(S,P,O,M) BOOST_PP_FOR_C0(P,14,S,M)(14,S) BOOST_PP_FOR_C1(P,14,S)(O(14,S),P,O,M)
|
||||
#define BOOST_PP_FOR14(S,P,O,M) BOOST_PP_FOR_C0(P,15,S,M)(15,S) BOOST_PP_FOR_C1(P,15,S)(O(15,S),P,O,M)
|
||||
#define BOOST_PP_FOR15(S,P,O,M) BOOST_PP_FOR_C0(P,16,S,M)(16,S) BOOST_PP_FOR_C1(P,16,S)(O(16,S),P,O,M)
|
||||
#define BOOST_PP_FOR16(S,P,O,M) BOOST_PP_FOR_C0(P,17,S,M)(17,S) BOOST_PP_FOR_C1(P,17,S)(O(17,S),P,O,M)
|
||||
#define BOOST_PP_FOR17(S,P,O,M) BOOST_PP_FOR_C0(P,18,S,M)(18,S) BOOST_PP_FOR_C1(P,18,S)(O(18,S),P,O,M)
|
||||
#define BOOST_PP_FOR18(S,P,O,M) BOOST_PP_FOR_C0(P,19,S,M)(19,S) BOOST_PP_FOR_C1(P,19,S)(O(19,S),P,O,M)
|
||||
#define BOOST_PP_FOR19(S,P,O,M) BOOST_PP_FOR_C0(P,20,S,M)(20,S) BOOST_PP_FOR_C1(P,20,S)(O(20,S),P,O,M)
|
||||
#define BOOST_PP_FOR20(S,P,O,M) BOOST_PP_FOR_C0(P,21,S,M)(21,S) BOOST_PP_FOR_C1(P,21,S)(O(21,S),P,O,M)
|
||||
#define BOOST_PP_FOR21(S,P,O,M) BOOST_PP_FOR_C0(P,22,S,M)(22,S) BOOST_PP_FOR_C1(P,22,S)(O(22,S),P,O,M)
|
||||
#define BOOST_PP_FOR22(S,P,O,M) BOOST_PP_FOR_C0(P,23,S,M)(23,S) BOOST_PP_FOR_C1(P,23,S)(O(23,S),P,O,M)
|
||||
#define BOOST_PP_FOR23(S,P,O,M) BOOST_PP_FOR_C0(P,24,S,M)(24,S) BOOST_PP_FOR_C1(P,24,S)(O(24,S),P,O,M)
|
||||
#define BOOST_PP_FOR24(S,P,O,M) BOOST_PP_FOR_C0(P,25,S,M)(25,S) BOOST_PP_FOR_C1(P,25,S)(O(25,S),P,O,M)
|
||||
#define BOOST_PP_FOR25(S,P,O,M) BOOST_PP_FOR_C0(P,26,S,M)(26,S) BOOST_PP_FOR_C1(P,26,S)(O(26,S),P,O,M)
|
||||
#define BOOST_PP_FOR26(S,P,O,M) BOOST_PP_FOR_C0(P,27,S,M)(27,S) BOOST_PP_FOR_C1(P,27,S)(O(27,S),P,O,M)
|
||||
#define BOOST_PP_FOR27(S,P,O,M) BOOST_PP_FOR_C0(P,28,S,M)(28,S) BOOST_PP_FOR_C1(P,28,S)(O(28,S),P,O,M)
|
||||
#define BOOST_PP_FOR28(S,P,O,M) BOOST_PP_FOR_C0(P,29,S,M)(29,S) BOOST_PP_FOR_C1(P,29,S)(O(29,S),P,O,M)
|
||||
#define BOOST_PP_FOR29(S,P,O,M) BOOST_PP_FOR_C0(P,30,S,M)(30,S) BOOST_PP_FOR_C1(P,30,S)(O(30,S),P,O,M)
|
||||
#define BOOST_PP_FOR30(S,P,O,M) BOOST_PP_FOR_C0(P,31,S,M)(31,S) BOOST_PP_FOR_C1(P,31,S)(O(31,S),P,O,M)
|
||||
#define BOOST_PP_FOR31(S,P,O,M) BOOST_PP_FOR_C0(P,32,S,M)(32,S) BOOST_PP_FOR_C1(P,32,S)(O(32,S),P,O,M)
|
||||
#define BOOST_PP_FOR32(S,P,O,M) BOOST_PP_FOR_C0(P,33,S,M)(33,S) BOOST_PP_FOR_C1(P,33,S)(O(33,S),P,O,M)
|
||||
#define BOOST_PP_FOR33(S,P,O,M) BOOST_PP_FOR_C0(P,34,S,M)(34,S) BOOST_PP_FOR_C1(P,34,S)(O(34,S),P,O,M)
|
||||
#define BOOST_PP_FOR34(S,P,O,M) BOOST_PP_FOR_C0(P,35,S,M)(35,S) BOOST_PP_FOR_C1(P,35,S)(O(35,S),P,O,M)
|
||||
#define BOOST_PP_FOR35(S,P,O,M) BOOST_PP_FOR_C0(P,36,S,M)(36,S) BOOST_PP_FOR_C1(P,36,S)(O(36,S),P,O,M)
|
||||
#define BOOST_PP_FOR36(S,P,O,M) BOOST_PP_FOR_C0(P,37,S,M)(37,S) BOOST_PP_FOR_C1(P,37,S)(O(37,S),P,O,M)
|
||||
#define BOOST_PP_FOR37(S,P,O,M) BOOST_PP_FOR_C0(P,38,S,M)(38,S) BOOST_PP_FOR_C1(P,38,S)(O(38,S),P,O,M)
|
||||
#define BOOST_PP_FOR38(S,P,O,M) BOOST_PP_FOR_C0(P,39,S,M)(39,S) BOOST_PP_FOR_C1(P,39,S)(O(39,S),P,O,M)
|
||||
#define BOOST_PP_FOR39(S,P,O,M) BOOST_PP_FOR_C0(P,40,S,M)(40,S) BOOST_PP_FOR_C1(P,40,S)(O(40,S),P,O,M)
|
||||
#define BOOST_PP_FOR40(S,P,O,M) BOOST_PP_FOR_C0(P,41,S,M)(41,S) BOOST_PP_FOR_C1(P,41,S)(O(41,S),P,O,M)
|
||||
#define BOOST_PP_FOR41(S,P,O,M) BOOST_PP_FOR_C0(P,42,S,M)(42,S) BOOST_PP_FOR_C1(P,42,S)(O(42,S),P,O,M)
|
||||
#define BOOST_PP_FOR42(S,P,O,M) BOOST_PP_FOR_C0(P,43,S,M)(43,S) BOOST_PP_FOR_C1(P,43,S)(O(43,S),P,O,M)
|
||||
#define BOOST_PP_FOR43(S,P,O,M) BOOST_PP_FOR_C0(P,44,S,M)(44,S) BOOST_PP_FOR_C1(P,44,S)(O(44,S),P,O,M)
|
||||
#define BOOST_PP_FOR44(S,P,O,M) BOOST_PP_FOR_C0(P,45,S,M)(45,S) BOOST_PP_FOR_C1(P,45,S)(O(45,S),P,O,M)
|
||||
#define BOOST_PP_FOR45(S,P,O,M) BOOST_PP_FOR_C0(P,46,S,M)(46,S) BOOST_PP_FOR_C1(P,46,S)(O(46,S),P,O,M)
|
||||
#define BOOST_PP_FOR46(S,P,O,M) BOOST_PP_FOR_C0(P,47,S,M)(47,S) BOOST_PP_FOR_C1(P,47,S)(O(47,S),P,O,M)
|
||||
#define BOOST_PP_FOR47(S,P,O,M) BOOST_PP_FOR_C0(P,48,S,M)(48,S) BOOST_PP_FOR_C1(P,48,S)(O(48,S),P,O,M)
|
||||
#define BOOST_PP_FOR48(S,P,O,M) BOOST_PP_FOR_C0(P,49,S,M)(49,S) BOOST_PP_FOR_C1(P,49,S)(O(49,S),P,O,M)
|
||||
#define BOOST_PP_FOR49(S,P,O,M) BOOST_PP_FOR_C0(P,50,S,M)(50,S) BOOST_PP_FOR_C1(P,50,S)(O(50,S),P,O,M)
|
||||
#define BOOST_PP_FOR50(S,P,O,M) BOOST_PP_FOR_C0(P,51,S,M)(51,S) BOOST_PP_FOR_C1(P,51,S)(O(51,S),P,O,M)
|
||||
#define BOOST_PP_FOR51(S,P,O,M) BOOST_PP_FOR_C0(P,52,S,M)(52,S) BOOST_PP_FOR_C1(P,52,S)(O(52,S),P,O,M)
|
||||
#define BOOST_PP_FOR52(S,P,O,M) BOOST_PP_FOR_C0(P,53,S,M)(53,S) BOOST_PP_FOR_C1(P,53,S)(O(53,S),P,O,M)
|
||||
#define BOOST_PP_FOR53(S,P,O,M) BOOST_PP_FOR_C0(P,54,S,M)(54,S) BOOST_PP_FOR_C1(P,54,S)(O(54,S),P,O,M)
|
||||
#define BOOST_PP_FOR54(S,P,O,M) BOOST_PP_FOR_C0(P,55,S,M)(55,S) BOOST_PP_FOR_C1(P,55,S)(O(55,S),P,O,M)
|
||||
#define BOOST_PP_FOR55(S,P,O,M) BOOST_PP_FOR_C0(P,56,S,M)(56,S) BOOST_PP_FOR_C1(P,56,S)(O(56,S),P,O,M)
|
||||
#define BOOST_PP_FOR56(S,P,O,M) BOOST_PP_FOR_C0(P,57,S,M)(57,S) BOOST_PP_FOR_C1(P,57,S)(O(57,S),P,O,M)
|
||||
#define BOOST_PP_FOR57(S,P,O,M) BOOST_PP_FOR_C0(P,58,S,M)(58,S) BOOST_PP_FOR_C1(P,58,S)(O(58,S),P,O,M)
|
||||
#define BOOST_PP_FOR58(S,P,O,M) BOOST_PP_FOR_C0(P,59,S,M)(59,S) BOOST_PP_FOR_C1(P,59,S)(O(59,S),P,O,M)
|
||||
#define BOOST_PP_FOR59(S,P,O,M) BOOST_PP_FOR_C0(P,60,S,M)(60,S) BOOST_PP_FOR_C1(P,60,S)(O(60,S),P,O,M)
|
||||
#define BOOST_PP_FOR60(S,P,O,M) BOOST_PP_FOR_C0(P,61,S,M)(61,S) BOOST_PP_FOR_C1(P,61,S)(O(61,S),P,O,M)
|
||||
#define BOOST_PP_FOR61(S,P,O,M) BOOST_PP_FOR_C0(P,62,S,M)(62,S) BOOST_PP_FOR_C1(P,62,S)(O(62,S),P,O,M)
|
||||
#define BOOST_PP_FOR62(S,P,O,M) BOOST_PP_FOR_C0(P,63,S,M)(63,S) BOOST_PP_FOR_C1(P,63,S)(O(63,S),P,O,M)
|
||||
#define BOOST_PP_FOR63(S,P,O,M) BOOST_PP_FOR_C0(P,64,S,M)(64,S) BOOST_PP_FOR_C1(P,64,S)(O(64,S),P,O,M)
|
||||
#define BOOST_PP_FOR64(S,P,O,M) BOOST_PP_FOR_C0(P,65,S,M)(65,S) BOOST_PP_FOR_C1(P,65,S)(O(65,S),P,O,M)
|
||||
#define BOOST_PP_FOR65(S,P,O,M) BOOST_PP_FOR_C0(P,66,S,M)(66,S) BOOST_PP_FOR_C1(P,66,S)(O(66,S),P,O,M)
|
||||
#define BOOST_PP_FOR66(S,P,O,M) BOOST_PP_FOR_C0(P,67,S,M)(67,S) BOOST_PP_FOR_C1(P,67,S)(O(67,S),P,O,M)
|
||||
#define BOOST_PP_FOR67(S,P,O,M) BOOST_PP_FOR_C0(P,68,S,M)(68,S) BOOST_PP_FOR_C1(P,68,S)(O(68,S),P,O,M)
|
||||
#define BOOST_PP_FOR68(S,P,O,M) BOOST_PP_FOR_C0(P,69,S,M)(69,S) BOOST_PP_FOR_C1(P,69,S)(O(69,S),P,O,M)
|
||||
#define BOOST_PP_FOR69(S,P,O,M) BOOST_PP_FOR_C0(P,70,S,M)(70,S) BOOST_PP_FOR_C1(P,70,S)(O(70,S),P,O,M)
|
||||
#define BOOST_PP_FOR70(S,P,O,M) BOOST_PP_FOR_C0(P,71,S,M)(71,S) BOOST_PP_FOR_C1(P,71,S)(O(71,S),P,O,M)
|
||||
#define BOOST_PP_FOR71(S,P,O,M) BOOST_PP_FOR_C0(P,72,S,M)(72,S) BOOST_PP_FOR_C1(P,72,S)(O(72,S),P,O,M)
|
||||
#define BOOST_PP_FOR72(S,P,O,M) BOOST_PP_FOR_C0(P,73,S,M)(73,S) BOOST_PP_FOR_C1(P,73,S)(O(73,S),P,O,M)
|
||||
#define BOOST_PP_FOR73(S,P,O,M) BOOST_PP_FOR_C0(P,74,S,M)(74,S) BOOST_PP_FOR_C1(P,74,S)(O(74,S),P,O,M)
|
||||
#define BOOST_PP_FOR74(S,P,O,M) BOOST_PP_FOR_C0(P,75,S,M)(75,S) BOOST_PP_FOR_C1(P,75,S)(O(75,S),P,O,M)
|
||||
#define BOOST_PP_FOR75(S,P,O,M) BOOST_PP_FOR_C0(P,76,S,M)(76,S) BOOST_PP_FOR_C1(P,76,S)(O(76,S),P,O,M)
|
||||
#define BOOST_PP_FOR76(S,P,O,M) BOOST_PP_FOR_C0(P,77,S,M)(77,S) BOOST_PP_FOR_C1(P,77,S)(O(77,S),P,O,M)
|
||||
#define BOOST_PP_FOR77(S,P,O,M) BOOST_PP_FOR_C0(P,78,S,M)(78,S) BOOST_PP_FOR_C1(P,78,S)(O(78,S),P,O,M)
|
||||
#define BOOST_PP_FOR78(S,P,O,M) BOOST_PP_FOR_C0(P,79,S,M)(79,S) BOOST_PP_FOR_C1(P,79,S)(O(79,S),P,O,M)
|
||||
#define BOOST_PP_FOR79(S,P,O,M) BOOST_PP_FOR_C0(P,80,S,M)(80,S) BOOST_PP_FOR_C1(P,80,S)(O(80,S),P,O,M)
|
||||
#define BOOST_PP_FOR80(S,P,O,M) BOOST_PP_FOR_C0(P,81,S,M)(81,S) BOOST_PP_FOR_C1(P,81,S)(O(81,S),P,O,M)
|
||||
#define BOOST_PP_FOR81(S,P,O,M) BOOST_PP_FOR_C0(P,82,S,M)(82,S) BOOST_PP_FOR_C1(P,82,S)(O(82,S),P,O,M)
|
||||
#define BOOST_PP_FOR82(S,P,O,M) BOOST_PP_FOR_C0(P,83,S,M)(83,S) BOOST_PP_FOR_C1(P,83,S)(O(83,S),P,O,M)
|
||||
#define BOOST_PP_FOR83(S,P,O,M) BOOST_PP_FOR_C0(P,84,S,M)(84,S) BOOST_PP_FOR_C1(P,84,S)(O(84,S),P,O,M)
|
||||
#define BOOST_PP_FOR84(S,P,O,M) BOOST_PP_FOR_C0(P,85,S,M)(85,S) BOOST_PP_FOR_C1(P,85,S)(O(85,S),P,O,M)
|
||||
#define BOOST_PP_FOR85(S,P,O,M) BOOST_PP_FOR_C0(P,86,S,M)(86,S) BOOST_PP_FOR_C1(P,86,S)(O(86,S),P,O,M)
|
||||
#define BOOST_PP_FOR86(S,P,O,M) BOOST_PP_FOR_C0(P,87,S,M)(87,S) BOOST_PP_FOR_C1(P,87,S)(O(87,S),P,O,M)
|
||||
#define BOOST_PP_FOR87(S,P,O,M) BOOST_PP_FOR_C0(P,88,S,M)(88,S) BOOST_PP_FOR_C1(P,88,S)(O(88,S),P,O,M)
|
||||
#define BOOST_PP_FOR88(S,P,O,M) BOOST_PP_FOR_C0(P,89,S,M)(89,S) BOOST_PP_FOR_C1(P,89,S)(O(89,S),P,O,M)
|
||||
#define BOOST_PP_FOR89(S,P,O,M) BOOST_PP_FOR_C0(P,90,S,M)(90,S) BOOST_PP_FOR_C1(P,90,S)(O(90,S),P,O,M)
|
||||
#define BOOST_PP_FOR90(S,P,O,M) BOOST_PP_FOR_C0(P,91,S,M)(91,S) BOOST_PP_FOR_C1(P,91,S)(O(91,S),P,O,M)
|
||||
#define BOOST_PP_FOR91(S,P,O,M) BOOST_PP_FOR_C0(P,92,S,M)(92,S) BOOST_PP_FOR_C1(P,92,S)(O(92,S),P,O,M)
|
||||
#define BOOST_PP_FOR92(S,P,O,M) BOOST_PP_FOR_C0(P,93,S,M)(93,S) BOOST_PP_FOR_C1(P,93,S)(O(93,S),P,O,M)
|
||||
#define BOOST_PP_FOR93(S,P,O,M) BOOST_PP_FOR_C0(P,94,S,M)(94,S) BOOST_PP_FOR_C1(P,94,S)(O(94,S),P,O,M)
|
||||
#define BOOST_PP_FOR94(S,P,O,M) BOOST_PP_FOR_C0(P,95,S,M)(95,S) BOOST_PP_FOR_C1(P,95,S)(O(95,S),P,O,M)
|
||||
#define BOOST_PP_FOR95(S,P,O,M) BOOST_PP_FOR_C0(P,96,S,M)(96,S) BOOST_PP_FOR_C1(P,96,S)(O(96,S),P,O,M)
|
||||
#define BOOST_PP_FOR96(S,P,O,M) BOOST_PP_FOR_C0(P,97,S,M)(97,S) BOOST_PP_FOR_C1(P,97,S)(O(97,S),P,O,M)
|
||||
#define BOOST_PP_FOR97(S,P,O,M) BOOST_PP_FOR_C0(P,98,S,M)(98,S) BOOST_PP_FOR_C1(P,98,S)(O(98,S),P,O,M)
|
||||
#define BOOST_PP_FOR98(S,P,O,M) BOOST_PP_FOR_C0(P,99,S,M)(99,S) BOOST_PP_FOR_C1(P,99,S)(O(99,S),P,O,M)
|
||||
#define BOOST_PP_FOR99(S,P,O,M) BOOST_PP_FOR_C0(P,100,S,M)(100,S) BOOST_PP_FOR_C1(P,100,S)(O(100,S),P,O,M)
|
||||
#define BOOST_PP_FOR100(S,P,O,M) BOOST_PP_FOR_C0(P,101,S,M)(101,S) BOOST_PP_FOR_C1(P,101,S)(O(101,S),P,O,M)
|
||||
#define BOOST_PP_FOR101(S,P,O,M) BOOST_PP_FOR_C0(P,102,S,M)(102,S) BOOST_PP_FOR_C1(P,102,S)(O(102,S),P,O,M)
|
||||
#define BOOST_PP_FOR102(S,P,O,M) BOOST_PP_FOR_C0(P,103,S,M)(103,S) BOOST_PP_FOR_C1(P,103,S)(O(103,S),P,O,M)
|
||||
#define BOOST_PP_FOR103(S,P,O,M) BOOST_PP_FOR_C0(P,104,S,M)(104,S) BOOST_PP_FOR_C1(P,104,S)(O(104,S),P,O,M)
|
||||
#define BOOST_PP_FOR104(S,P,O,M) BOOST_PP_FOR_C0(P,105,S,M)(105,S) BOOST_PP_FOR_C1(P,105,S)(O(105,S),P,O,M)
|
||||
#define BOOST_PP_FOR105(S,P,O,M) BOOST_PP_FOR_C0(P,106,S,M)(106,S) BOOST_PP_FOR_C1(P,106,S)(O(106,S),P,O,M)
|
||||
#define BOOST_PP_FOR106(S,P,O,M) BOOST_PP_FOR_C0(P,107,S,M)(107,S) BOOST_PP_FOR_C1(P,107,S)(O(107,S),P,O,M)
|
||||
#define BOOST_PP_FOR107(S,P,O,M) BOOST_PP_FOR_C0(P,108,S,M)(108,S) BOOST_PP_FOR_C1(P,108,S)(O(108,S),P,O,M)
|
||||
#define BOOST_PP_FOR108(S,P,O,M) BOOST_PP_FOR_C0(P,109,S,M)(109,S) BOOST_PP_FOR_C1(P,109,S)(O(109,S),P,O,M)
|
||||
#define BOOST_PP_FOR109(S,P,O,M) BOOST_PP_FOR_C0(P,110,S,M)(110,S) BOOST_PP_FOR_C1(P,110,S)(O(110,S),P,O,M)
|
||||
#define BOOST_PP_FOR110(S,P,O,M) BOOST_PP_FOR_C0(P,111,S,M)(111,S) BOOST_PP_FOR_C1(P,111,S)(O(111,S),P,O,M)
|
||||
#define BOOST_PP_FOR111(S,P,O,M) BOOST_PP_FOR_C0(P,112,S,M)(112,S) BOOST_PP_FOR_C1(P,112,S)(O(112,S),P,O,M)
|
||||
#define BOOST_PP_FOR112(S,P,O,M) BOOST_PP_FOR_C0(P,113,S,M)(113,S) BOOST_PP_FOR_C1(P,113,S)(O(113,S),P,O,M)
|
||||
#define BOOST_PP_FOR113(S,P,O,M) BOOST_PP_FOR_C0(P,114,S,M)(114,S) BOOST_PP_FOR_C1(P,114,S)(O(114,S),P,O,M)
|
||||
#define BOOST_PP_FOR114(S,P,O,M) BOOST_PP_FOR_C0(P,115,S,M)(115,S) BOOST_PP_FOR_C1(P,115,S)(O(115,S),P,O,M)
|
||||
#define BOOST_PP_FOR115(S,P,O,M) BOOST_PP_FOR_C0(P,116,S,M)(116,S) BOOST_PP_FOR_C1(P,116,S)(O(116,S),P,O,M)
|
||||
#define BOOST_PP_FOR116(S,P,O,M) BOOST_PP_FOR_C0(P,117,S,M)(117,S) BOOST_PP_FOR_C1(P,117,S)(O(117,S),P,O,M)
|
||||
#define BOOST_PP_FOR117(S,P,O,M) BOOST_PP_FOR_C0(P,118,S,M)(118,S) BOOST_PP_FOR_C1(P,118,S)(O(118,S),P,O,M)
|
||||
#define BOOST_PP_FOR118(S,P,O,M) BOOST_PP_FOR_C0(P,119,S,M)(119,S) BOOST_PP_FOR_C1(P,119,S)(O(119,S),P,O,M)
|
||||
#define BOOST_PP_FOR119(S,P,O,M) BOOST_PP_FOR_C0(P,120,S,M)(120,S) BOOST_PP_FOR_C1(P,120,S)(O(120,S),P,O,M)
|
||||
#define BOOST_PP_FOR120(S,P,O,M) BOOST_PP_FOR_C0(P,121,S,M)(121,S) BOOST_PP_FOR_C1(P,121,S)(O(121,S),P,O,M)
|
||||
#define BOOST_PP_FOR121(S,P,O,M) BOOST_PP_FOR_C0(P,122,S,M)(122,S) BOOST_PP_FOR_C1(P,122,S)(O(122,S),P,O,M)
|
||||
#define BOOST_PP_FOR122(S,P,O,M) BOOST_PP_FOR_C0(P,123,S,M)(123,S) BOOST_PP_FOR_C1(P,123,S)(O(123,S),P,O,M)
|
||||
#define BOOST_PP_FOR123(S,P,O,M) BOOST_PP_FOR_C0(P,124,S,M)(124,S) BOOST_PP_FOR_C1(P,124,S)(O(124,S),P,O,M)
|
||||
#define BOOST_PP_FOR124(S,P,O,M) BOOST_PP_FOR_C0(P,125,S,M)(125,S) BOOST_PP_FOR_C1(P,125,S)(O(125,S),P,O,M)
|
||||
#define BOOST_PP_FOR125(S,P,O,M) BOOST_PP_FOR_C0(P,126,S,M)(126,S) BOOST_PP_FOR_C1(P,126,S)(O(126,S),P,O,M)
|
||||
#define BOOST_PP_FOR126(S,P,O,M) BOOST_PP_FOR_C0(P,127,S,M)(127,S) BOOST_PP_FOR_C1(P,127,S)(O(127,S),P,O,M)
|
||||
#define BOOST_PP_FOR127(S,P,O,M) BOOST_PP_FOR_C0(P,128,S,M)(128,S) BOOST_PP_FOR_C1(P,128,S)(O(128,S),P,O,M)
|
||||
#define BOOST_PP_FOR128(S,P,O,M) BOOST_PP_FOR_C0(P,129,S,M)(129,S) BOOST_PP_FOR_C1(P,129,S)(O(129,S),P,O,M)
|
||||
#define BOOST_PP_FOR129(S,P,O,M) (RECURSION DEPTH EXCEEDED!)
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_FOR_HPP
|
||||
# define BOOST_PREPROCESSOR_FOR_HPP
|
||||
#
|
||||
# include <boost/preprocessor/repetition/for.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,41 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_IDENTITY_HPP
|
||||
#define BOOST_PREPROCESSOR_IDENTITY_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/empty.hpp>
|
||||
|
||||
/** <p>Expands to <code>X</code> once invoked.</p>
|
||||
|
||||
<p>Designed to be used with BOOST_PP_IF(), when one of the clauses need to be
|
||||
invoked.</p>
|
||||
|
||||
<p>For example,</p>
|
||||
|
||||
<pre>
|
||||
BOOST_PP_IF(1,BOOST_PP_IDENTITY(X),BOOST_PP_EMPTY)<b>()</b>
|
||||
</pre>
|
||||
|
||||
<p>expands to:</p>
|
||||
|
||||
<pre>
|
||||
X
|
||||
</pre>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/preprocessor_test.cpp">preprocessor_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_IDENTITY(X) X BOOST_PP_EMPTY
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_IDENTITY_HPP
|
||||
# define BOOST_PREPROCESSOR_IDENTITY_HPP
|
||||
#
|
||||
# include <boost/preprocessor/facilities/identity.hpp>
|
||||
#
|
||||
# endif
|
||||
|
@ -1,42 +1,18 @@
|
||||
#ifndef BOOST_PREPROCESSOR_IF_HPP
|
||||
#define BOOST_PREPROCESSOR_IF_HPP
|
||||
|
||||
/* Copyright (C) 2001
|
||||
* Housemarque Oy
|
||||
* http://www.housemarque.com
|
||||
*
|
||||
* Permission to copy, use, modify, sell and distribute this software is
|
||||
* granted provided this copyright notice appears in all copies. This
|
||||
* software is provided "as is" without express or implied warranty, and
|
||||
* with no claim as to its suitability for any purpose.
|
||||
*
|
||||
* See http://www.boost.org for most recent version.
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/logical/bool.hpp>
|
||||
|
||||
/** <p>Expands to <code>THEN</code> if <code>COND != 0</code> and <code>ELSE</code> if
|
||||
<code>COND == 0</code>.</p>
|
||||
|
||||
<p><code>COND</code> must expand to an integer literal in the range [0, BOOST_PP_LIMIT_MAG].</p>
|
||||
|
||||
<p>For example, <code>BOOST_PP_IF(0,1,2)</code> expands to <code>2</code>.</p>
|
||||
|
||||
<h3>See</h3>
|
||||
<ul>
|
||||
<li>BOOST_PP_EXPR_IF()</li>
|
||||
</ul>
|
||||
|
||||
<h3>Test</h3>
|
||||
<ul>
|
||||
<li><a href="../../test/preprocessor_test.cpp">preprocessor_test.cpp</a></li>
|
||||
</ul>
|
||||
*/
|
||||
#define BOOST_PP_IF(COND,THEN,ELSE) BOOST_PP_IF_BOOL(BOOST_PP_BOOL(COND),ELSE,THEN)
|
||||
|
||||
#define BOOST_PP_IF_BOOL(C,E,T) BOOST_PP_IF_BOOL_DELAY(C,E,T)
|
||||
#define BOOST_PP_IF_BOOL_DELAY(C,E,T) BOOST_PP_IF##C(E,T)
|
||||
|
||||
#define BOOST_PP_IF0(E,T) E
|
||||
#define BOOST_PP_IF1(E,T) T
|
||||
#endif
|
||||
# /* **************************************************************************
|
||||
# * *
|
||||
# * (C) Copyright Paul Mensonides 2002. Permission to copy, use, *
|
||||
# * modify, sell, and distribute this software is granted provided *
|
||||
# * this copyright notice appears in all copies. This software is *
|
||||
# * provided "as is" without express or implied warranty, and with *
|
||||
# * no claim at to its suitability for any purpose. *
|
||||
# * *
|
||||
# ************************************************************************** */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# ifndef BOOST_PREPROCESSOR_IF_HPP
|
||||
# define BOOST_PREPROCESSOR_IF_HPP
|
||||
#
|
||||
# include <boost/preprocessor/control/if.hpp>
|
||||
#
|
||||
# endif
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user