mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 13:18:28 +00:00
update to boost 1.39: add new files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31099 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
ef4156b24a
commit
1fc4cdd807
1733
boost/boost/bind/bind.hpp
Normal file
1733
boost/boost/bind/bind.hpp
Normal file
File diff suppressed because it is too large
Load Diff
389
boost/boost/bind/mem_fn.hpp
Normal file
389
boost/boost/bind/mem_fn.hpp
Normal file
@ -0,0 +1,389 @@
|
|||||||
|
#ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED
|
||||||
|
#define BOOST_BIND_MEM_FN_HPP_INCLUDED
|
||||||
|
|
||||||
|
// MS compatible compilers support #pragma once
|
||||||
|
|
||||||
|
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
||||||
|
# pragma once
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// mem_fn.hpp - a generalization of std::mem_fun[_ref]
|
||||||
|
//
|
||||||
|
// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
|
||||||
|
// Copyright (c) 2001 David Abrahams
|
||||||
|
// Copyright (c) 2003-2005 Peter Dimov
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
// accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
// See http://www.boost.org/libs/bind/mem_fn.html for documentation.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <boost/config.hpp>
|
||||||
|
#include <boost/get_pointer.hpp>
|
||||||
|
#include <boost/detail/workaround.hpp>
|
||||||
|
|
||||||
|
namespace boost
|
||||||
|
{
|
||||||
|
|
||||||
|
#if defined(BOOST_NO_VOID_RETURNS)
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_CLASS_F , class F
|
||||||
|
#define BOOST_MEM_FN_TYPEDEF(X)
|
||||||
|
|
||||||
|
namespace _mfi // mem_fun_impl
|
||||||
|
{
|
||||||
|
|
||||||
|
template<class V> struct mf
|
||||||
|
{
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_RETURN return
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) inner_##X
|
||||||
|
#define BOOST_MEM_FN_CC
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_template.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_CDECL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl
|
||||||
|
#define BOOST_MEM_FN_CC __cdecl
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_template.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_STDCALL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall
|
||||||
|
#define BOOST_MEM_FN_CC __stdcall
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_template.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall
|
||||||
|
#define BOOST_MEM_FN_CC __fastcall
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_template.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_RETURN
|
||||||
|
|
||||||
|
}; // struct mf<V>
|
||||||
|
|
||||||
|
template<> struct mf<void>
|
||||||
|
{
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_RETURN
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) inner_##X
|
||||||
|
#define BOOST_MEM_FN_CC
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_template.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_CDECL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl
|
||||||
|
#define BOOST_MEM_FN_CC __cdecl
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_template.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_STDCALL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall
|
||||||
|
#define BOOST_MEM_FN_CC __stdcall
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_template.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall
|
||||||
|
#define BOOST_MEM_FN_CC __fastcall
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_template.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_RETURN
|
||||||
|
|
||||||
|
}; // struct mf<void>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CLASS_F
|
||||||
|
#undef BOOST_MEM_FN_TYPEDEF_F
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) X
|
||||||
|
#define BOOST_MEM_FN_NAME2(X) inner_##X
|
||||||
|
#define BOOST_MEM_FN_CC
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_vw.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
#undef BOOST_MEM_FN_NAME2
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_CDECL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) X##_cdecl
|
||||||
|
#define BOOST_MEM_FN_NAME2(X) inner_##X##_cdecl
|
||||||
|
#define BOOST_MEM_FN_CC __cdecl
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_vw.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
#undef BOOST_MEM_FN_NAME2
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_STDCALL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) X##_stdcall
|
||||||
|
#define BOOST_MEM_FN_NAME2(X) inner_##X##_stdcall
|
||||||
|
#define BOOST_MEM_FN_CC __stdcall
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_vw.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
#undef BOOST_MEM_FN_NAME2
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) X##_fastcall
|
||||||
|
#define BOOST_MEM_FN_NAME2(X) inner_##X##_fastcall
|
||||||
|
#define BOOST_MEM_FN_CC __fastcall
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_vw.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
#undef BOOST_MEM_FN_NAME2
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
} // namespace _mfi
|
||||||
|
|
||||||
|
#else // #ifdef BOOST_NO_VOID_RETURNS
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_CLASS_F
|
||||||
|
#define BOOST_MEM_FN_TYPEDEF(X) typedef X;
|
||||||
|
|
||||||
|
namespace _mfi
|
||||||
|
{
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_RETURN return
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) X
|
||||||
|
#define BOOST_MEM_FN_CC
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_template.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_CDECL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) X##_cdecl
|
||||||
|
#define BOOST_MEM_FN_CC __cdecl
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_template.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_STDCALL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) X##_stdcall
|
||||||
|
#define BOOST_MEM_FN_CC __stdcall
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_template.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) X##_fastcall
|
||||||
|
#define BOOST_MEM_FN_CC __fastcall
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_template.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_RETURN
|
||||||
|
|
||||||
|
} // namespace _mfi
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_CLASS_F
|
||||||
|
#undef BOOST_MEM_FN_TYPEDEF
|
||||||
|
|
||||||
|
#endif // #ifdef BOOST_NO_VOID_RETURNS
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) X
|
||||||
|
#define BOOST_MEM_FN_CC
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_cc.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_CDECL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) X##_cdecl
|
||||||
|
#define BOOST_MEM_FN_CC __cdecl
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_cc.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_STDCALL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) X##_stdcall
|
||||||
|
#define BOOST_MEM_FN_CC __stdcall
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_cc.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
|
||||||
|
|
||||||
|
#define BOOST_MEM_FN_NAME(X) X##_fastcall
|
||||||
|
#define BOOST_MEM_FN_CC __fastcall
|
||||||
|
|
||||||
|
#include <boost/bind/mem_fn_cc.hpp>
|
||||||
|
|
||||||
|
#undef BOOST_MEM_FN_NAME
|
||||||
|
#undef BOOST_MEM_FN_CC
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// data member support
|
||||||
|
|
||||||
|
namespace _mfi
|
||||||
|
{
|
||||||
|
|
||||||
|
template<class R, class T> class dm
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
typedef R const & result_type;
|
||||||
|
typedef T const * argument_type;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
typedef R (T::*F);
|
||||||
|
F f_;
|
||||||
|
|
||||||
|
template<class U> R const & call(U & u, T const *) const
|
||||||
|
{
|
||||||
|
return (u.*f_);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class U> R const & call(U & u, void const *) const
|
||||||
|
{
|
||||||
|
return (get_pointer(u)->*f_);
|
||||||
|
}
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
explicit dm(F f): f_(f) {}
|
||||||
|
|
||||||
|
R & operator()(T * p) const
|
||||||
|
{
|
||||||
|
return (p->*f_);
|
||||||
|
}
|
||||||
|
|
||||||
|
R const & operator()(T const * p) const
|
||||||
|
{
|
||||||
|
return (p->*f_);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class U> R const & operator()(U const & u) const
|
||||||
|
{
|
||||||
|
return call(u, &u);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__MWERKS__, < 0x3200)
|
||||||
|
|
||||||
|
R & operator()(T & t) const
|
||||||
|
{
|
||||||
|
return (t.*f_);
|
||||||
|
}
|
||||||
|
|
||||||
|
R const & operator()(T const & t) const
|
||||||
|
{
|
||||||
|
return (t.*f_);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
bool operator==(dm const & rhs) const
|
||||||
|
{
|
||||||
|
return f_ == rhs.f_;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool operator!=(dm const & rhs) const
|
||||||
|
{
|
||||||
|
return f_ != rhs.f_;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace _mfi
|
||||||
|
|
||||||
|
template<class R, class T> _mfi::dm<R, T> mem_fn(R T::*f)
|
||||||
|
{
|
||||||
|
return _mfi::dm<R, T>(f);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace boost
|
||||||
|
|
||||||
|
#endif // #ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED
|
153
boost/boost/config/compiler/codegear.hpp
Normal file
153
boost/boost/config/compiler/codegear.hpp
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
// (C) Copyright John Maddock 2001 - 2003.
|
||||||
|
// (C) Copyright David Abrahams 2002 - 2003.
|
||||||
|
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||||
|
// Use, modification and distribution are subject to the
|
||||||
|
// Boost Software License, Version 1.0. (See accompanying file
|
||||||
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
// See http://www.boost.org for most recent version.
|
||||||
|
|
||||||
|
// CodeGear C++ compiler setup:
|
||||||
|
|
||||||
|
#if !defined( BOOST_WITH_CODEGEAR_WARNINGS )
|
||||||
|
// these warnings occur frequently in optimized template code
|
||||||
|
# pragma warn -8004 // var assigned value, but never used
|
||||||
|
# pragma warn -8008 // condition always true/false
|
||||||
|
# pragma warn -8066 // dead code can never execute
|
||||||
|
# pragma warn -8104 // static members with ctors not threadsafe
|
||||||
|
# pragma warn -8105 // reference member in class without ctors
|
||||||
|
#endif
|
||||||
|
//
|
||||||
|
// versions check:
|
||||||
|
// last known and checked version is 0x610
|
||||||
|
#if (__CODEGEARC__ > 0x610)
|
||||||
|
# if defined(BOOST_ASSERT_CONFIG)
|
||||||
|
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||||
|
# else
|
||||||
|
# pragma message( "Unknown compiler version - please run the configure tests and report the results")
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// CodeGear C++ Builder 2009
|
||||||
|
#if (__CODEGEARC__ <= 0x610)
|
||||||
|
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||||
|
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||||
|
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||||
|
# define BOOST_NO_PRIVATE_IN_AGGREGATE
|
||||||
|
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||||
|
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
|
||||||
|
# define BOOST_NO_USING_TEMPLATE
|
||||||
|
// we shouldn't really need this - but too many things choke
|
||||||
|
// without it, this needs more investigation:
|
||||||
|
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||||
|
# define BOOST_NO_TYPENAME_WITH_CTOR // Cannot use typename keyword when making temporaries of a dependant type
|
||||||
|
# define BOOST_NO_NESTED_FRIENDSHIP // TC1 gives nested classes access rights as any other member
|
||||||
|
|
||||||
|
// Temporary hack, until specific MPL preprocessed headers are generated
|
||||||
|
# define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
|
||||||
|
|
||||||
|
# ifdef NDEBUG
|
||||||
|
// fix broken <cstring> so that Boost.test works:
|
||||||
|
# include <cstring>
|
||||||
|
# undef strcmp
|
||||||
|
# endif
|
||||||
|
// fix broken errno declaration:
|
||||||
|
# include <errno.h>
|
||||||
|
# ifndef errno
|
||||||
|
# define errno errno
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// C++0x macros:
|
||||||
|
//
|
||||||
|
#define BOOST_HAS_CHAR16_T
|
||||||
|
#define BOOST_HAS_CHAR32_T
|
||||||
|
#define BOOST_HAS_LONG_LONG
|
||||||
|
// #define BOOST_HAS_ALIGNOF
|
||||||
|
#define BOOST_HAS_DECLTYPE
|
||||||
|
#define BOOST_HAS_EXPLICIT_CONVERSION_OPS
|
||||||
|
// #define BOOST_HAS_RVALUE_REFS
|
||||||
|
#define BOOST_HAS_SCOPED_ENUM
|
||||||
|
// #define BOOST_HAS_STATIC_ASSERT
|
||||||
|
#define BOOST_HAS_STD_TYPE_TRAITS
|
||||||
|
|
||||||
|
#define BOOST_NO_EXTERN_TEMPLATE
|
||||||
|
#define BOOST_NO_SCOPED_ENUMS
|
||||||
|
#define BOOST_NO_STATIC_ASSERT
|
||||||
|
#define BOOST_NO_RVALUE_REFERENCES
|
||||||
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
#define BOOST_NO_CONSTEXPR
|
||||||
|
#define BOOST_NO_DEFAULTED_FUNCTIONS
|
||||||
|
#define BOOST_NO_DELETED_FUNCTIONS
|
||||||
|
#define BOOST_NO_RAW_LITERALS
|
||||||
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
|
#define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
|
||||||
|
//
|
||||||
|
// TR1 macros:
|
||||||
|
//
|
||||||
|
#define BOOST_HAS_TR1_HASH
|
||||||
|
#define BOOST_HAS_TR1_TYPE_TRAITS
|
||||||
|
#define BOOST_HAS_TR1_UNORDERED_MAP
|
||||||
|
#define BOOST_HAS_TR1_UNORDERED_SET
|
||||||
|
|
||||||
|
#define BOOST_HAS_MACRO_USE_FACET
|
||||||
|
|
||||||
|
#define BOOST_NO_INITIALIZER_LISTS
|
||||||
|
|
||||||
|
// On non-Win32 platforms let the platform config figure this out:
|
||||||
|
#ifdef _WIN32
|
||||||
|
# define BOOST_HAS_STDINT_H
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// __int64:
|
||||||
|
//
|
||||||
|
#if !defined(__STRICT_ANSI__)
|
||||||
|
# define BOOST_HAS_MS_INT64
|
||||||
|
#endif
|
||||||
|
//
|
||||||
|
// check for exception handling support:
|
||||||
|
//
|
||||||
|
#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS)
|
||||||
|
# define BOOST_NO_EXCEPTIONS
|
||||||
|
#endif
|
||||||
|
//
|
||||||
|
// all versions have a <dirent.h>:
|
||||||
|
//
|
||||||
|
#if !defined(__STRICT_ANSI__)
|
||||||
|
# define BOOST_HAS_DIRENT_H
|
||||||
|
#endif
|
||||||
|
//
|
||||||
|
// all versions support __declspec:
|
||||||
|
//
|
||||||
|
#if !defined(__STRICT_ANSI__)
|
||||||
|
# define BOOST_HAS_DECLSPEC
|
||||||
|
#endif
|
||||||
|
//
|
||||||
|
// ABI fixing headers:
|
||||||
|
//
|
||||||
|
#ifndef BOOST_ABI_PREFIX
|
||||||
|
# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
|
||||||
|
#endif
|
||||||
|
#ifndef BOOST_ABI_SUFFIX
|
||||||
|
# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
|
||||||
|
#endif
|
||||||
|
//
|
||||||
|
// Disable Win32 support in ANSI mode:
|
||||||
|
//
|
||||||
|
# pragma defineonoption BOOST_DISABLE_WIN32 -A
|
||||||
|
//
|
||||||
|
// MSVC compatibility mode does some nasty things:
|
||||||
|
// TODO: look up if this doesn't apply to the whole 12xx range
|
||||||
|
//
|
||||||
|
#if defined(_MSC_VER) && (_MSC_VER <= 1200)
|
||||||
|
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||||
|
# define BOOST_NO_VOID_RETURNS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)
|
||||||
|
|
87
boost/boost/config/compiler/digitalmars.hpp
Normal file
87
boost/boost/config/compiler/digitalmars.hpp
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
// Copyright (C) Christof Meerwald 2003
|
||||||
|
// Copyright (C) Dan Watkins 2003
|
||||||
|
//
|
||||||
|
// Use, modification and distribution are subject to the
|
||||||
|
// Boost Software License, Version 1.0. (See accompanying file
|
||||||
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
// Digital Mars C++ compiler setup:
|
||||||
|
#define BOOST_COMPILER __DMC_VERSION_STRING__
|
||||||
|
|
||||||
|
#define BOOST_HAS_LONG_LONG
|
||||||
|
#define BOOST_HAS_PRAGMA_ONCE
|
||||||
|
|
||||||
|
#if (__DMC__ <= 0x833)
|
||||||
|
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||||
|
#define BOOST_NO_TEMPLATE_TEMPLATES
|
||||||
|
#define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING
|
||||||
|
#define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
|
||||||
|
#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
|
||||||
|
#endif
|
||||||
|
#if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG)
|
||||||
|
#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
|
||||||
|
#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||||
|
#define BOOST_NO_OPERATORS_IN_NAMESPACE
|
||||||
|
#define BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||||
|
#define BOOST_NO_SFINAE
|
||||||
|
#define BOOST_NO_USING_TEMPLATE
|
||||||
|
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||||
|
#define BOOST_NO_INITIALIZER_LISTS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// has macros:
|
||||||
|
#if (__DMC__ >= 0x840)
|
||||||
|
#define BOOST_HAS_DIRENT_H
|
||||||
|
#define BOOST_HAS_STDINT_H
|
||||||
|
#define BOOST_HAS_WINTHREADS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if (__DMC__ >= 0x847)
|
||||||
|
#define BOOST_HAS_EXPM1
|
||||||
|
#define BOOST_HAS_LOG1P
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Is this really the best way to detect whether the std lib is in namespace std?
|
||||||
|
//
|
||||||
|
#include <cstddef>
|
||||||
|
#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)
|
||||||
|
# define BOOST_NO_STDC_NAMESPACE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
// check for exception handling support:
|
||||||
|
#ifndef _CPPUNWIND
|
||||||
|
# define BOOST_NO_EXCEPTIONS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// C++0x features
|
||||||
|
//
|
||||||
|
#define BOOST_NO_CHAR16_T
|
||||||
|
#define BOOST_NO_CHAR32_T
|
||||||
|
#define BOOST_NO_CONSTEXPR
|
||||||
|
#define BOOST_NO_DECLTYPE
|
||||||
|
#define BOOST_NO_DEFAULTED_FUNCTIONS
|
||||||
|
#define BOOST_NO_DELETED_FUNCTIONS
|
||||||
|
#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
|
||||||
|
#define BOOST_NO_EXTERN_TEMPLATE
|
||||||
|
#define BOOST_NO_RAW_LITERALS
|
||||||
|
#define BOOST_NO_RVALUE_REFERENCES
|
||||||
|
#define BOOST_NO_SCOPED_ENUMS
|
||||||
|
#define BOOST_NO_STATIC_ASSERT
|
||||||
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
#define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
#if __DMC__ < 0x800
|
||||||
|
#error "Compiler not supported or configured - please reconfigure"
|
||||||
|
#endif
|
||||||
|
//
|
||||||
|
// last known and checked version is ...:
|
||||||
|
#if (__DMC__ > 0x848)
|
||||||
|
# if defined(BOOST_ASSERT_CONFIG)
|
||||||
|
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||||
|
# endif
|
||||||
|
#endif
|
30
boost/boost/config/compiler/gcc_xml.hpp
Normal file
30
boost/boost/config/compiler/gcc_xml.hpp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
// (C) Copyright John Maddock 2006.
|
||||||
|
// Use, modification and distribution are subject to the
|
||||||
|
// Boost Software License, Version 1.0. (See accompanying file
|
||||||
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
// See http://www.boost.org for most recent version.
|
||||||
|
|
||||||
|
// GCC-XML C++ compiler setup:
|
||||||
|
|
||||||
|
# if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3))
|
||||||
|
# define BOOST_NO_IS_ABSTRACT
|
||||||
|
# endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Threading support: Turn this on unconditionally here (except for
|
||||||
|
// those platforms where we can know for sure). It will get turned off again
|
||||||
|
// later if no threading API is detected.
|
||||||
|
//
|
||||||
|
#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__)
|
||||||
|
# define BOOST_HAS_THREADS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// gcc has "long long"
|
||||||
|
//
|
||||||
|
#define BOOST_HAS_LONG_LONG
|
||||||
|
|
||||||
|
#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__
|
||||||
|
|
||||||
|
|
56
boost/boost/config/compiler/pgi.hpp
Normal file
56
boost/boost/config/compiler/pgi.hpp
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
// (C) Copyright Noel Belcourt 2007.
|
||||||
|
// Use, modification and distribution are subject to the
|
||||||
|
// Boost Software License, Version 1.0. (See accompanying file
|
||||||
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
// See http://www.boost.org for most recent version.
|
||||||
|
|
||||||
|
// PGI C++ compiler setup:
|
||||||
|
|
||||||
|
#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__
|
||||||
|
#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
|
||||||
|
|
||||||
|
//
|
||||||
|
// Threading support:
|
||||||
|
// Turn this on unconditionally here, it will get turned off again later
|
||||||
|
// if no threading API is detected.
|
||||||
|
//
|
||||||
|
|
||||||
|
#if (__PGIC__ >= 7)
|
||||||
|
|
||||||
|
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||||
|
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||||
|
#define BOOST_NO_SWPRINTF
|
||||||
|
#define BOOST_NO_INITIALIZER_LISTS
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
# error "Pgi compiler not configured - please reconfigure"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
//
|
||||||
|
// C++0x features
|
||||||
|
//
|
||||||
|
// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
|
||||||
|
//
|
||||||
|
#define BOOST_NO_CHAR16_T
|
||||||
|
#define BOOST_NO_CHAR32_T
|
||||||
|
#define BOOST_NO_CONSTEXPR
|
||||||
|
#define BOOST_NO_DECLTYPE
|
||||||
|
#define BOOST_NO_DEFAULTED_FUNCTIONS
|
||||||
|
#define BOOST_NO_DELETED_FUNCTIONS
|
||||||
|
#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
|
||||||
|
#define BOOST_NO_EXTERN_TEMPLATE
|
||||||
|
#define BOOST_NO_RAW_LITERALS
|
||||||
|
#define BOOST_NO_RVALUE_REFERENCES
|
||||||
|
#define BOOST_NO_SCOPED_ENUMS
|
||||||
|
#define BOOST_NO_STATIC_ASSERT
|
||||||
|
#define BOOST_NO_UNICODE_LITERALS
|
||||||
|
#define BOOST_NO_VARIADIC_TEMPLATES
|
||||||
|
#define BOOST_NO_AUTO_DECLARATIONS
|
||||||
|
#define BOOST_NO_AUTO_MULTIDECLARATIONS
|
||||||
|
|
||||||
|
//
|
||||||
|
// version check:
|
||||||
|
// probably nothing to do here?
|
||||||
|
|
28
boost/boost/config/no_tr1/cmath.hpp
Normal file
28
boost/boost/config/no_tr1/cmath.hpp
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
// (C) Copyright John Maddock 2008.
|
||||||
|
// Use, modification and distribution are subject to the
|
||||||
|
// Boost Software License, Version 1.0. (See accompanying file
|
||||||
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
// The aim of this header is just to include <cmath> but to do
|
||||||
|
// so in a way that does not result in recursive inclusion of
|
||||||
|
// the Boost TR1 components if boost/tr1/tr1/cmath is in the
|
||||||
|
// include search path. We have to do this to avoid circular
|
||||||
|
// dependencies:
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef BOOST_CONFIG_CMATH
|
||||||
|
# define BOOST_CONFIG_CMATH
|
||||||
|
|
||||||
|
# ifndef BOOST_TR1_NO_RECURSION
|
||||||
|
# define BOOST_TR1_NO_RECURSION
|
||||||
|
# define BOOST_CONFIG_NO_CMATH_RECURSION
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# include <cmath>
|
||||||
|
|
||||||
|
# ifdef BOOST_CONFIG_NO_CMATH_RECURSION
|
||||||
|
# undef BOOST_TR1_NO_RECURSION
|
||||||
|
# undef BOOST_CONFIG_NO_CMATH_RECURSION
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#endif
|
31
boost/boost/config/platform/qnxnto.hpp
Normal file
31
boost/boost/config/platform/qnxnto.hpp
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
// (C) Copyright Jim Douglas 2005.
|
||||||
|
// Use, modification and distribution are subject to the
|
||||||
|
// Boost Software License, Version 1.0. (See accompanying file
|
||||||
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
// See http://www.boost.org for most recent version.
|
||||||
|
|
||||||
|
// QNX specific config options:
|
||||||
|
|
||||||
|
#define BOOST_PLATFORM "QNX"
|
||||||
|
|
||||||
|
#define BOOST_HAS_UNISTD_H
|
||||||
|
#include <boost/config/posix_features.hpp>
|
||||||
|
|
||||||
|
// QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h
|
||||||
|
// or log1p and expm1:
|
||||||
|
#undef BOOST_HAS_NL_TYPES_H
|
||||||
|
#undef BOOST_HAS_LOG1P
|
||||||
|
#undef BOOST_HAS_EXPM1
|
||||||
|
|
||||||
|
#define BOOST_HAS_PTHREADS
|
||||||
|
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||||
|
|
||||||
|
#define BOOST_HAS_GETTIMEOFDAY
|
||||||
|
#define BOOST_HAS_CLOCK_GETTIME
|
||||||
|
#define BOOST_HAS_NANOSLEEP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
92
boost/boost/config/requires_threads.hpp
Normal file
92
boost/boost/config/requires_threads.hpp
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
// (C) Copyright John Maddock 2003.
|
||||||
|
// Use, modification and distribution are subject to the
|
||||||
|
// Boost Software License, Version 1.0. (See accompanying file
|
||||||
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP
|
||||||
|
#define BOOST_CONFIG_REQUIRES_THREADS_HPP
|
||||||
|
|
||||||
|
#ifndef BOOST_CONFIG_HPP
|
||||||
|
# include <boost/config.hpp>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(BOOST_DISABLE_THREADS)
|
||||||
|
|
||||||
|
//
|
||||||
|
// special case to handle versions of gcc which don't currently support threads:
|
||||||
|
//
|
||||||
|
#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG))
|
||||||
|
//
|
||||||
|
// this is checked up to gcc 3.3:
|
||||||
|
//
|
||||||
|
#if defined(__sgi) || defined(__hpux)
|
||||||
|
# error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
# error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS"
|
||||||
|
|
||||||
|
#elif !defined(BOOST_HAS_THREADS)
|
||||||
|
|
||||||
|
# if defined __COMO__
|
||||||
|
// Comeau C++
|
||||||
|
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)"
|
||||||
|
|
||||||
|
#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
|
||||||
|
// Intel
|
||||||
|
#ifdef _WIN32
|
||||||
|
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd"
|
||||||
|
#else
|
||||||
|
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
# elif defined __GNUC__
|
||||||
|
// GNU C++:
|
||||||
|
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)"
|
||||||
|
|
||||||
|
#elif defined __sgi
|
||||||
|
// SGI MIPSpro C++
|
||||||
|
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE"
|
||||||
|
|
||||||
|
#elif defined __DECCXX
|
||||||
|
// Compaq Tru64 Unix cxx
|
||||||
|
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread"
|
||||||
|
|
||||||
|
#elif defined __BORLANDC__
|
||||||
|
// Borland
|
||||||
|
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM"
|
||||||
|
|
||||||
|
#elif defined __MWERKS__
|
||||||
|
// Metrowerks CodeWarrior
|
||||||
|
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd"
|
||||||
|
|
||||||
|
#elif defined __SUNPRO_CC
|
||||||
|
// Sun Workshop Compiler C++
|
||||||
|
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt"
|
||||||
|
|
||||||
|
#elif defined __HP_aCC
|
||||||
|
// HP aCC
|
||||||
|
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt"
|
||||||
|
|
||||||
|
#elif defined(__IBMCPP__)
|
||||||
|
// IBM Visual Age
|
||||||
|
# error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler"
|
||||||
|
|
||||||
|
#elif defined _MSC_VER
|
||||||
|
// Microsoft Visual C++
|
||||||
|
//
|
||||||
|
// Must remain the last #elif since some other vendors (Metrowerks, for
|
||||||
|
// example) also #define _MSC_VER
|
||||||
|
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd"
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
# error "Compiler threading support is not turned on. Please consult your compiler's documentation for the appropriate options to use"
|
||||||
|
|
||||||
|
#endif // compilers
|
||||||
|
|
||||||
|
#endif // BOOST_HAS_THREADS
|
||||||
|
|
||||||
|
#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP
|
47
boost/boost/config/warning_disable.hpp
Normal file
47
boost/boost/config/warning_disable.hpp
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
// Copyright John Maddock 2008
|
||||||
|
// Use, modification, and distribution is subject to the Boost Software
|
||||||
|
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
// This file exists to turn off some overly-pedantic warning emitted
|
||||||
|
// by certain compilers. You should include this header only in:
|
||||||
|
//
|
||||||
|
// * A test case, before any other headers, or,
|
||||||
|
// * A library source file before any other headers.
|
||||||
|
//
|
||||||
|
// IT SHOULD NOT BE INCLUDED BY ANY BOOST HEADER.
|
||||||
|
//
|
||||||
|
// YOU SHOULD NOT INCLUDE IT IF YOU CAN REASONABLY FIX THE WARNING.
|
||||||
|
//
|
||||||
|
// The only warnings disabled here are those that are:
|
||||||
|
//
|
||||||
|
// * Quite unreasonably pedantic.
|
||||||
|
// * Generally only emitted by a single compiler.
|
||||||
|
// * Can't easily be fixed: for example if the vendors own std lib
|
||||||
|
// code emits these warnings!
|
||||||
|
//
|
||||||
|
// Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS:
|
||||||
|
// not even std library ones! Doing so may turn the warning
|
||||||
|
// off too late to be of any use. For example the VC++ C4996
|
||||||
|
// warning can be omitted from <iosfwd> if that header is included
|
||||||
|
// before or by this one :-(
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef BOOST_CONFIG_WARNING_DISABLE_HPP
|
||||||
|
#define BOOST_CONFIG_WARNING_DISABLE_HPP
|
||||||
|
|
||||||
|
#if defined(_MSC_VER) && (_MSC_VER >= 1400)
|
||||||
|
// Error 'function': was declared deprecated
|
||||||
|
// http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx
|
||||||
|
// This error is emitted when you use some perfectly conforming
|
||||||
|
// std lib functions in a perfectly correct way, and also by
|
||||||
|
// some of Microsoft's own std lib code !
|
||||||
|
# pragma warning(disable:4996)
|
||||||
|
#endif
|
||||||
|
#if defined(__INTEL_COMPILER) || defined(__ICL)
|
||||||
|
// As above: gives warning when a "deprecated"
|
||||||
|
// std library function is encountered.
|
||||||
|
# pragma warning(disable:1786)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // BOOST_CONFIG_WARNING_DISABLE_HPP
|
99
boost/boost/detail/container_fwd.hpp
Normal file
99
boost/boost/detail/container_fwd.hpp
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
|
||||||
|
// Copyright 2005-2008 Daniel James.
|
||||||
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#if !defined(BOOST_DETAIL_CONTAINER_FWD_HPP)
|
||||||
|
#define BOOST_DETAIL_CONTAINER_FWD_HPP
|
||||||
|
|
||||||
|
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
||||||
|
# pragma once
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <boost/config.hpp>
|
||||||
|
#include <boost/detail/workaround.hpp>
|
||||||
|
|
||||||
|
#if BOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
|
||||||
|
#define BOOST_HASH_CHAR_TRAITS string_char_traits
|
||||||
|
#else
|
||||||
|
#define BOOST_HASH_CHAR_TRAITS char_traits
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ((defined(__GLIBCPP__) || defined(__GLIBCXX__)) && defined(_GLIBCXX_DEBUG)) \
|
||||||
|
|| BOOST_WORKAROUND(__BORLANDC__, > 0x551) \
|
||||||
|
|| BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x842)) \
|
||||||
|
|| (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))
|
||||||
|
|
||||||
|
#include <deque>
|
||||||
|
#include <list>
|
||||||
|
#include <vector>
|
||||||
|
#include <map>
|
||||||
|
#include <set>
|
||||||
|
#include <bitset>
|
||||||
|
#include <string>
|
||||||
|
#include <complex>
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#include <cstddef>
|
||||||
|
|
||||||
|
#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) && \
|
||||||
|
defined(__STL_CONFIG_H)
|
||||||
|
|
||||||
|
#define BOOST_CONTAINER_FWD_BAD_BITSET
|
||||||
|
|
||||||
|
#if !defined(__STL_NON_TYPE_TMPL_PARAM_BUG)
|
||||||
|
#define BOOST_CONTAINER_FWD_BAD_DEQUE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
|
||||||
|
#include <deque>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(BOOST_CONTAINER_FWD_BAD_BITSET)
|
||||||
|
#include <bitset>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(BOOST_MSVC)
|
||||||
|
#pragma warning(push)
|
||||||
|
#pragma warning(disable:4099) // struct/class mismatch in fwd declarations
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
template <class T> class allocator;
|
||||||
|
template <class charT, class traits, class Allocator> class basic_string;
|
||||||
|
template <class charT> struct BOOST_HASH_CHAR_TRAITS;
|
||||||
|
template <class T> class complex;
|
||||||
|
}
|
||||||
|
|
||||||
|
// gcc 3.4 and greater
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
#if !defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
|
||||||
|
template <class T, class Allocator> class deque;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
template <class T, class Allocator> class list;
|
||||||
|
template <class T, class Allocator> class vector;
|
||||||
|
template <class Key, class T, class Compare, class Allocator> class map;
|
||||||
|
template <class Key, class T, class Compare, class Allocator>
|
||||||
|
class multimap;
|
||||||
|
template <class Key, class Compare, class Allocator> class set;
|
||||||
|
template <class Key, class Compare, class Allocator> class multiset;
|
||||||
|
|
||||||
|
#if !defined(BOOST_CONTAINER_FWD_BAD_BITSET)
|
||||||
|
template <size_t N> class bitset;
|
||||||
|
#endif
|
||||||
|
template <class T1, class T2> struct pair;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(BOOST_MSVC)
|
||||||
|
#pragma warning(pop)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
34
boost/boost/exception/current_exception_cast.hpp
Normal file
34
boost/boost/exception/current_exception_cast.hpp
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
|
||||||
|
|
||||||
|
//Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
|
//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#ifndef UUID_7E83C166200811DE885E826156D89593
|
||||||
|
#define UUID_7E83C166200811DE885E826156D89593
|
||||||
|
|
||||||
|
namespace
|
||||||
|
boost
|
||||||
|
{
|
||||||
|
template <class E>
|
||||||
|
inline
|
||||||
|
E *
|
||||||
|
current_exception_cast()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
catch(
|
||||||
|
E & e )
|
||||||
|
{
|
||||||
|
return &e;
|
||||||
|
}
|
||||||
|
catch(
|
||||||
|
...)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
61
boost/boost/exception/detail/error_info_impl.hpp
Normal file
61
boost/boost/exception/detail/error_info_impl.hpp
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
|
||||||
|
|
||||||
|
//Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
|
//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#ifndef UUID_CE6983AC753411DDA764247956D89593
|
||||||
|
#define UUID_CE6983AC753411DDA764247956D89593
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace
|
||||||
|
boost
|
||||||
|
{
|
||||||
|
namespace
|
||||||
|
exception_detail
|
||||||
|
{
|
||||||
|
class
|
||||||
|
error_info_base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
virtual char const * tag_typeid_name() const = 0;
|
||||||
|
virtual std::string value_as_string() const = 0;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
virtual
|
||||||
|
~error_info_base() throw()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class Tag,class T>
|
||||||
|
class
|
||||||
|
error_info:
|
||||||
|
public exception_detail::error_info_base
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
typedef T value_type;
|
||||||
|
|
||||||
|
error_info( value_type const & value );
|
||||||
|
~error_info() throw();
|
||||||
|
|
||||||
|
value_type const &
|
||||||
|
value() const
|
||||||
|
{
|
||||||
|
return value_;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
char const * tag_typeid_name() const;
|
||||||
|
std::string value_as_string() const;
|
||||||
|
|
||||||
|
value_type const value_;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
130
boost/boost/exception/detail/type_info.hpp
Normal file
130
boost/boost/exception/detail/type_info.hpp
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
|
||||||
|
|
||||||
|
//Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
|
//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#ifndef UUID_C3E1741C754311DDB2834CCA55D89593
|
||||||
|
#define UUID_C3E1741C754311DDB2834CCA55D89593
|
||||||
|
|
||||||
|
#include <boost/detail/sp_typeinfo.hpp>
|
||||||
|
#include <boost/current_function.hpp>
|
||||||
|
|
||||||
|
namespace
|
||||||
|
boost
|
||||||
|
{
|
||||||
|
template <class T>
|
||||||
|
inline
|
||||||
|
char const *
|
||||||
|
tag_type_name()
|
||||||
|
{
|
||||||
|
#ifdef BOOST_NO_TYPEID
|
||||||
|
return BOOST_CURRENT_FUNCTION;
|
||||||
|
#else
|
||||||
|
return typeid(T*).name();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
inline
|
||||||
|
char const *
|
||||||
|
type_name()
|
||||||
|
{
|
||||||
|
#ifdef BOOST_NO_TYPEID
|
||||||
|
return BOOST_CURRENT_FUNCTION;
|
||||||
|
#else
|
||||||
|
return typeid(T).name();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace
|
||||||
|
exception_detail
|
||||||
|
{
|
||||||
|
#ifdef BOOST_NO_TYPEID
|
||||||
|
struct
|
||||||
|
type_info_
|
||||||
|
{
|
||||||
|
detail::sp_typeinfo type_;
|
||||||
|
char const * name_;
|
||||||
|
|
||||||
|
explicit
|
||||||
|
type_info_( detail::sp_typeinfo type, char const * name ):
|
||||||
|
type_(type),
|
||||||
|
name_(name)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
friend
|
||||||
|
bool
|
||||||
|
operator==( type_info_ const & a, type_info_ const & b )
|
||||||
|
{
|
||||||
|
return a.type_==b.type_;
|
||||||
|
}
|
||||||
|
|
||||||
|
friend
|
||||||
|
bool
|
||||||
|
operator<( type_info_ const & a, type_info_ const & b )
|
||||||
|
{
|
||||||
|
return a.type_<b.type_;
|
||||||
|
}
|
||||||
|
|
||||||
|
char const *
|
||||||
|
name() const
|
||||||
|
{
|
||||||
|
return name_;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
struct
|
||||||
|
type_info_
|
||||||
|
{
|
||||||
|
detail::sp_typeinfo const * type_;
|
||||||
|
|
||||||
|
explicit
|
||||||
|
type_info_( detail::sp_typeinfo const & type ):
|
||||||
|
type_(&type)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
type_info_( detail::sp_typeinfo const & type, char const * ):
|
||||||
|
type_(&type)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
friend
|
||||||
|
bool
|
||||||
|
operator==( type_info_ const & a, type_info_ const & b )
|
||||||
|
{
|
||||||
|
return (*a.type_)==(*b.type_);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend
|
||||||
|
bool
|
||||||
|
operator<( type_info_ const & a, type_info_ const & b )
|
||||||
|
{
|
||||||
|
return 0!=(a.type_->before(*b.type_));
|
||||||
|
}
|
||||||
|
|
||||||
|
char const *
|
||||||
|
name() const
|
||||||
|
{
|
||||||
|
return type_->name();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
inline
|
||||||
|
bool
|
||||||
|
operator!=( type_info_ const & a, type_info_ const & b )
|
||||||
|
{
|
||||||
|
return !(a==b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#define BOOST_EXCEPTION_STATIC_TYPEID(T) ::boost::exception_detail::type_info_(BOOST_SP_TYPEID(T),::boost::tag_type_name<T>())
|
||||||
|
|
||||||
|
#ifndef BOOST_NO_RTTI
|
||||||
|
#define BOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::boost::exception_detail::type_info_(typeid(x))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
100
boost/boost/exception/get_error_info.hpp
Normal file
100
boost/boost/exception/get_error_info.hpp
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
|
||||||
|
|
||||||
|
//Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
|
//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#ifndef UUID_1A590226753311DD9E4CCF6156D89593
|
||||||
|
#define UUID_1A590226753311DD9E4CCF6156D89593
|
||||||
|
|
||||||
|
#include <boost/exception/exception.hpp>
|
||||||
|
#include <boost/exception/detail/error_info_impl.hpp>
|
||||||
|
#include <boost/exception/detail/type_info.hpp>
|
||||||
|
#include <boost/shared_ptr.hpp>
|
||||||
|
|
||||||
|
namespace
|
||||||
|
boost
|
||||||
|
{
|
||||||
|
namespace
|
||||||
|
exception_detail
|
||||||
|
{
|
||||||
|
template <class ErrorInfo>
|
||||||
|
struct
|
||||||
|
get_info
|
||||||
|
{
|
||||||
|
static
|
||||||
|
typename ErrorInfo::value_type const *
|
||||||
|
get( exception const & x )
|
||||||
|
{
|
||||||
|
if( exception_detail::error_info_container * c=x.data_.get() )
|
||||||
|
if( shared_ptr<exception_detail::error_info_base const> eib = c->get(BOOST_EXCEPTION_STATIC_TYPEID(ErrorInfo)) )
|
||||||
|
{
|
||||||
|
#ifndef BOOST_NO_RTTI
|
||||||
|
BOOST_ASSERT( 0!=dynamic_cast<ErrorInfo const *>(eib.get()) );
|
||||||
|
#endif
|
||||||
|
ErrorInfo const * w = static_cast<ErrorInfo const *>(eib.get());
|
||||||
|
return &w->value();
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct
|
||||||
|
get_info<throw_function>
|
||||||
|
{
|
||||||
|
static
|
||||||
|
char const * const *
|
||||||
|
get( exception const & x )
|
||||||
|
{
|
||||||
|
return x.throw_function_ ? &x.throw_function_ : 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct
|
||||||
|
get_info<throw_file>
|
||||||
|
{
|
||||||
|
static
|
||||||
|
char const * const *
|
||||||
|
get( exception const & x )
|
||||||
|
{
|
||||||
|
return x.throw_file_ ? &x.throw_file_ : 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct
|
||||||
|
get_info<throw_line>
|
||||||
|
{
|
||||||
|
static
|
||||||
|
int const *
|
||||||
|
get( exception const & x )
|
||||||
|
{
|
||||||
|
return x.throw_line_!=-1 ? &x.throw_line_ : 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef BOOST_NO_RTTI
|
||||||
|
template <class ErrorInfo>
|
||||||
|
inline
|
||||||
|
typename ErrorInfo::value_type const *
|
||||||
|
get_error_info( boost::exception const & x )
|
||||||
|
{
|
||||||
|
return exception_detail::get_info<ErrorInfo>::get(x);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
template <class ErrorInfo,class E>
|
||||||
|
inline
|
||||||
|
typename ErrorInfo::value_type const *
|
||||||
|
get_error_info( E const & some_exception )
|
||||||
|
{
|
||||||
|
if( exception const * x = dynamic_cast<exception const *>(&some_exception) )
|
||||||
|
return exception_detail::get_info<ErrorInfo>::get(*x);
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
70
boost/boost/function/function_fwd.hpp
Normal file
70
boost/boost/function/function_fwd.hpp
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
// Boost.Function library
|
||||||
|
// Copyright (C) Douglas Gregor 2008
|
||||||
|
//
|
||||||
|
// Use, modification and distribution is subject to the Boost
|
||||||
|
// Software License, Version 1.0. (See accompanying file
|
||||||
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
// For more information, see http://www.boost.org
|
||||||
|
#ifndef BOOST_FUNCTION_FWD_HPP
|
||||||
|
#define BOOST_FUNCTION_FWD_HPP
|
||||||
|
#include <boost/config.hpp>
|
||||||
|
|
||||||
|
#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(BOOST_STRICT_CONFIG)
|
||||||
|
// Work around a compiler bug.
|
||||||
|
// boost::python::objects::function has to be seen by the compiler before the
|
||||||
|
// boost::function class template.
|
||||||
|
namespace boost { namespace python { namespace objects {
|
||||||
|
class function;
|
||||||
|
}}}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
||||||
|
|| defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) \
|
||||||
|
|| !(BOOST_STRICT_CONFIG || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
|
||||||
|
# define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
namespace boost {
|
||||||
|
class bad_function_call;
|
||||||
|
|
||||||
|
#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
|
||||||
|
// Preferred syntax
|
||||||
|
template<typename Signature> class function;
|
||||||
|
|
||||||
|
template<typename Signature>
|
||||||
|
inline void swap(function<Signature>& f1, function<Signature>& f2)
|
||||||
|
{
|
||||||
|
f1.swap(f2);
|
||||||
|
}
|
||||||
|
#endif // have partial specialization
|
||||||
|
|
||||||
|
// Portable syntax
|
||||||
|
template<typename R> class function0;
|
||||||
|
template<typename R, typename T1> class function1;
|
||||||
|
template<typename R, typename T1, typename T2> class function2;
|
||||||
|
template<typename R, typename T1, typename T2, typename T3> class function3;
|
||||||
|
template<typename R, typename T1, typename T2, typename T3, typename T4>
|
||||||
|
class function4;
|
||||||
|
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
||||||
|
typename T5>
|
||||||
|
class function5;
|
||||||
|
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
||||||
|
typename T5, typename T6>
|
||||||
|
class function6;
|
||||||
|
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
||||||
|
typename T5, typename T6, typename T7>
|
||||||
|
class function7;
|
||||||
|
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
||||||
|
typename T5, typename T6, typename T7, typename T8>
|
||||||
|
class function8;
|
||||||
|
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
||||||
|
typename T5, typename T6, typename T7, typename T8, typename T9>
|
||||||
|
class function9;
|
||||||
|
template<typename R, typename T1, typename T2, typename T3, typename T4,
|
||||||
|
typename T5, typename T6, typename T7, typename T8, typename T9,
|
||||||
|
typename T10>
|
||||||
|
class function10;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
45
boost/boost/function/function_typeof.hpp
Normal file
45
boost/boost/function/function_typeof.hpp
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
// Boost.Function library - Typeof support
|
||||||
|
// Copyright (C) Douglas Gregor 2008
|
||||||
|
//
|
||||||
|
// Use, modification and distribution is subject to the Boost
|
||||||
|
// Software License, Version 1.0. (See accompanying file
|
||||||
|
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
// For more information, see http://www.boost.org
|
||||||
|
#ifndef BOOST_FUNCTION_TYPEOF_HPP
|
||||||
|
#define BOOST_FUNCTION_TYPEOF_HPP
|
||||||
|
#include <boost/function/function_fwd.hpp>
|
||||||
|
#include <boost/typeof/typeof.hpp>
|
||||||
|
|
||||||
|
#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
|
||||||
|
|
||||||
|
BOOST_TYPEOF_REGISTER_TYPE(boost::bad_function_call)
|
||||||
|
|
||||||
|
#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
|
||||||
|
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function, (typename))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function0, (typename))
|
||||||
|
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function1, (typename)(typename))
|
||||||
|
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function2, (typename)(typename)(typename))
|
||||||
|
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function3,
|
||||||
|
(typename)(typename)(typename)(typename))
|
||||||
|
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function4,
|
||||||
|
(typename)(typename)(typename)(typename)(typename))
|
||||||
|
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function5,
|
||||||
|
(typename)(typename)(typename)(typename)(typename)(typename))
|
||||||
|
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function6,
|
||||||
|
(typename)(typename)(typename)(typename)(typename)(typename)(typename))
|
||||||
|
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function7,
|
||||||
|
(typename)(typename)(typename)(typename)(typename)(typename)(typename)
|
||||||
|
(typename))
|
||||||
|
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function8,
|
||||||
|
(typename)(typename)(typename)(typename)(typename)(typename)(typename)
|
||||||
|
(typename)(typename))
|
||||||
|
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function9,
|
||||||
|
(typename)(typename)(typename)(typename)(typename)(typename)(typename)
|
||||||
|
(typename)(typename)(typename))
|
||||||
|
BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function10,
|
||||||
|
(typename)(typename)(typename)(typename)(typename)(typename)(typename)
|
||||||
|
(typename)(typename)(typename)(typename))
|
||||||
|
#endif
|
215
boost/boost/iterator/counting_iterator.hpp
Normal file
215
boost/boost/iterator/counting_iterator.hpp
Normal file
@ -0,0 +1,215 @@
|
|||||||
|
// Copyright David Abrahams 2003.
|
||||||
|
// Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
// accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
#ifndef COUNTING_ITERATOR_DWA200348_HPP
|
||||||
|
# define COUNTING_ITERATOR_DWA200348_HPP
|
||||||
|
|
||||||
|
# include <boost/iterator/iterator_adaptor.hpp>
|
||||||
|
# include <boost/detail/numeric_traits.hpp>
|
||||||
|
# include <boost/mpl/bool.hpp>
|
||||||
|
# include <boost/mpl/if.hpp>
|
||||||
|
# include <boost/mpl/identity.hpp>
|
||||||
|
# include <boost/mpl/eval_if.hpp>
|
||||||
|
|
||||||
|
namespace boost {
|
||||||
|
|
||||||
|
template <
|
||||||
|
class Incrementable
|
||||||
|
, class CategoryOrTraversal
|
||||||
|
, class Difference
|
||||||
|
>
|
||||||
|
class counting_iterator;
|
||||||
|
|
||||||
|
namespace detail
|
||||||
|
{
|
||||||
|
// Try to detect numeric types at compile time in ways compatible
|
||||||
|
// with the limitations of the compiler and library.
|
||||||
|
template <class T>
|
||||||
|
struct is_numeric_impl
|
||||||
|
{
|
||||||
|
// For a while, this wasn't true, but we rely on it below. This is a regression assert.
|
||||||
|
BOOST_STATIC_ASSERT(::boost::is_integral<char>::value);
|
||||||
|
|
||||||
|
# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||||
|
|
||||||
|
BOOST_STATIC_CONSTANT(bool, value = std::numeric_limits<T>::is_specialized);
|
||||||
|
|
||||||
|
# else
|
||||||
|
|
||||||
|
# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
|
||||||
|
BOOST_STATIC_CONSTANT(
|
||||||
|
bool, value = (
|
||||||
|
boost::is_convertible<int,T>::value
|
||||||
|
&& boost::is_convertible<T,int>::value
|
||||||
|
));
|
||||||
|
# else
|
||||||
|
BOOST_STATIC_CONSTANT(bool, value = ::boost::is_arithmetic<T>::value);
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
struct is_numeric
|
||||||
|
: mpl::bool_<(::boost::detail::is_numeric_impl<T>::value)>
|
||||||
|
{};
|
||||||
|
|
||||||
|
# if defined(BOOST_HAS_LONG_LONG)
|
||||||
|
template <>
|
||||||
|
struct is_numeric< ::boost::long_long_type>
|
||||||
|
: mpl::true_ {};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct is_numeric< ::boost::ulong_long_type>
|
||||||
|
: mpl::true_ {};
|
||||||
|
# endif
|
||||||
|
|
||||||
|
// Some compilers fail to have a numeric_limits specialization
|
||||||
|
template <>
|
||||||
|
struct is_numeric<wchar_t>
|
||||||
|
: mpl::true_ {};
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
struct numeric_difference
|
||||||
|
{
|
||||||
|
typedef typename boost::detail::numeric_traits<T>::difference_type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_STATIC_ASSERT(is_numeric<int>::value);
|
||||||
|
|
||||||
|
template <class Incrementable, class CategoryOrTraversal, class Difference>
|
||||||
|
struct counting_iterator_base
|
||||||
|
{
|
||||||
|
typedef typename detail::ia_dflt_help<
|
||||||
|
CategoryOrTraversal
|
||||||
|
, mpl::eval_if<
|
||||||
|
is_numeric<Incrementable>
|
||||||
|
, mpl::identity<random_access_traversal_tag>
|
||||||
|
, iterator_traversal<Incrementable>
|
||||||
|
>
|
||||||
|
>::type traversal;
|
||||||
|
|
||||||
|
typedef typename detail::ia_dflt_help<
|
||||||
|
Difference
|
||||||
|
, mpl::eval_if<
|
||||||
|
is_numeric<Incrementable>
|
||||||
|
, numeric_difference<Incrementable>
|
||||||
|
, iterator_difference<Incrementable>
|
||||||
|
>
|
||||||
|
>::type difference;
|
||||||
|
|
||||||
|
typedef iterator_adaptor<
|
||||||
|
counting_iterator<Incrementable, CategoryOrTraversal, Difference> // self
|
||||||
|
, Incrementable // Base
|
||||||
|
, Incrementable // Value
|
||||||
|
# ifndef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY
|
||||||
|
const // MSVC won't strip this. Instead we enable Thomas'
|
||||||
|
// criterion (see boost/iterator/detail/facade_iterator_category.hpp)
|
||||||
|
# endif
|
||||||
|
, traversal
|
||||||
|
, Incrementable const& // reference
|
||||||
|
, difference
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Template class distance_policy_select -- choose a policy for computing the
|
||||||
|
// distance between counting_iterators at compile-time based on whether or not
|
||||||
|
// the iterator wraps an integer or an iterator, using "poor man's partial
|
||||||
|
// specialization".
|
||||||
|
|
||||||
|
template <bool is_integer> struct distance_policy_select;
|
||||||
|
|
||||||
|
// A policy for wrapped iterators
|
||||||
|
template <class Difference, class Incrementable1, class Incrementable2>
|
||||||
|
struct iterator_distance
|
||||||
|
{
|
||||||
|
static Difference distance(Incrementable1 x, Incrementable2 y)
|
||||||
|
{
|
||||||
|
return y - x;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// A policy for wrapped numbers
|
||||||
|
template <class Difference, class Incrementable1, class Incrementable2>
|
||||||
|
struct number_distance
|
||||||
|
{
|
||||||
|
static Difference distance(Incrementable1 x, Incrementable2 y)
|
||||||
|
{
|
||||||
|
return numeric_distance(x, y);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
template <
|
||||||
|
class Incrementable
|
||||||
|
, class CategoryOrTraversal = use_default
|
||||||
|
, class Difference = use_default
|
||||||
|
>
|
||||||
|
class counting_iterator
|
||||||
|
: public detail::counting_iterator_base<
|
||||||
|
Incrementable, CategoryOrTraversal, Difference
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
typedef typename detail::counting_iterator_base<
|
||||||
|
Incrementable, CategoryOrTraversal, Difference
|
||||||
|
>::type super_t;
|
||||||
|
|
||||||
|
friend class iterator_core_access;
|
||||||
|
|
||||||
|
public:
|
||||||
|
typedef typename super_t::difference_type difference_type;
|
||||||
|
|
||||||
|
counting_iterator() { }
|
||||||
|
|
||||||
|
counting_iterator(counting_iterator const& rhs) : super_t(rhs.base()) {}
|
||||||
|
|
||||||
|
counting_iterator(Incrementable x)
|
||||||
|
: super_t(x)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
# if 0
|
||||||
|
template<class OtherIncrementable>
|
||||||
|
counting_iterator(
|
||||||
|
counting_iterator<OtherIncrementable, CategoryOrTraversal, Difference> const& t
|
||||||
|
, typename enable_if_convertible<OtherIncrementable, Incrementable>::type* = 0
|
||||||
|
)
|
||||||
|
: super_t(t.base())
|
||||||
|
{}
|
||||||
|
# endif
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
typename super_t::reference dereference() const
|
||||||
|
{
|
||||||
|
return this->base_reference();
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class OtherIncrementable>
|
||||||
|
difference_type
|
||||||
|
distance_to(counting_iterator<OtherIncrementable, CategoryOrTraversal, Difference> const& y) const
|
||||||
|
{
|
||||||
|
typedef typename mpl::if_<
|
||||||
|
detail::is_numeric<Incrementable>
|
||||||
|
, detail::number_distance<difference_type, Incrementable, OtherIncrementable>
|
||||||
|
, detail::iterator_distance<difference_type, Incrementable, OtherIncrementable>
|
||||||
|
>::type d;
|
||||||
|
|
||||||
|
return d::distance(this->base(), y.base());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Manufacture a counting iterator for an arbitrary incrementable type
|
||||||
|
template <class Incrementable>
|
||||||
|
inline counting_iterator<Incrementable>
|
||||||
|
make_counting_iterator(Incrementable x)
|
||||||
|
{
|
||||||
|
typedef counting_iterator<Incrementable> result_t;
|
||||||
|
return result_t(x);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace boost::iterator
|
||||||
|
|
||||||
|
#endif // COUNTING_ITERATOR_DWA200348_HPP
|
19
boost/boost/iterator/detail/any_conversion_eater.hpp
Normal file
19
boost/boost/iterator/detail/any_conversion_eater.hpp
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
// Copyright David Abrahams 2003. Use, modification and distribution is
|
||||||
|
// subject to the Boost Software License, Version 1.0. (See accompanying
|
||||||
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
#ifndef ANY_CONVERSION_EATER_DWA20031117_HPP
|
||||||
|
# define ANY_CONVERSION_EATER_DWA20031117_HPP
|
||||||
|
|
||||||
|
namespace boost { namespace detail {
|
||||||
|
|
||||||
|
// This type can be used in traits to "eat" up the one user-defined
|
||||||
|
// implicit conversion allowed.
|
||||||
|
struct any_conversion_eater
|
||||||
|
{
|
||||||
|
template <class T>
|
||||||
|
any_conversion_eater(T const&);
|
||||||
|
};
|
||||||
|
|
||||||
|
}} // namespace boost::detail
|
||||||
|
|
||||||
|
#endif // ANY_CONVERSION_EATER_DWA20031117_HPP
|
150
boost/boost/iterator/is_lvalue_iterator.hpp
Normal file
150
boost/boost/iterator/is_lvalue_iterator.hpp
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
// Copyright David Abrahams 2003. Use, modification and distribution is
|
||||||
|
// subject to the Boost Software License, Version 1.0. (See accompanying
|
||||||
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
#ifndef IS_LVALUE_ITERATOR_DWA2003112_HPP
|
||||||
|
# define IS_LVALUE_ITERATOR_DWA2003112_HPP
|
||||||
|
|
||||||
|
#include <boost/iterator.hpp>
|
||||||
|
|
||||||
|
#include <boost/detail/workaround.hpp>
|
||||||
|
#include <boost/detail/iterator.hpp>
|
||||||
|
|
||||||
|
#include <boost/iterator/detail/any_conversion_eater.hpp>
|
||||||
|
|
||||||
|
// should be the last #includes
|
||||||
|
#include <boost/type_traits/detail/bool_trait_def.hpp>
|
||||||
|
#include <boost/iterator/detail/config_def.hpp>
|
||||||
|
|
||||||
|
#ifndef BOOST_NO_IS_CONVERTIBLE
|
||||||
|
|
||||||
|
namespace boost {
|
||||||
|
|
||||||
|
namespace detail
|
||||||
|
{
|
||||||
|
#ifndef BOOST_NO_LVALUE_RETURN_DETECTION
|
||||||
|
// Calling lvalue_preserver( <expression>, 0 ) returns a reference
|
||||||
|
// to the expression's result if <expression> is an lvalue, or
|
||||||
|
// not_an_lvalue() otherwise.
|
||||||
|
struct not_an_lvalue {};
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
T& lvalue_preserver(T&, int);
|
||||||
|
|
||||||
|
template <class U>
|
||||||
|
not_an_lvalue lvalue_preserver(U const&, ...);
|
||||||
|
|
||||||
|
# define BOOST_LVALUE_PRESERVER(expr) detail::lvalue_preserver(expr,0)
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
# define BOOST_LVALUE_PRESERVER(expr) expr
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Guts of is_lvalue_iterator. Value is the iterator's value_type
|
||||||
|
// and the result is computed in the nested rebind template.
|
||||||
|
template <class Value>
|
||||||
|
struct is_lvalue_iterator_impl
|
||||||
|
{
|
||||||
|
// Eat implicit conversions so we don't report true for things
|
||||||
|
// convertible to Value const&
|
||||||
|
struct conversion_eater
|
||||||
|
{
|
||||||
|
conversion_eater(Value&);
|
||||||
|
};
|
||||||
|
|
||||||
|
static char tester(conversion_eater, int);
|
||||||
|
static char (& tester(any_conversion_eater, ...) )[2];
|
||||||
|
|
||||||
|
template <class It>
|
||||||
|
struct rebind
|
||||||
|
{
|
||||||
|
static It& x;
|
||||||
|
|
||||||
|
BOOST_STATIC_CONSTANT(
|
||||||
|
bool
|
||||||
|
, value = (
|
||||||
|
sizeof(
|
||||||
|
is_lvalue_iterator_impl<Value>::tester(
|
||||||
|
BOOST_LVALUE_PRESERVER(*x), 0
|
||||||
|
)
|
||||||
|
) == 1
|
||||||
|
)
|
||||||
|
);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#undef BOOST_LVALUE_PRESERVER
|
||||||
|
|
||||||
|
//
|
||||||
|
// void specializations to handle std input and output iterators
|
||||||
|
//
|
||||||
|
template <>
|
||||||
|
struct is_lvalue_iterator_impl<void>
|
||||||
|
{
|
||||||
|
template <class It>
|
||||||
|
struct rebind : boost::mpl::false_
|
||||||
|
{};
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||||
|
template <>
|
||||||
|
struct is_lvalue_iterator_impl<const void>
|
||||||
|
{
|
||||||
|
template <class It>
|
||||||
|
struct rebind : boost::mpl::false_
|
||||||
|
{};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct is_lvalue_iterator_impl<volatile void>
|
||||||
|
{
|
||||||
|
template <class It>
|
||||||
|
struct rebind : boost::mpl::false_
|
||||||
|
{};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct is_lvalue_iterator_impl<const volatile void>
|
||||||
|
{
|
||||||
|
template <class It>
|
||||||
|
struct rebind : boost::mpl::false_
|
||||||
|
{};
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// This level of dispatching is required for Borland. We might save
|
||||||
|
// an instantiation by removing it for others.
|
||||||
|
//
|
||||||
|
template <class It>
|
||||||
|
struct is_readable_lvalue_iterator_impl
|
||||||
|
: is_lvalue_iterator_impl<
|
||||||
|
BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<It>::value_type const
|
||||||
|
>::template rebind<It>
|
||||||
|
{};
|
||||||
|
|
||||||
|
template <class It>
|
||||||
|
struct is_non_const_lvalue_iterator_impl
|
||||||
|
: is_lvalue_iterator_impl<
|
||||||
|
BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<It>::value_type
|
||||||
|
>::template rebind<It>
|
||||||
|
{};
|
||||||
|
} // namespace detail
|
||||||
|
|
||||||
|
// Define the trait with full mpl lambda capability and various broken
|
||||||
|
// compiler workarounds
|
||||||
|
BOOST_TT_AUX_BOOL_TRAIT_DEF1(
|
||||||
|
is_lvalue_iterator,T,::boost::detail::is_readable_lvalue_iterator_impl<T>::value)
|
||||||
|
|
||||||
|
BOOST_TT_AUX_BOOL_TRAIT_DEF1(
|
||||||
|
is_non_const_lvalue_iterator,T,::boost::detail::is_non_const_lvalue_iterator_impl<T>::value)
|
||||||
|
|
||||||
|
} // namespace boost
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <boost/iterator/detail/config_undef.hpp>
|
||||||
|
#include <boost/type_traits/detail/bool_trait_undef.hpp>
|
||||||
|
|
||||||
|
#endif // IS_LVALUE_ITERATOR_DWA2003112_HPP
|
108
boost/boost/iterator/is_readable_iterator.hpp
Normal file
108
boost/boost/iterator/is_readable_iterator.hpp
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
// Copyright David Abrahams 2003. Use, modification and distribution is
|
||||||
|
// subject to the Boost Software License, Version 1.0. (See accompanying
|
||||||
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
#ifndef IS_READABLE_ITERATOR_DWA2003112_HPP
|
||||||
|
# define IS_READABLE_ITERATOR_DWA2003112_HPP
|
||||||
|
|
||||||
|
#include <boost/mpl/bool.hpp>
|
||||||
|
#include <boost/detail/iterator.hpp>
|
||||||
|
|
||||||
|
#include <boost/type_traits/detail/bool_trait_def.hpp>
|
||||||
|
#include <boost/iterator/detail/any_conversion_eater.hpp>
|
||||||
|
|
||||||
|
// should be the last #include
|
||||||
|
#include <boost/iterator/detail/config_def.hpp>
|
||||||
|
|
||||||
|
#ifndef BOOST_NO_IS_CONVERTIBLE
|
||||||
|
|
||||||
|
namespace boost {
|
||||||
|
|
||||||
|
namespace detail
|
||||||
|
{
|
||||||
|
// Guts of is_readable_iterator. Value is the iterator's value_type
|
||||||
|
// and the result is computed in the nested rebind template.
|
||||||
|
template <class Value>
|
||||||
|
struct is_readable_iterator_impl
|
||||||
|
{
|
||||||
|
static char tester(Value&, int);
|
||||||
|
static char (& tester(any_conversion_eater, ...) )[2];
|
||||||
|
|
||||||
|
template <class It>
|
||||||
|
struct rebind
|
||||||
|
{
|
||||||
|
static It& x;
|
||||||
|
|
||||||
|
BOOST_STATIC_CONSTANT(
|
||||||
|
bool
|
||||||
|
, value = (
|
||||||
|
sizeof(
|
||||||
|
is_readable_iterator_impl<Value>::tester(*x, 1)
|
||||||
|
) == 1
|
||||||
|
)
|
||||||
|
);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#undef BOOST_READABLE_PRESERVER
|
||||||
|
|
||||||
|
//
|
||||||
|
// void specializations to handle std input and output iterators
|
||||||
|
//
|
||||||
|
template <>
|
||||||
|
struct is_readable_iterator_impl<void>
|
||||||
|
{
|
||||||
|
template <class It>
|
||||||
|
struct rebind : boost::mpl::false_
|
||||||
|
{};
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||||
|
template <>
|
||||||
|
struct is_readable_iterator_impl<const void>
|
||||||
|
{
|
||||||
|
template <class It>
|
||||||
|
struct rebind : boost::mpl::false_
|
||||||
|
{};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct is_readable_iterator_impl<volatile void>
|
||||||
|
{
|
||||||
|
template <class It>
|
||||||
|
struct rebind : boost::mpl::false_
|
||||||
|
{};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct is_readable_iterator_impl<const volatile void>
|
||||||
|
{
|
||||||
|
template <class It>
|
||||||
|
struct rebind : boost::mpl::false_
|
||||||
|
{};
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// This level of dispatching is required for Borland. We might save
|
||||||
|
// an instantiation by removing it for others.
|
||||||
|
//
|
||||||
|
template <class It>
|
||||||
|
struct is_readable_iterator_impl2
|
||||||
|
: is_readable_iterator_impl<
|
||||||
|
BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<It>::value_type const
|
||||||
|
>::template rebind<It>
|
||||||
|
{};
|
||||||
|
} // namespace detail
|
||||||
|
|
||||||
|
// Define the trait with full mpl lambda capability and various broken
|
||||||
|
// compiler workarounds
|
||||||
|
BOOST_TT_AUX_BOOL_TRAIT_DEF1(
|
||||||
|
is_readable_iterator,T,::boost::detail::is_readable_iterator_impl2<T>::value)
|
||||||
|
|
||||||
|
} // namespace boost
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <boost/iterator/detail/config_undef.hpp>
|
||||||
|
|
||||||
|
#endif // IS_READABLE_ITERATOR_DWA2003112_HPP
|
515
boost/boost/iterator/iterator_archetypes.hpp
Normal file
515
boost/boost/iterator/iterator_archetypes.hpp
Normal file
@ -0,0 +1,515 @@
|
|||||||
|
// (C) Copyright Jeremy Siek 2002.
|
||||||
|
// Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
// accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#ifndef BOOST_ITERATOR_ARCHETYPES_HPP
|
||||||
|
#define BOOST_ITERATOR_ARCHETYPES_HPP
|
||||||
|
|
||||||
|
#include <boost/iterator/iterator_categories.hpp>
|
||||||
|
#include <boost/operators.hpp>
|
||||||
|
#include <boost/static_assert.hpp>
|
||||||
|
#include <boost/iterator.hpp>
|
||||||
|
|
||||||
|
#include <boost/iterator/detail/facade_iterator_category.hpp>
|
||||||
|
|
||||||
|
#include <boost/type_traits/is_const.hpp>
|
||||||
|
#include <boost/type_traits/add_const.hpp>
|
||||||
|
#include <boost/type_traits/remove_const.hpp>
|
||||||
|
#include <boost/type_traits/remove_cv.hpp>
|
||||||
|
|
||||||
|
#include <boost/concept_archetype.hpp>
|
||||||
|
|
||||||
|
#include <boost/mpl/aux_/msvc_eti_base.hpp>
|
||||||
|
#include <boost/mpl/bitand.hpp>
|
||||||
|
#include <boost/mpl/int.hpp>
|
||||||
|
#include <boost/mpl/equal_to.hpp>
|
||||||
|
#include <boost/mpl/if.hpp>
|
||||||
|
#include <boost/mpl/eval_if.hpp>
|
||||||
|
#include <boost/mpl/and.hpp>
|
||||||
|
#include <boost/mpl/identity.hpp>
|
||||||
|
|
||||||
|
#include <cstddef>
|
||||||
|
|
||||||
|
namespace boost {
|
||||||
|
|
||||||
|
template <class Value, class AccessCategory>
|
||||||
|
struct access_archetype;
|
||||||
|
|
||||||
|
template <class Derived, class Value, class AccessCategory, class TraversalCategory>
|
||||||
|
struct traversal_archetype;
|
||||||
|
|
||||||
|
namespace iterator_archetypes
|
||||||
|
{
|
||||||
|
enum {
|
||||||
|
readable_iterator_bit = 1
|
||||||
|
, writable_iterator_bit = 2
|
||||||
|
, swappable_iterator_bit = 4
|
||||||
|
, lvalue_iterator_bit = 8
|
||||||
|
};
|
||||||
|
|
||||||
|
// Not quite tags, since dispatching wouldn't work.
|
||||||
|
typedef mpl::int_<readable_iterator_bit>::type readable_iterator_t;
|
||||||
|
typedef mpl::int_<writable_iterator_bit>::type writable_iterator_t;
|
||||||
|
|
||||||
|
typedef mpl::int_<
|
||||||
|
(readable_iterator_bit|writable_iterator_bit)
|
||||||
|
>::type readable_writable_iterator_t;
|
||||||
|
|
||||||
|
typedef mpl::int_<
|
||||||
|
(readable_iterator_bit|lvalue_iterator_bit)
|
||||||
|
>::type readable_lvalue_iterator_t;
|
||||||
|
|
||||||
|
typedef mpl::int_<
|
||||||
|
(lvalue_iterator_bit|writable_iterator_bit)
|
||||||
|
>::type writable_lvalue_iterator_t;
|
||||||
|
|
||||||
|
typedef mpl::int_<swappable_iterator_bit>::type swappable_iterator_t;
|
||||||
|
typedef mpl::int_<lvalue_iterator_bit>::type lvalue_iterator_t;
|
||||||
|
|
||||||
|
template <class Derived, class Base>
|
||||||
|
struct has_access
|
||||||
|
: mpl::equal_to<
|
||||||
|
mpl::bitand_<Derived,Base>
|
||||||
|
, Base
|
||||||
|
>
|
||||||
|
{};
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace detail
|
||||||
|
{
|
||||||
|
template <class T>
|
||||||
|
struct assign_proxy
|
||||||
|
{
|
||||||
|
assign_proxy& operator=(T) { return *this; }
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
struct read_proxy
|
||||||
|
{
|
||||||
|
operator T() { return static_object<T>::get(); }
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
struct read_write_proxy
|
||||||
|
: read_proxy<T> // Use to inherit from assign_proxy, but that doesn't work. -JGS
|
||||||
|
{
|
||||||
|
read_write_proxy& operator=(T) { return *this; }
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
struct arrow_proxy
|
||||||
|
{
|
||||||
|
T const* operator->() const { return 0; }
|
||||||
|
};
|
||||||
|
|
||||||
|
struct no_operator_brackets {};
|
||||||
|
|
||||||
|
template <class ValueType>
|
||||||
|
struct readable_operator_brackets
|
||||||
|
{
|
||||||
|
read_proxy<ValueType> operator[](std::ptrdiff_t n) const { return read_proxy<ValueType>(); }
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class ValueType>
|
||||||
|
struct writable_operator_brackets
|
||||||
|
{
|
||||||
|
read_write_proxy<ValueType> operator[](std::ptrdiff_t n) const { return read_write_proxy<ValueType>(); }
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class Value, class AccessCategory, class TraversalCategory>
|
||||||
|
struct operator_brackets
|
||||||
|
: mpl::aux::msvc_eti_base<
|
||||||
|
typename mpl::eval_if<
|
||||||
|
is_convertible<TraversalCategory, random_access_traversal_tag>
|
||||||
|
, mpl::eval_if<
|
||||||
|
iterator_archetypes::has_access<
|
||||||
|
AccessCategory
|
||||||
|
, iterator_archetypes::writable_iterator_t
|
||||||
|
>
|
||||||
|
, mpl::identity<writable_operator_brackets<Value> >
|
||||||
|
, mpl::if_<
|
||||||
|
iterator_archetypes::has_access<
|
||||||
|
AccessCategory
|
||||||
|
, iterator_archetypes::readable_iterator_t
|
||||||
|
>
|
||||||
|
, readable_operator_brackets<Value>
|
||||||
|
, no_operator_brackets
|
||||||
|
>
|
||||||
|
>
|
||||||
|
, mpl::identity<no_operator_brackets>
|
||||||
|
>::type
|
||||||
|
>::type
|
||||||
|
{};
|
||||||
|
|
||||||
|
template <class TraversalCategory>
|
||||||
|
struct traversal_archetype_impl
|
||||||
|
{
|
||||||
|
template <class Derived,class Value> struct archetype;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Constructor argument for those iterators that
|
||||||
|
// are not default constructible
|
||||||
|
struct ctor_arg {};
|
||||||
|
|
||||||
|
template <class Derived, class Value, class TraversalCategory>
|
||||||
|
struct traversal_archetype_
|
||||||
|
: mpl::aux::msvc_eti_base<
|
||||||
|
typename traversal_archetype_impl<TraversalCategory>::template archetype<Derived,Value>
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
typedef typename
|
||||||
|
traversal_archetype_impl<TraversalCategory>::template archetype<Derived,Value>
|
||||||
|
base;
|
||||||
|
|
||||||
|
traversal_archetype_() {}
|
||||||
|
|
||||||
|
traversal_archetype_(ctor_arg arg)
|
||||||
|
: base(arg)
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct traversal_archetype_impl<incrementable_traversal_tag>
|
||||||
|
{
|
||||||
|
template<class Derived, class Value>
|
||||||
|
struct archetype
|
||||||
|
{
|
||||||
|
explicit archetype(ctor_arg) {}
|
||||||
|
|
||||||
|
struct bogus { }; // This use to be void, but that causes trouble for iterator_facade. Need more research. -JGS
|
||||||
|
typedef bogus difference_type;
|
||||||
|
|
||||||
|
Derived& operator++() { return (Derived&)static_object<Derived>::get(); }
|
||||||
|
Derived operator++(int) const { return (Derived&)static_object<Derived>::get(); }
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct traversal_archetype_impl<single_pass_traversal_tag>
|
||||||
|
{
|
||||||
|
template<class Derived, class Value>
|
||||||
|
struct archetype
|
||||||
|
: public equality_comparable< traversal_archetype_<Derived, Value, single_pass_traversal_tag> >,
|
||||||
|
public traversal_archetype_<Derived, Value, incrementable_traversal_tag>
|
||||||
|
{
|
||||||
|
explicit archetype(ctor_arg arg)
|
||||||
|
: traversal_archetype_<Derived, Value, incrementable_traversal_tag>(arg)
|
||||||
|
{}
|
||||||
|
|
||||||
|
typedef std::ptrdiff_t difference_type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class Derived, class Value>
|
||||||
|
bool operator==(traversal_archetype_<Derived, Value, single_pass_traversal_tag> const&,
|
||||||
|
traversal_archetype_<Derived, Value, single_pass_traversal_tag> const&) { return true; }
|
||||||
|
|
||||||
|
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
|
||||||
|
// doesn't seem to pick up != from equality_comparable
|
||||||
|
template <class Derived, class Value>
|
||||||
|
bool operator!=(traversal_archetype_<Derived, Value, single_pass_traversal_tag> const&,
|
||||||
|
traversal_archetype_<Derived, Value, single_pass_traversal_tag> const&) { return true; }
|
||||||
|
#endif
|
||||||
|
template <>
|
||||||
|
struct traversal_archetype_impl<forward_traversal_tag>
|
||||||
|
{
|
||||||
|
template<class Derived, class Value>
|
||||||
|
struct archetype
|
||||||
|
: public traversal_archetype_<Derived, Value, single_pass_traversal_tag>
|
||||||
|
{
|
||||||
|
archetype()
|
||||||
|
: traversal_archetype_<Derived, Value, single_pass_traversal_tag>(ctor_arg())
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct traversal_archetype_impl<bidirectional_traversal_tag>
|
||||||
|
{
|
||||||
|
template<class Derived, class Value>
|
||||||
|
struct archetype
|
||||||
|
: public traversal_archetype_<Derived, Value, forward_traversal_tag>
|
||||||
|
{
|
||||||
|
Derived& operator--() { return static_object<Derived>::get(); }
|
||||||
|
Derived operator--(int) const { return static_object<Derived>::get(); }
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct traversal_archetype_impl<random_access_traversal_tag>
|
||||||
|
{
|
||||||
|
template<class Derived, class Value>
|
||||||
|
struct archetype
|
||||||
|
: public traversal_archetype_<Derived, Value, bidirectional_traversal_tag>
|
||||||
|
{
|
||||||
|
Derived& operator+=(std::ptrdiff_t) { return static_object<Derived>::get(); }
|
||||||
|
Derived& operator-=(std::ptrdiff_t) { return static_object<Derived>::get(); }
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class Derived, class Value>
|
||||||
|
Derived& operator+(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
|
||||||
|
std::ptrdiff_t) { return static_object<Derived>::get(); }
|
||||||
|
|
||||||
|
template <class Derived, class Value>
|
||||||
|
Derived& operator+(std::ptrdiff_t,
|
||||||
|
traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)
|
||||||
|
{ return static_object<Derived>::get(); }
|
||||||
|
|
||||||
|
template <class Derived, class Value>
|
||||||
|
Derived& operator-(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
|
||||||
|
std::ptrdiff_t)
|
||||||
|
{ return static_object<Derived>::get(); }
|
||||||
|
|
||||||
|
template <class Derived, class Value>
|
||||||
|
std::ptrdiff_t operator-(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
|
||||||
|
traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)
|
||||||
|
{ return 0; }
|
||||||
|
|
||||||
|
template <class Derived, class Value>
|
||||||
|
bool operator<(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
|
||||||
|
traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)
|
||||||
|
{ return true; }
|
||||||
|
|
||||||
|
template <class Derived, class Value>
|
||||||
|
bool operator>(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
|
||||||
|
traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)
|
||||||
|
{ return true; }
|
||||||
|
|
||||||
|
template <class Derived, class Value>
|
||||||
|
bool operator<=(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
|
||||||
|
traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)
|
||||||
|
{ return true; }
|
||||||
|
|
||||||
|
template <class Derived, class Value>
|
||||||
|
bool operator>=(traversal_archetype_<Derived, Value, random_access_traversal_tag> const&,
|
||||||
|
traversal_archetype_<Derived, Value, random_access_traversal_tag> const&)
|
||||||
|
{ return true; }
|
||||||
|
|
||||||
|
struct bogus_type;
|
||||||
|
|
||||||
|
template <class Value>
|
||||||
|
struct convertible_type
|
||||||
|
: mpl::if_< is_const<Value>,
|
||||||
|
typename remove_const<Value>::type,
|
||||||
|
bogus_type >
|
||||||
|
{};
|
||||||
|
|
||||||
|
} // namespace detail
|
||||||
|
|
||||||
|
|
||||||
|
template <class> struct undefined;
|
||||||
|
|
||||||
|
template <class AccessCategory>
|
||||||
|
struct iterator_access_archetype_impl
|
||||||
|
{
|
||||||
|
template <class Value> struct archetype;
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class Value, class AccessCategory>
|
||||||
|
struct iterator_access_archetype
|
||||||
|
: mpl::aux::msvc_eti_base<
|
||||||
|
typename iterator_access_archetype_impl<
|
||||||
|
AccessCategory
|
||||||
|
>::template archetype<Value>
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct iterator_access_archetype_impl<
|
||||||
|
iterator_archetypes::readable_iterator_t
|
||||||
|
>
|
||||||
|
{
|
||||||
|
template <class Value>
|
||||||
|
struct archetype
|
||||||
|
{
|
||||||
|
typedef typename remove_cv<Value>::type value_type;
|
||||||
|
typedef Value reference;
|
||||||
|
typedef Value* pointer;
|
||||||
|
|
||||||
|
value_type operator*() const { return static_object<value_type>::get(); }
|
||||||
|
|
||||||
|
detail::arrow_proxy<Value> operator->() const { return detail::arrow_proxy<Value>(); }
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct iterator_access_archetype_impl<
|
||||||
|
iterator_archetypes::writable_iterator_t
|
||||||
|
>
|
||||||
|
{
|
||||||
|
template <class Value>
|
||||||
|
struct archetype
|
||||||
|
{
|
||||||
|
# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
|
||||||
|
BOOST_STATIC_ASSERT(!is_const<Value>::value);
|
||||||
|
# endif
|
||||||
|
typedef void value_type;
|
||||||
|
typedef void reference;
|
||||||
|
typedef void pointer;
|
||||||
|
|
||||||
|
detail::assign_proxy<Value> operator*() const { return detail::assign_proxy<Value>(); }
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct iterator_access_archetype_impl<
|
||||||
|
iterator_archetypes::readable_writable_iterator_t
|
||||||
|
>
|
||||||
|
{
|
||||||
|
template <class Value>
|
||||||
|
struct archetype
|
||||||
|
: public virtual iterator_access_archetype<
|
||||||
|
Value, iterator_archetypes::readable_iterator_t
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef detail::read_write_proxy<Value> reference;
|
||||||
|
|
||||||
|
detail::read_write_proxy<Value> operator*() const { return detail::read_write_proxy<Value>(); }
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct iterator_access_archetype_impl<iterator_archetypes::readable_lvalue_iterator_t>
|
||||||
|
{
|
||||||
|
template <class Value>
|
||||||
|
struct archetype
|
||||||
|
: public virtual iterator_access_archetype<
|
||||||
|
Value, iterator_archetypes::readable_iterator_t
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef Value& reference;
|
||||||
|
|
||||||
|
Value& operator*() const { return static_object<Value>::get(); }
|
||||||
|
Value* operator->() const { return 0; }
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct iterator_access_archetype_impl<iterator_archetypes::writable_lvalue_iterator_t>
|
||||||
|
{
|
||||||
|
template <class Value>
|
||||||
|
struct archetype
|
||||||
|
: public virtual iterator_access_archetype<
|
||||||
|
Value, iterator_archetypes::readable_lvalue_iterator_t
|
||||||
|
>
|
||||||
|
{
|
||||||
|
# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
|
||||||
|
BOOST_STATIC_ASSERT((!is_const<Value>::value));
|
||||||
|
# endif
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
template <class Value, class AccessCategory, class TraversalCategory>
|
||||||
|
struct iterator_archetype;
|
||||||
|
|
||||||
|
template <class Value, class AccessCategory, class TraversalCategory>
|
||||||
|
struct traversal_archetype_base
|
||||||
|
: detail::operator_brackets<
|
||||||
|
typename remove_cv<Value>::type
|
||||||
|
, AccessCategory
|
||||||
|
, TraversalCategory
|
||||||
|
>
|
||||||
|
, detail::traversal_archetype_<
|
||||||
|
iterator_archetype<Value, AccessCategory, TraversalCategory>
|
||||||
|
, Value
|
||||||
|
, TraversalCategory
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace detail
|
||||||
|
{
|
||||||
|
template <class Value, class AccessCategory, class TraversalCategory>
|
||||||
|
struct iterator_archetype_base
|
||||||
|
: iterator_access_archetype<Value, AccessCategory>
|
||||||
|
, traversal_archetype_base<Value, AccessCategory, TraversalCategory>
|
||||||
|
{
|
||||||
|
typedef iterator_access_archetype<Value, AccessCategory> access;
|
||||||
|
|
||||||
|
typedef typename detail::facade_iterator_category<
|
||||||
|
TraversalCategory
|
||||||
|
, typename mpl::eval_if<
|
||||||
|
iterator_archetypes::has_access<
|
||||||
|
AccessCategory, iterator_archetypes::writable_iterator_t
|
||||||
|
>
|
||||||
|
, remove_const<Value>
|
||||||
|
, add_const<Value>
|
||||||
|
>::type
|
||||||
|
, typename access::reference
|
||||||
|
>::type iterator_category;
|
||||||
|
|
||||||
|
// Needed for some broken libraries (see below)
|
||||||
|
typedef boost::iterator<
|
||||||
|
iterator_category
|
||||||
|
, Value
|
||||||
|
, typename traversal_archetype_base<
|
||||||
|
Value, AccessCategory, TraversalCategory
|
||||||
|
>::difference_type
|
||||||
|
, typename access::pointer
|
||||||
|
, typename access::reference
|
||||||
|
> workaround_iterator_base;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class Value, class AccessCategory, class TraversalCategory>
|
||||||
|
struct iterator_archetype
|
||||||
|
: public detail::iterator_archetype_base<Value, AccessCategory, TraversalCategory>
|
||||||
|
|
||||||
|
// These broken libraries require derivation from std::iterator
|
||||||
|
// (or related magic) in order to handle iter_swap and other
|
||||||
|
// iterator operations
|
||||||
|
# if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, < 310) \
|
||||||
|
|| BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(0x20101))
|
||||||
|
, public detail::iterator_archetype_base<
|
||||||
|
Value, AccessCategory, TraversalCategory
|
||||||
|
>::workaround_iterator_base
|
||||||
|
# endif
|
||||||
|
{
|
||||||
|
// Derivation from std::iterator above caused references to nested
|
||||||
|
// types to be ambiguous, so now we have to redeclare them all
|
||||||
|
// here.
|
||||||
|
# if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, < 310) \
|
||||||
|
|| BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(0x20101))
|
||||||
|
|
||||||
|
typedef detail::iterator_archetype_base<
|
||||||
|
Value,AccessCategory,TraversalCategory
|
||||||
|
> base;
|
||||||
|
|
||||||
|
typedef typename base::value_type value_type;
|
||||||
|
typedef typename base::reference reference;
|
||||||
|
typedef typename base::pointer pointer;
|
||||||
|
typedef typename base::difference_type difference_type;
|
||||||
|
typedef typename base::iterator_category iterator_category;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
iterator_archetype() { }
|
||||||
|
iterator_archetype(iterator_archetype const& x)
|
||||||
|
: detail::iterator_archetype_base<
|
||||||
|
Value
|
||||||
|
, AccessCategory
|
||||||
|
, TraversalCategory
|
||||||
|
>(x)
|
||||||
|
{}
|
||||||
|
|
||||||
|
iterator_archetype& operator=(iterator_archetype const&)
|
||||||
|
{ return *this; }
|
||||||
|
|
||||||
|
# if 0
|
||||||
|
// Optional conversion from mutable
|
||||||
|
iterator_archetype(
|
||||||
|
iterator_archetype<
|
||||||
|
typename detail::convertible_type<Value>::type
|
||||||
|
, AccessCategory
|
||||||
|
, TraversalCategory> const&
|
||||||
|
);
|
||||||
|
# endif
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace boost
|
||||||
|
|
||||||
|
|
||||||
|
#endif // BOOST_ITERATOR_ARCHETYPES_HPP
|
284
boost/boost/iterator/iterator_concepts.hpp
Normal file
284
boost/boost/iterator/iterator_concepts.hpp
Normal file
@ -0,0 +1,284 @@
|
|||||||
|
// (C) Copyright Jeremy Siek 2002.
|
||||||
|
// Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
// accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#ifndef BOOST_ITERATOR_CONCEPTS_HPP
|
||||||
|
#define BOOST_ITERATOR_CONCEPTS_HPP
|
||||||
|
|
||||||
|
#include <boost/concept_check.hpp>
|
||||||
|
#include <boost/iterator/iterator_categories.hpp>
|
||||||
|
|
||||||
|
// Use boost::detail::iterator_traits to work around some MSVC/Dinkumware problems.
|
||||||
|
#include <boost/detail/iterator.hpp>
|
||||||
|
|
||||||
|
#include <boost/type_traits/is_same.hpp>
|
||||||
|
#include <boost/type_traits/is_integral.hpp>
|
||||||
|
|
||||||
|
#include <boost/mpl/bool.hpp>
|
||||||
|
#include <boost/mpl/if.hpp>
|
||||||
|
#include <boost/mpl/and.hpp>
|
||||||
|
#include <boost/mpl/or.hpp>
|
||||||
|
|
||||||
|
#include <boost/static_assert.hpp>
|
||||||
|
|
||||||
|
// Use boost/limits to work around missing limits headers on some compilers
|
||||||
|
#include <boost/limits.hpp>
|
||||||
|
#include <boost/config.hpp>
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
#include <boost/concept/detail/concept_def.hpp>
|
||||||
|
|
||||||
|
namespace boost_concepts
|
||||||
|
{
|
||||||
|
// Used a different namespace here (instead of "boost") so that the
|
||||||
|
// concept descriptions do not take for granted the names in
|
||||||
|
// namespace boost.
|
||||||
|
|
||||||
|
//===========================================================================
|
||||||
|
// Iterator Access Concepts
|
||||||
|
|
||||||
|
BOOST_concept(ReadableIterator,(Iterator))
|
||||||
|
: boost::Assignable<Iterator>
|
||||||
|
, boost::CopyConstructible<Iterator>
|
||||||
|
|
||||||
|
{
|
||||||
|
typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type value_type;
|
||||||
|
typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference reference;
|
||||||
|
|
||||||
|
BOOST_CONCEPT_USAGE(ReadableIterator)
|
||||||
|
{
|
||||||
|
|
||||||
|
value_type v = *i;
|
||||||
|
boost::ignore_unused_variable_warning(v);
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
Iterator i;
|
||||||
|
};
|
||||||
|
|
||||||
|
template <
|
||||||
|
typename Iterator
|
||||||
|
, typename ValueType = BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type
|
||||||
|
>
|
||||||
|
struct WritableIterator
|
||||||
|
: boost::CopyConstructible<Iterator>
|
||||||
|
{
|
||||||
|
BOOST_CONCEPT_USAGE(WritableIterator)
|
||||||
|
{
|
||||||
|
*i = v;
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
ValueType v;
|
||||||
|
Iterator i;
|
||||||
|
};
|
||||||
|
|
||||||
|
template <
|
||||||
|
typename Iterator
|
||||||
|
, typename ValueType = BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::value_type
|
||||||
|
>
|
||||||
|
struct WritableIteratorConcept : WritableIterator<Iterator,ValueType> {};
|
||||||
|
|
||||||
|
BOOST_concept(SwappableIterator,(Iterator))
|
||||||
|
{
|
||||||
|
BOOST_CONCEPT_USAGE(SwappableIterator)
|
||||||
|
{
|
||||||
|
std::iter_swap(i1, i2);
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
Iterator i1;
|
||||||
|
Iterator i2;
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_concept(LvalueIterator,(Iterator))
|
||||||
|
{
|
||||||
|
typedef typename boost::detail::iterator_traits<Iterator>::value_type value_type;
|
||||||
|
|
||||||
|
BOOST_CONCEPT_USAGE(LvalueIterator)
|
||||||
|
{
|
||||||
|
value_type& r = const_cast<value_type&>(*i);
|
||||||
|
boost::ignore_unused_variable_warning(r);
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
Iterator i;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//===========================================================================
|
||||||
|
// Iterator Traversal Concepts
|
||||||
|
|
||||||
|
BOOST_concept(IncrementableIterator,(Iterator))
|
||||||
|
: boost::Assignable<Iterator>
|
||||||
|
, boost::CopyConstructible<Iterator>
|
||||||
|
{
|
||||||
|
typedef typename boost::iterator_traversal<Iterator>::type traversal_category;
|
||||||
|
|
||||||
|
BOOST_CONCEPT_ASSERT((
|
||||||
|
boost::Convertible<
|
||||||
|
traversal_category
|
||||||
|
, boost::incrementable_traversal_tag
|
||||||
|
>));
|
||||||
|
|
||||||
|
BOOST_CONCEPT_USAGE(IncrementableIterator)
|
||||||
|
{
|
||||||
|
++i;
|
||||||
|
(void)i++;
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
Iterator i;
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_concept(SinglePassIterator,(Iterator))
|
||||||
|
: IncrementableIterator<Iterator>
|
||||||
|
, boost::EqualityComparable<Iterator>
|
||||||
|
|
||||||
|
{
|
||||||
|
BOOST_CONCEPT_ASSERT((
|
||||||
|
boost::Convertible<
|
||||||
|
BOOST_DEDUCED_TYPENAME SinglePassIterator::traversal_category
|
||||||
|
, boost::single_pass_traversal_tag
|
||||||
|
> ));
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_concept(ForwardTraversal,(Iterator))
|
||||||
|
: SinglePassIterator<Iterator>
|
||||||
|
, boost::DefaultConstructible<Iterator>
|
||||||
|
{
|
||||||
|
typedef typename boost::detail::iterator_traits<Iterator>::difference_type difference_type;
|
||||||
|
|
||||||
|
BOOST_MPL_ASSERT((boost::is_integral<difference_type>));
|
||||||
|
BOOST_MPL_ASSERT_RELATION(std::numeric_limits<difference_type>::is_signed, ==, true);
|
||||||
|
|
||||||
|
BOOST_CONCEPT_ASSERT((
|
||||||
|
boost::Convertible<
|
||||||
|
BOOST_DEDUCED_TYPENAME ForwardTraversal::traversal_category
|
||||||
|
, boost::forward_traversal_tag
|
||||||
|
> ));
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_concept(BidirectionalTraversal,(Iterator))
|
||||||
|
: ForwardTraversal<Iterator>
|
||||||
|
{
|
||||||
|
BOOST_CONCEPT_ASSERT((
|
||||||
|
boost::Convertible<
|
||||||
|
BOOST_DEDUCED_TYPENAME BidirectionalTraversal::traversal_category
|
||||||
|
, boost::bidirectional_traversal_tag
|
||||||
|
> ));
|
||||||
|
|
||||||
|
BOOST_CONCEPT_USAGE(BidirectionalTraversal)
|
||||||
|
{
|
||||||
|
--i;
|
||||||
|
(void)i--;
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
Iterator i;
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_concept(RandomAccessTraversal,(Iterator))
|
||||||
|
: BidirectionalTraversal<Iterator>
|
||||||
|
{
|
||||||
|
BOOST_CONCEPT_ASSERT((
|
||||||
|
boost::Convertible<
|
||||||
|
BOOST_DEDUCED_TYPENAME RandomAccessTraversal::traversal_category
|
||||||
|
, boost::random_access_traversal_tag
|
||||||
|
> ));
|
||||||
|
|
||||||
|
BOOST_CONCEPT_USAGE(RandomAccessTraversal)
|
||||||
|
{
|
||||||
|
i += n;
|
||||||
|
i = i + n;
|
||||||
|
i = n + i;
|
||||||
|
i -= n;
|
||||||
|
i = i - n;
|
||||||
|
n = i - j;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
typename BidirectionalTraversal<Iterator>::difference_type n;
|
||||||
|
Iterator i, j;
|
||||||
|
};
|
||||||
|
|
||||||
|
//===========================================================================
|
||||||
|
// Iterator Interoperability
|
||||||
|
|
||||||
|
namespace detail
|
||||||
|
{
|
||||||
|
template <typename Iterator1, typename Iterator2>
|
||||||
|
void interop_single_pass_constraints(Iterator1 const& i1, Iterator2 const& i2)
|
||||||
|
{
|
||||||
|
bool b;
|
||||||
|
b = i1 == i2;
|
||||||
|
b = i1 != i2;
|
||||||
|
|
||||||
|
b = i2 == i1;
|
||||||
|
b = i2 != i1;
|
||||||
|
boost::ignore_unused_variable_warning(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename Iterator1, typename Iterator2>
|
||||||
|
void interop_rand_access_constraints(
|
||||||
|
Iterator1 const& i1, Iterator2 const& i2,
|
||||||
|
boost::random_access_traversal_tag, boost::random_access_traversal_tag)
|
||||||
|
{
|
||||||
|
bool b;
|
||||||
|
typename boost::detail::iterator_traits<Iterator2>::difference_type n;
|
||||||
|
b = i1 < i2;
|
||||||
|
b = i1 <= i2;
|
||||||
|
b = i1 > i2;
|
||||||
|
b = i1 >= i2;
|
||||||
|
n = i1 - i2;
|
||||||
|
|
||||||
|
b = i2 < i1;
|
||||||
|
b = i2 <= i1;
|
||||||
|
b = i2 > i1;
|
||||||
|
b = i2 >= i1;
|
||||||
|
n = i2 - i1;
|
||||||
|
boost::ignore_unused_variable_warning(b);
|
||||||
|
boost::ignore_unused_variable_warning(n);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename Iterator1, typename Iterator2>
|
||||||
|
void interop_rand_access_constraints(
|
||||||
|
Iterator1 const&, Iterator2 const&,
|
||||||
|
boost::single_pass_traversal_tag, boost::single_pass_traversal_tag)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
} // namespace detail
|
||||||
|
|
||||||
|
BOOST_concept(InteroperableIterator,(Iterator)(ConstIterator))
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef typename boost::detail::pure_traversal_tag<
|
||||||
|
typename boost::iterator_traversal<
|
||||||
|
Iterator
|
||||||
|
>::type
|
||||||
|
>::type traversal_category;
|
||||||
|
|
||||||
|
typedef typename boost::detail::pure_traversal_tag<
|
||||||
|
typename boost::iterator_traversal<
|
||||||
|
ConstIterator
|
||||||
|
>::type
|
||||||
|
>::type const_traversal_category;
|
||||||
|
|
||||||
|
public:
|
||||||
|
BOOST_CONCEPT_ASSERT((SinglePassIterator<Iterator>));
|
||||||
|
BOOST_CONCEPT_ASSERT((SinglePassIterator<ConstIterator>));
|
||||||
|
|
||||||
|
BOOST_CONCEPT_USAGE(InteroperableIterator)
|
||||||
|
{
|
||||||
|
detail::interop_single_pass_constraints(i, ci);
|
||||||
|
detail::interop_rand_access_constraints(i, ci, traversal_category(), const_traversal_category());
|
||||||
|
|
||||||
|
ci = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
Iterator i;
|
||||||
|
ConstIterator ci;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace boost_concepts
|
||||||
|
|
||||||
|
#include <boost/concept/detail/concept_undef.hpp>
|
||||||
|
|
||||||
|
#endif // BOOST_ITERATOR_CONCEPTS_HPP
|
264
boost/boost/iterator/new_iterator_tests.hpp
Normal file
264
boost/boost/iterator/new_iterator_tests.hpp
Normal file
@ -0,0 +1,264 @@
|
|||||||
|
#ifndef BOOST_NEW_ITERATOR_TESTS_HPP
|
||||||
|
# define BOOST_NEW_ITERATOR_TESTS_HPP
|
||||||
|
|
||||||
|
//
|
||||||
|
// Copyright (c) David Abrahams 2001.
|
||||||
|
// Copyright (c) Jeremy Siek 2001-2003.
|
||||||
|
// Copyright (c) Thomas Witt 2002.
|
||||||
|
//
|
||||||
|
// Use, modification and distribution is subject to the
|
||||||
|
// Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// This is meant to be the beginnings of a comprehensive, generic
|
||||||
|
// test suite for STL concepts such as iterators and containers.
|
||||||
|
//
|
||||||
|
// Revision History:
|
||||||
|
// 28 Oct 2002 Started update for new iterator categories
|
||||||
|
// (Jeremy Siek)
|
||||||
|
// 28 Apr 2002 Fixed input iterator requirements.
|
||||||
|
// For a == b a++ == b++ is no longer required.
|
||||||
|
// See 24.1.1/3 for details.
|
||||||
|
// (Thomas Witt)
|
||||||
|
// 08 Feb 2001 Fixed bidirectional iterator test so that
|
||||||
|
// --i is no longer a precondition.
|
||||||
|
// (Jeremy Siek)
|
||||||
|
// 04 Feb 2001 Added lvalue test, corrected preconditions
|
||||||
|
// (David Abrahams)
|
||||||
|
|
||||||
|
# include <iterator>
|
||||||
|
# include <boost/type_traits.hpp>
|
||||||
|
# include <boost/static_assert.hpp>
|
||||||
|
# include <boost/concept_archetype.hpp> // for detail::dummy_constructor
|
||||||
|
# include <boost/detail/iterator.hpp>
|
||||||
|
# include <boost/pending/iterator_tests.hpp>
|
||||||
|
# include <boost/iterator/is_readable_iterator.hpp>
|
||||||
|
# include <boost/iterator/is_lvalue_iterator.hpp>
|
||||||
|
|
||||||
|
# include <boost/iterator/detail/config_def.hpp>
|
||||||
|
# include <boost/detail/is_incrementable.hpp>
|
||||||
|
# include <boost/detail/lightweight_test.hpp>
|
||||||
|
|
||||||
|
namespace boost {
|
||||||
|
|
||||||
|
|
||||||
|
// Do separate tests for *i++ so we can treat, e.g., smart pointers,
|
||||||
|
// as readable and/or writable iterators.
|
||||||
|
template <class Iterator, class T>
|
||||||
|
void readable_iterator_traversal_test(Iterator i1, T v, mpl::true_)
|
||||||
|
{
|
||||||
|
T v2(*i1++);
|
||||||
|
BOOST_TEST(v == v2);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class Iterator, class T>
|
||||||
|
void readable_iterator_traversal_test(const Iterator i1, T v, mpl::false_)
|
||||||
|
{}
|
||||||
|
|
||||||
|
template <class Iterator, class T>
|
||||||
|
void writable_iterator_traversal_test(Iterator i1, T v, mpl::true_)
|
||||||
|
{
|
||||||
|
++i1; // we just wrote into that position
|
||||||
|
*i1++ = v;
|
||||||
|
Iterator x(i1++);
|
||||||
|
(void)x;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class Iterator, class T>
|
||||||
|
void writable_iterator_traversal_test(const Iterator i1, T v, mpl::false_)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// Preconditions: *i == v
|
||||||
|
template <class Iterator, class T>
|
||||||
|
void readable_iterator_test(const Iterator i1, T v)
|
||||||
|
{
|
||||||
|
Iterator i2(i1); // Copy Constructible
|
||||||
|
typedef typename detail::iterator_traits<Iterator>::reference ref_t;
|
||||||
|
ref_t r1 = *i1;
|
||||||
|
ref_t r2 = *i2;
|
||||||
|
T v1 = r1;
|
||||||
|
T v2 = r2;
|
||||||
|
BOOST_TEST(v1 == v);
|
||||||
|
BOOST_TEST(v2 == v);
|
||||||
|
|
||||||
|
# if !BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
|
||||||
|
readable_iterator_traversal_test(i1, v, detail::is_postfix_incrementable<Iterator>());
|
||||||
|
|
||||||
|
// I think we don't really need this as it checks the same things as
|
||||||
|
// the above code.
|
||||||
|
BOOST_STATIC_ASSERT(is_readable_iterator<Iterator>::value);
|
||||||
|
# endif
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class Iterator, class T>
|
||||||
|
void writable_iterator_test(Iterator i, T v, T v2)
|
||||||
|
{
|
||||||
|
Iterator i2(i); // Copy Constructible
|
||||||
|
*i2 = v;
|
||||||
|
|
||||||
|
# if !BOOST_WORKAROUND(__MWERKS__, <= 0x2407)
|
||||||
|
writable_iterator_traversal_test(
|
||||||
|
i, v2, mpl::and_<
|
||||||
|
detail::is_incrementable<Iterator>
|
||||||
|
, detail::is_postfix_incrementable<Iterator>
|
||||||
|
>());
|
||||||
|
# endif
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class Iterator>
|
||||||
|
void swappable_iterator_test(Iterator i, Iterator j)
|
||||||
|
{
|
||||||
|
Iterator i2(i), j2(j);
|
||||||
|
typename detail::iterator_traits<Iterator>::value_type bi = *i, bj = *j;
|
||||||
|
iter_swap(i2, j2);
|
||||||
|
typename detail::iterator_traits<Iterator>::value_type ai = *i, aj = *j;
|
||||||
|
BOOST_TEST(bi == aj && bj == ai);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class Iterator, class T>
|
||||||
|
void constant_lvalue_iterator_test(Iterator i, T v1)
|
||||||
|
{
|
||||||
|
Iterator i2(i);
|
||||||
|
typedef typename detail::iterator_traits<Iterator>::value_type value_type;
|
||||||
|
typedef typename detail::iterator_traits<Iterator>::reference reference;
|
||||||
|
BOOST_STATIC_ASSERT((is_same<const value_type&, reference>::value));
|
||||||
|
const T& v2 = *i2;
|
||||||
|
BOOST_TEST(v1 == v2);
|
||||||
|
# ifndef BOOST_NO_LVALUE_RETURN_DETECTION
|
||||||
|
BOOST_STATIC_ASSERT(is_lvalue_iterator<Iterator>::value);
|
||||||
|
BOOST_STATIC_ASSERT(!is_non_const_lvalue_iterator<Iterator>::value);
|
||||||
|
# endif
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class Iterator, class T>
|
||||||
|
void non_const_lvalue_iterator_test(Iterator i, T v1, T v2)
|
||||||
|
{
|
||||||
|
Iterator i2(i);
|
||||||
|
typedef typename detail::iterator_traits<Iterator>::value_type value_type;
|
||||||
|
typedef typename detail::iterator_traits<Iterator>::reference reference;
|
||||||
|
BOOST_STATIC_ASSERT((is_same<value_type&, reference>::value));
|
||||||
|
T& v3 = *i2;
|
||||||
|
BOOST_TEST(v1 == v3);
|
||||||
|
|
||||||
|
// A non-const lvalue iterator is not neccessarily writable, but we
|
||||||
|
// are assuming the value_type is assignable here
|
||||||
|
*i = v2;
|
||||||
|
|
||||||
|
T& v4 = *i2;
|
||||||
|
BOOST_TEST(v2 == v4);
|
||||||
|
# ifndef BOOST_NO_LVALUE_RETURN_DETECTION
|
||||||
|
BOOST_STATIC_ASSERT(is_lvalue_iterator<Iterator>::value);
|
||||||
|
BOOST_STATIC_ASSERT(is_non_const_lvalue_iterator<Iterator>::value);
|
||||||
|
# endif
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class Iterator, class T>
|
||||||
|
void forward_readable_iterator_test(Iterator i, Iterator j, T val1, T val2)
|
||||||
|
{
|
||||||
|
Iterator i2;
|
||||||
|
Iterator i3(i);
|
||||||
|
i2 = i;
|
||||||
|
BOOST_TEST(i2 == i3);
|
||||||
|
BOOST_TEST(i != j);
|
||||||
|
BOOST_TEST(i2 != j);
|
||||||
|
readable_iterator_test(i, val1);
|
||||||
|
readable_iterator_test(i2, val1);
|
||||||
|
readable_iterator_test(i3, val1);
|
||||||
|
|
||||||
|
BOOST_TEST(i == i2++);
|
||||||
|
BOOST_TEST(i != ++i3);
|
||||||
|
|
||||||
|
readable_iterator_test(i2, val2);
|
||||||
|
readable_iterator_test(i3, val2);
|
||||||
|
|
||||||
|
readable_iterator_test(i, val1);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class Iterator, class T>
|
||||||
|
void forward_swappable_iterator_test(Iterator i, Iterator j, T val1, T val2)
|
||||||
|
{
|
||||||
|
forward_readable_iterator_test(i, j, val1, val2);
|
||||||
|
Iterator i2 = i;
|
||||||
|
++i2;
|
||||||
|
swappable_iterator_test(i, i2);
|
||||||
|
}
|
||||||
|
|
||||||
|
// bidirectional
|
||||||
|
// Preconditions: *i == v1, *++i == v2
|
||||||
|
template <class Iterator, class T>
|
||||||
|
void bidirectional_readable_iterator_test(Iterator i, T v1, T v2)
|
||||||
|
{
|
||||||
|
Iterator j(i);
|
||||||
|
++j;
|
||||||
|
forward_readable_iterator_test(i, j, v1, v2);
|
||||||
|
++i;
|
||||||
|
|
||||||
|
Iterator i1 = i, i2 = i;
|
||||||
|
|
||||||
|
BOOST_TEST(i == i1--);
|
||||||
|
BOOST_TEST(i != --i2);
|
||||||
|
|
||||||
|
readable_iterator_test(i, v2);
|
||||||
|
readable_iterator_test(i1, v1);
|
||||||
|
readable_iterator_test(i2, v1);
|
||||||
|
|
||||||
|
--i;
|
||||||
|
BOOST_TEST(i == i1);
|
||||||
|
BOOST_TEST(i == i2);
|
||||||
|
++i1;
|
||||||
|
++i2;
|
||||||
|
|
||||||
|
readable_iterator_test(i, v1);
|
||||||
|
readable_iterator_test(i1, v2);
|
||||||
|
readable_iterator_test(i2, v2);
|
||||||
|
}
|
||||||
|
|
||||||
|
// random access
|
||||||
|
// Preconditions: [i,i+N) is a valid range
|
||||||
|
template <class Iterator, class TrueVals>
|
||||||
|
void random_access_readable_iterator_test(Iterator i, int N, TrueVals vals)
|
||||||
|
{
|
||||||
|
bidirectional_readable_iterator_test(i, vals[0], vals[1]);
|
||||||
|
const Iterator j = i;
|
||||||
|
int c;
|
||||||
|
|
||||||
|
for (c = 0; c < N-1; ++c)
|
||||||
|
{
|
||||||
|
BOOST_TEST(i == j + c);
|
||||||
|
BOOST_TEST(*i == vals[c]);
|
||||||
|
typename detail::iterator_traits<Iterator>::value_type x = j[c];
|
||||||
|
BOOST_TEST(*i == x);
|
||||||
|
BOOST_TEST(*i == *(j + c));
|
||||||
|
BOOST_TEST(*i == *(c + j));
|
||||||
|
++i;
|
||||||
|
BOOST_TEST(i > j);
|
||||||
|
BOOST_TEST(i >= j);
|
||||||
|
BOOST_TEST(j <= i);
|
||||||
|
BOOST_TEST(j < i);
|
||||||
|
}
|
||||||
|
|
||||||
|
Iterator k = j + N - 1;
|
||||||
|
for (c = 0; c < N-1; ++c)
|
||||||
|
{
|
||||||
|
BOOST_TEST(i == k - c);
|
||||||
|
BOOST_TEST(*i == vals[N - 1 - c]);
|
||||||
|
typename detail::iterator_traits<Iterator>::value_type x = j[N - 1 - c];
|
||||||
|
BOOST_TEST(*i == x);
|
||||||
|
Iterator q = k - c;
|
||||||
|
BOOST_TEST(*i == *q);
|
||||||
|
BOOST_TEST(i > j);
|
||||||
|
BOOST_TEST(i >= j);
|
||||||
|
BOOST_TEST(j <= i);
|
||||||
|
BOOST_TEST(j < i);
|
||||||
|
--i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace boost
|
||||||
|
|
||||||
|
# include <boost/iterator/detail/config_undef.hpp>
|
||||||
|
|
||||||
|
#endif // BOOST_NEW_ITERATOR_TESTS_HPP
|
72
boost/boost/iterator/permutation_iterator.hpp
Normal file
72
boost/boost/iterator/permutation_iterator.hpp
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
// (C) Copyright Toon Knapen 2001.
|
||||||
|
// (C) Copyright David Abrahams 2003.
|
||||||
|
// (C) Copyright Roland Richter 2003.
|
||||||
|
// Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
// accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#ifndef BOOST_PERMUTATION_ITERATOR_HPP
|
||||||
|
#define BOOST_PERMUTATION_ITERATOR_HPP
|
||||||
|
|
||||||
|
#include <iterator>
|
||||||
|
|
||||||
|
#include <boost/iterator/iterator_adaptor.hpp>
|
||||||
|
|
||||||
|
|
||||||
|
namespace boost
|
||||||
|
{
|
||||||
|
|
||||||
|
template< class ElementIterator
|
||||||
|
, class IndexIterator>
|
||||||
|
class permutation_iterator
|
||||||
|
: public iterator_adaptor<
|
||||||
|
permutation_iterator<ElementIterator, IndexIterator>
|
||||||
|
, IndexIterator, typename detail::iterator_traits<ElementIterator>::value_type
|
||||||
|
, use_default, typename detail::iterator_traits<ElementIterator>::reference>
|
||||||
|
{
|
||||||
|
typedef iterator_adaptor<
|
||||||
|
permutation_iterator<ElementIterator, IndexIterator>
|
||||||
|
, IndexIterator, typename detail::iterator_traits<ElementIterator>::value_type
|
||||||
|
, use_default, typename detail::iterator_traits<ElementIterator>::reference> super_t;
|
||||||
|
|
||||||
|
friend class iterator_core_access;
|
||||||
|
|
||||||
|
public:
|
||||||
|
permutation_iterator() : m_elt_iter() {}
|
||||||
|
|
||||||
|
explicit permutation_iterator(ElementIterator x, IndexIterator y)
|
||||||
|
: super_t(y), m_elt_iter(x) {}
|
||||||
|
|
||||||
|
template<class OtherElementIterator, class OtherIndexIterator>
|
||||||
|
permutation_iterator(
|
||||||
|
permutation_iterator<OtherElementIterator, OtherIndexIterator> const& r
|
||||||
|
, typename enable_if_convertible<OtherElementIterator, ElementIterator>::type* = 0
|
||||||
|
, typename enable_if_convertible<OtherIndexIterator, IndexIterator>::type* = 0
|
||||||
|
)
|
||||||
|
: super_t(r.base()), m_elt_iter(r.m_elt_iter)
|
||||||
|
{}
|
||||||
|
|
||||||
|
private:
|
||||||
|
typename super_t::reference dereference() const
|
||||||
|
{ return *(m_elt_iter + *this->base()); }
|
||||||
|
|
||||||
|
#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||||
|
template <class,class> friend class permutation_iterator;
|
||||||
|
#else
|
||||||
|
public:
|
||||||
|
#endif
|
||||||
|
ElementIterator m_elt_iter;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
template <class ElementIterator, class IndexIterator>
|
||||||
|
permutation_iterator<ElementIterator, IndexIterator>
|
||||||
|
make_permutation_iterator( ElementIterator e, IndexIterator i )
|
||||||
|
{
|
||||||
|
return permutation_iterator<ElementIterator, IndexIterator>( e, i );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace boost
|
||||||
|
|
||||||
|
#endif
|
585
boost/boost/iterator/zip_iterator.hpp
Normal file
585
boost/boost/iterator/zip_iterator.hpp
Normal file
@ -0,0 +1,585 @@
|
|||||||
|
// Copyright David Abrahams and Thomas Becker 2000-2006. Distributed
|
||||||
|
// under the Boost Software License, Version 1.0. (See accompanying
|
||||||
|
// file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#ifndef BOOST_ZIP_ITERATOR_TMB_07_13_2003_HPP_
|
||||||
|
# define BOOST_ZIP_ITERATOR_TMB_07_13_2003_HPP_
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <boost/iterator.hpp>
|
||||||
|
#include <boost/iterator/iterator_traits.hpp>
|
||||||
|
#include <boost/iterator/iterator_facade.hpp>
|
||||||
|
#include <boost/iterator/iterator_adaptor.hpp> // for enable_if_convertible
|
||||||
|
#include <boost/iterator/iterator_categories.hpp>
|
||||||
|
#include <boost/detail/iterator.hpp>
|
||||||
|
|
||||||
|
#include <boost/iterator/detail/minimum_category.hpp>
|
||||||
|
|
||||||
|
#include <boost/tuple/tuple.hpp>
|
||||||
|
|
||||||
|
#include <boost/type_traits/is_same.hpp>
|
||||||
|
#include <boost/mpl/and.hpp>
|
||||||
|
#include <boost/mpl/apply.hpp>
|
||||||
|
#include <boost/mpl/eval_if.hpp>
|
||||||
|
#include <boost/mpl/lambda.hpp>
|
||||||
|
#include <boost/mpl/placeholders.hpp>
|
||||||
|
#include <boost/mpl/aux_/lambda_support.hpp>
|
||||||
|
|
||||||
|
namespace boost {
|
||||||
|
|
||||||
|
// Zip iterator forward declaration for zip_iterator_base
|
||||||
|
template<typename IteratorTuple>
|
||||||
|
class zip_iterator;
|
||||||
|
|
||||||
|
// One important design goal of the zip_iterator is to isolate all
|
||||||
|
// functionality whose implementation relies on the current tuple
|
||||||
|
// implementation. This goal has been achieved as follows: Inside
|
||||||
|
// the namespace detail there is a namespace tuple_impl_specific.
|
||||||
|
// This namespace encapsulates all functionality that is specific
|
||||||
|
// to the current Boost tuple implementation. More precisely, the
|
||||||
|
// namespace tuple_impl_specific provides the following tuple
|
||||||
|
// algorithms and meta-algorithms for the current Boost tuple
|
||||||
|
// implementation:
|
||||||
|
//
|
||||||
|
// tuple_meta_transform
|
||||||
|
// tuple_meta_accumulate
|
||||||
|
// tuple_transform
|
||||||
|
// tuple_for_each
|
||||||
|
//
|
||||||
|
// If the tuple implementation changes, all that needs to be
|
||||||
|
// replaced is the implementation of these four (meta-)algorithms.
|
||||||
|
|
||||||
|
namespace detail
|
||||||
|
{
|
||||||
|
|
||||||
|
// Functors to be used with tuple algorithms
|
||||||
|
//
|
||||||
|
template<typename DiffType>
|
||||||
|
class advance_iterator
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
advance_iterator(DiffType step) : m_step(step) {}
|
||||||
|
|
||||||
|
template<typename Iterator>
|
||||||
|
void operator()(Iterator& it) const
|
||||||
|
{ it += m_step; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
DiffType m_step;
|
||||||
|
};
|
||||||
|
//
|
||||||
|
struct increment_iterator
|
||||||
|
{
|
||||||
|
template<typename Iterator>
|
||||||
|
void operator()(Iterator& it)
|
||||||
|
{ ++it; }
|
||||||
|
};
|
||||||
|
//
|
||||||
|
struct decrement_iterator
|
||||||
|
{
|
||||||
|
template<typename Iterator>
|
||||||
|
void operator()(Iterator& it)
|
||||||
|
{ --it; }
|
||||||
|
};
|
||||||
|
//
|
||||||
|
struct dereference_iterator
|
||||||
|
{
|
||||||
|
template<typename Iterator>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
typedef typename
|
||||||
|
iterator_traits<Iterator>::reference
|
||||||
|
type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<typename Iterator>
|
||||||
|
typename apply<Iterator>::type operator()(Iterator const& it)
|
||||||
|
{ return *it; }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// The namespace tuple_impl_specific provides two meta-
|
||||||
|
// algorithms and two algorithms for tuples.
|
||||||
|
//
|
||||||
|
namespace tuple_impl_specific
|
||||||
|
{
|
||||||
|
// Meta-transform algorithm for tuples
|
||||||
|
//
|
||||||
|
template<typename Tuple, class UnaryMetaFun>
|
||||||
|
struct tuple_meta_transform;
|
||||||
|
|
||||||
|
template<typename Tuple, class UnaryMetaFun>
|
||||||
|
struct tuple_meta_transform_impl
|
||||||
|
{
|
||||||
|
typedef tuples::cons<
|
||||||
|
typename mpl::apply1<
|
||||||
|
typename mpl::lambda<UnaryMetaFun>::type
|
||||||
|
, typename Tuple::head_type
|
||||||
|
>::type
|
||||||
|
, typename tuple_meta_transform<
|
||||||
|
typename Tuple::tail_type
|
||||||
|
, UnaryMetaFun
|
||||||
|
>::type
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<typename Tuple, class UnaryMetaFun>
|
||||||
|
struct tuple_meta_transform
|
||||||
|
: mpl::eval_if<
|
||||||
|
boost::is_same<Tuple, tuples::null_type>
|
||||||
|
, mpl::identity<tuples::null_type>
|
||||||
|
, tuple_meta_transform_impl<Tuple, UnaryMetaFun>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
// Meta-accumulate algorithm for tuples. Note: The template
|
||||||
|
// parameter StartType corresponds to the initial value in
|
||||||
|
// ordinary accumulation.
|
||||||
|
//
|
||||||
|
template<class Tuple, class BinaryMetaFun, class StartType>
|
||||||
|
struct tuple_meta_accumulate;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tuple
|
||||||
|
, class BinaryMetaFun
|
||||||
|
, typename StartType
|
||||||
|
>
|
||||||
|
struct tuple_meta_accumulate_impl
|
||||||
|
{
|
||||||
|
typedef typename mpl::apply2<
|
||||||
|
typename mpl::lambda<BinaryMetaFun>::type
|
||||||
|
, typename Tuple::head_type
|
||||||
|
, typename tuple_meta_accumulate<
|
||||||
|
typename Tuple::tail_type
|
||||||
|
, BinaryMetaFun
|
||||||
|
, StartType
|
||||||
|
>::type
|
||||||
|
>::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tuple
|
||||||
|
, class BinaryMetaFun
|
||||||
|
, typename StartType
|
||||||
|
>
|
||||||
|
struct tuple_meta_accumulate
|
||||||
|
: mpl::eval_if<
|
||||||
|
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||||
|
mpl::or_<
|
||||||
|
#endif
|
||||||
|
boost::is_same<Tuple, tuples::null_type>
|
||||||
|
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
|
||||||
|
, boost::is_same<Tuple,int>
|
||||||
|
>
|
||||||
|
#endif
|
||||||
|
, mpl::identity<StartType>
|
||||||
|
, tuple_meta_accumulate_impl<
|
||||||
|
Tuple
|
||||||
|
, BinaryMetaFun
|
||||||
|
, StartType
|
||||||
|
>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
|
||||||
|
|| ( \
|
||||||
|
BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, != 0) && defined(_MSC_VER) \
|
||||||
|
)
|
||||||
|
// Not sure why intel's partial ordering fails in this case, but I'm
|
||||||
|
// assuming int's an MSVC bug-compatibility feature.
|
||||||
|
|
||||||
|
# define BOOST_TUPLE_ALGO_DISPATCH
|
||||||
|
# define BOOST_TUPLE_ALGO(algo) algo##_impl
|
||||||
|
# define BOOST_TUPLE_ALGO_TERMINATOR , int
|
||||||
|
# define BOOST_TUPLE_ALGO_RECURSE , ...
|
||||||
|
#else
|
||||||
|
# define BOOST_TUPLE_ALGO(algo) algo
|
||||||
|
# define BOOST_TUPLE_ALGO_TERMINATOR
|
||||||
|
# define BOOST_TUPLE_ALGO_RECURSE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// transform algorithm for tuples. The template parameter Fun
|
||||||
|
// must be a unary functor which is also a unary metafunction
|
||||||
|
// class that computes its return type based on its argument
|
||||||
|
// type. For example:
|
||||||
|
//
|
||||||
|
// struct to_ptr
|
||||||
|
// {
|
||||||
|
// template <class Arg>
|
||||||
|
// struct apply
|
||||||
|
// {
|
||||||
|
// typedef Arg* type;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// template <class Arg>
|
||||||
|
// Arg* operator()(Arg x);
|
||||||
|
// };
|
||||||
|
template<typename Fun>
|
||||||
|
tuples::null_type BOOST_TUPLE_ALGO(tuple_transform)
|
||||||
|
(tuples::null_type const&, Fun BOOST_TUPLE_ALGO_TERMINATOR)
|
||||||
|
{ return tuples::null_type(); }
|
||||||
|
|
||||||
|
template<typename Tuple, typename Fun>
|
||||||
|
typename tuple_meta_transform<
|
||||||
|
Tuple
|
||||||
|
, Fun
|
||||||
|
>::type
|
||||||
|
|
||||||
|
BOOST_TUPLE_ALGO(tuple_transform)(
|
||||||
|
const Tuple& t,
|
||||||
|
Fun f
|
||||||
|
BOOST_TUPLE_ALGO_RECURSE
|
||||||
|
)
|
||||||
|
{
|
||||||
|
typedef typename tuple_meta_transform<
|
||||||
|
BOOST_DEDUCED_TYPENAME Tuple::tail_type
|
||||||
|
, Fun
|
||||||
|
>::type transformed_tail_type;
|
||||||
|
|
||||||
|
return tuples::cons<
|
||||||
|
BOOST_DEDUCED_TYPENAME mpl::apply1<
|
||||||
|
Fun, BOOST_DEDUCED_TYPENAME Tuple::head_type
|
||||||
|
>::type
|
||||||
|
, transformed_tail_type
|
||||||
|
>(
|
||||||
|
f(boost::tuples::get<0>(t)), tuple_transform(t.get_tail(), f)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef BOOST_TUPLE_ALGO_DISPATCH
|
||||||
|
template<typename Tuple, typename Fun>
|
||||||
|
typename tuple_meta_transform<
|
||||||
|
Tuple
|
||||||
|
, Fun
|
||||||
|
>::type
|
||||||
|
|
||||||
|
tuple_transform(
|
||||||
|
const Tuple& t,
|
||||||
|
Fun f
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return tuple_transform_impl(t, f, 1);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// for_each algorithm for tuples.
|
||||||
|
//
|
||||||
|
template<typename Fun>
|
||||||
|
Fun BOOST_TUPLE_ALGO(tuple_for_each)(
|
||||||
|
tuples::null_type
|
||||||
|
, Fun f BOOST_TUPLE_ALGO_TERMINATOR
|
||||||
|
)
|
||||||
|
{ return f; }
|
||||||
|
|
||||||
|
|
||||||
|
template<typename Tuple, typename Fun>
|
||||||
|
Fun BOOST_TUPLE_ALGO(tuple_for_each)(
|
||||||
|
Tuple& t
|
||||||
|
, Fun f BOOST_TUPLE_ALGO_RECURSE)
|
||||||
|
{
|
||||||
|
f( t.get_head() );
|
||||||
|
return tuple_for_each(t.get_tail(), f);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef BOOST_TUPLE_ALGO_DISPATCH
|
||||||
|
template<typename Tuple, typename Fun>
|
||||||
|
Fun
|
||||||
|
tuple_for_each(
|
||||||
|
Tuple& t,
|
||||||
|
Fun f
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return tuple_for_each_impl(t, f, 1);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Equality of tuples. NOTE: "==" for tuples currently (7/2003)
|
||||||
|
// has problems under some compilers, so I just do my own.
|
||||||
|
// No point in bringing in a bunch of #ifdefs here. This is
|
||||||
|
// going to go away with the next tuple implementation anyway.
|
||||||
|
//
|
||||||
|
inline bool tuple_equal(tuples::null_type, tuples::null_type)
|
||||||
|
{ return true; }
|
||||||
|
|
||||||
|
template<typename Tuple1, typename Tuple2>
|
||||||
|
bool tuple_equal(
|
||||||
|
Tuple1 const& t1,
|
||||||
|
Tuple2 const& t2
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return t1.get_head() == t2.get_head() &&
|
||||||
|
tuple_equal(t1.get_tail(), t2.get_tail());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// end namespace tuple_impl_specific
|
||||||
|
|
||||||
|
template<typename Iterator>
|
||||||
|
struct iterator_reference
|
||||||
|
{
|
||||||
|
typedef typename iterator_traits<Iterator>::reference type;
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
|
||||||
|
// Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work
|
||||||
|
// out well. Instantiating the nested apply template also
|
||||||
|
// requires instantiating iterator_traits on the
|
||||||
|
// placeholder. Instead we just specialize it as a metafunction
|
||||||
|
// class.
|
||||||
|
template<>
|
||||||
|
struct iterator_reference<mpl::_1>
|
||||||
|
{
|
||||||
|
template <class T>
|
||||||
|
struct apply : iterator_reference<T> {};
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Metafunction to obtain the type of the tuple whose element types
|
||||||
|
// are the reference types of an iterator tuple.
|
||||||
|
//
|
||||||
|
template<typename IteratorTuple>
|
||||||
|
struct tuple_of_references
|
||||||
|
: tuple_impl_specific::tuple_meta_transform<
|
||||||
|
IteratorTuple,
|
||||||
|
iterator_reference<mpl::_1>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
// Metafunction to obtain the minimal traversal tag in a tuple
|
||||||
|
// of iterators.
|
||||||
|
//
|
||||||
|
template<typename IteratorTuple>
|
||||||
|
struct minimum_traversal_category_in_iterator_tuple
|
||||||
|
{
|
||||||
|
typedef typename tuple_impl_specific::tuple_meta_transform<
|
||||||
|
IteratorTuple
|
||||||
|
, iterator_traversal<>
|
||||||
|
>::type tuple_of_traversal_tags;
|
||||||
|
|
||||||
|
typedef typename tuple_impl_specific::tuple_meta_accumulate<
|
||||||
|
tuple_of_traversal_tags
|
||||||
|
, minimum_category<>
|
||||||
|
, random_access_traversal_tag
|
||||||
|
>::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround
|
||||||
|
template <>
|
||||||
|
struct minimum_traversal_category_in_iterator_tuple<int>
|
||||||
|
{
|
||||||
|
typedef int type;
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// We need to call tuple_meta_accumulate with mpl::and_ as the
|
||||||
|
// accumulating functor. To this end, we need to wrap it into
|
||||||
|
// a struct that has exactly two arguments (that is, template
|
||||||
|
// parameters) and not five, like mpl::and_ does.
|
||||||
|
//
|
||||||
|
template<typename Arg1, typename Arg2>
|
||||||
|
struct and_with_two_args
|
||||||
|
: mpl::and_<Arg1, Arg2>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
# ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
|
||||||
|
// Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work
|
||||||
|
// out well. In this case I think it's an MPL bug
|
||||||
|
template<>
|
||||||
|
struct and_with_two_args<mpl::_1,mpl::_2>
|
||||||
|
{
|
||||||
|
template <class A1, class A2>
|
||||||
|
struct apply : mpl::and_<A1,A2>
|
||||||
|
{};
|
||||||
|
};
|
||||||
|
# endif
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Class zip_iterator_base
|
||||||
|
//
|
||||||
|
// Builds and exposes the iterator facade type from which the zip
|
||||||
|
// iterator will be derived.
|
||||||
|
//
|
||||||
|
template<typename IteratorTuple>
|
||||||
|
struct zip_iterator_base
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
// Reference type is the type of the tuple obtained from the
|
||||||
|
// iterators' reference types.
|
||||||
|
typedef typename
|
||||||
|
detail::tuple_of_references<IteratorTuple>::type reference;
|
||||||
|
|
||||||
|
// Value type is the same as reference type.
|
||||||
|
typedef reference value_type;
|
||||||
|
|
||||||
|
// Difference type is the first iterator's difference type
|
||||||
|
typedef typename iterator_traits<
|
||||||
|
typename tuples::element<0, IteratorTuple>::type
|
||||||
|
>::difference_type difference_type;
|
||||||
|
|
||||||
|
// Traversal catetgory is the minimum traversal category in the
|
||||||
|
// iterator tuple.
|
||||||
|
typedef typename
|
||||||
|
detail::minimum_traversal_category_in_iterator_tuple<
|
||||||
|
IteratorTuple
|
||||||
|
>::type traversal_category;
|
||||||
|
public:
|
||||||
|
|
||||||
|
// The iterator facade type from which the zip iterator will
|
||||||
|
// be derived.
|
||||||
|
typedef iterator_facade<
|
||||||
|
zip_iterator<IteratorTuple>,
|
||||||
|
value_type,
|
||||||
|
traversal_category,
|
||||||
|
reference,
|
||||||
|
difference_type
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct zip_iterator_base<int>
|
||||||
|
{
|
||||||
|
typedef int type;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// zip_iterator class definition
|
||||||
|
//
|
||||||
|
template<typename IteratorTuple>
|
||||||
|
class zip_iterator :
|
||||||
|
public detail::zip_iterator_base<IteratorTuple>::type
|
||||||
|
{
|
||||||
|
|
||||||
|
// Typedef super_t as our base class.
|
||||||
|
typedef typename
|
||||||
|
detail::zip_iterator_base<IteratorTuple>::type super_t;
|
||||||
|
|
||||||
|
// iterator_core_access is the iterator's best friend.
|
||||||
|
friend class iterator_core_access;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
// Construction
|
||||||
|
// ============
|
||||||
|
|
||||||
|
// Default constructor
|
||||||
|
zip_iterator() { }
|
||||||
|
|
||||||
|
// Constructor from iterator tuple
|
||||||
|
zip_iterator(IteratorTuple iterator_tuple)
|
||||||
|
: m_iterator_tuple(iterator_tuple)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
// Copy constructor
|
||||||
|
template<typename OtherIteratorTuple>
|
||||||
|
zip_iterator(
|
||||||
|
const zip_iterator<OtherIteratorTuple>& other,
|
||||||
|
typename enable_if_convertible<
|
||||||
|
OtherIteratorTuple,
|
||||||
|
IteratorTuple
|
||||||
|
>::type* = 0
|
||||||
|
) : m_iterator_tuple(other.get_iterator_tuple())
|
||||||
|
{}
|
||||||
|
|
||||||
|
// Get method for the iterator tuple.
|
||||||
|
const IteratorTuple& get_iterator_tuple() const
|
||||||
|
{ return m_iterator_tuple; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
// Implementation of Iterator Operations
|
||||||
|
// =====================================
|
||||||
|
|
||||||
|
// Dereferencing returns a tuple built from the dereferenced
|
||||||
|
// iterators in the iterator tuple.
|
||||||
|
typename super_t::reference dereference() const
|
||||||
|
{
|
||||||
|
return detail::tuple_impl_specific::tuple_transform(
|
||||||
|
get_iterator_tuple(),
|
||||||
|
detail::dereference_iterator()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Two zip iterators are equal if all iterators in the iterator
|
||||||
|
// tuple are equal. NOTE: It should be possible to implement this
|
||||||
|
// as
|
||||||
|
//
|
||||||
|
// return get_iterator_tuple() == other.get_iterator_tuple();
|
||||||
|
//
|
||||||
|
// but equality of tuples currently (7/2003) does not compile
|
||||||
|
// under several compilers. No point in bringing in a bunch
|
||||||
|
// of #ifdefs here.
|
||||||
|
//
|
||||||
|
template<typename OtherIteratorTuple>
|
||||||
|
bool equal(const zip_iterator<OtherIteratorTuple>& other) const
|
||||||
|
{
|
||||||
|
return detail::tuple_impl_specific::tuple_equal(
|
||||||
|
get_iterator_tuple(),
|
||||||
|
other.get_iterator_tuple()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Advancing a zip iterator means to advance all iterators in the
|
||||||
|
// iterator tuple.
|
||||||
|
void advance(typename super_t::difference_type n)
|
||||||
|
{
|
||||||
|
detail::tuple_impl_specific::tuple_for_each(
|
||||||
|
m_iterator_tuple,
|
||||||
|
detail::advance_iterator<BOOST_DEDUCED_TYPENAME super_t::difference_type>(n)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
// Incrementing a zip iterator means to increment all iterators in
|
||||||
|
// the iterator tuple.
|
||||||
|
void increment()
|
||||||
|
{
|
||||||
|
detail::tuple_impl_specific::tuple_for_each(
|
||||||
|
m_iterator_tuple,
|
||||||
|
detail::increment_iterator()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Decrementing a zip iterator means to decrement all iterators in
|
||||||
|
// the iterator tuple.
|
||||||
|
void decrement()
|
||||||
|
{
|
||||||
|
detail::tuple_impl_specific::tuple_for_each(
|
||||||
|
m_iterator_tuple,
|
||||||
|
detail::decrement_iterator()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Distance is calculated using the first iterator in the tuple.
|
||||||
|
template<typename OtherIteratorTuple>
|
||||||
|
typename super_t::difference_type distance_to(
|
||||||
|
const zip_iterator<OtherIteratorTuple>& other
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
return boost::tuples::get<0>(other.get_iterator_tuple()) -
|
||||||
|
boost::tuples::get<0>(this->get_iterator_tuple());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Data Members
|
||||||
|
// ============
|
||||||
|
|
||||||
|
// The iterator tuple.
|
||||||
|
IteratorTuple m_iterator_tuple;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// Make function for zip iterator
|
||||||
|
//
|
||||||
|
template<typename IteratorTuple>
|
||||||
|
zip_iterator<IteratorTuple>
|
||||||
|
make_zip_iterator(IteratorTuple t)
|
||||||
|
{ return zip_iterator<IteratorTuple>(t); }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
28
boost/boost/mpl/aux_/config/bcc.hpp
Normal file
28
boost/boost/mpl/aux_/config/bcc.hpp
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
#ifndef BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
|
||||||
|
#define BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
|
||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2008
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
// See http://www.boost.org/libs/mpl for documentation.
|
||||||
|
|
||||||
|
// $Id: bcc.hpp 49272 2008-10-11 06:50:46Z agurtovoy $
|
||||||
|
// $Date: 2004-09-02 10:41:37 -0500 (Thu, 02 Sep 2004) $
|
||||||
|
// $Revision: 24874 $
|
||||||
|
|
||||||
|
#include <boost/mpl/aux_/config/workaround.hpp>
|
||||||
|
|
||||||
|
#if !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \
|
||||||
|
&& !defined(BOOST_MPL_PREPROCESSING_MODE) \
|
||||||
|
&& BOOST_WORKAROUND(__BORLANDC__, >= 0x590) \
|
||||||
|
&& BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
|
||||||
|
|
||||||
|
# define BOOST_MPL_CFG_BCC590_WORKAROUNDS
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED
|
@ -0,0 +1,97 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "advance_backward.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl { namespace aux {
|
||||||
|
|
||||||
|
template< long N > struct advance_backward;
|
||||||
|
template<>
|
||||||
|
struct advance_backward<0>
|
||||||
|
{
|
||||||
|
template< typename Iterator > struct apply
|
||||||
|
{
|
||||||
|
typedef Iterator iter0;
|
||||||
|
typedef iter0 type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct advance_backward<1>
|
||||||
|
{
|
||||||
|
template< typename Iterator > struct apply
|
||||||
|
{
|
||||||
|
typedef Iterator iter0;
|
||||||
|
typedef typename prior<iter0>::type iter1;
|
||||||
|
typedef iter1 type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct advance_backward<2>
|
||||||
|
{
|
||||||
|
template< typename Iterator > struct apply
|
||||||
|
{
|
||||||
|
typedef Iterator iter0;
|
||||||
|
typedef typename prior<iter0>::type iter1;
|
||||||
|
typedef typename prior<iter1>::type iter2;
|
||||||
|
typedef iter2 type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct advance_backward<3>
|
||||||
|
{
|
||||||
|
template< typename Iterator > struct apply
|
||||||
|
{
|
||||||
|
typedef Iterator iter0;
|
||||||
|
typedef typename prior<iter0>::type iter1;
|
||||||
|
typedef typename prior<iter1>::type iter2;
|
||||||
|
typedef typename prior<iter2>::type iter3;
|
||||||
|
typedef iter3 type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct advance_backward<4>
|
||||||
|
{
|
||||||
|
template< typename Iterator > struct apply
|
||||||
|
{
|
||||||
|
typedef Iterator iter0;
|
||||||
|
typedef typename prior<iter0>::type iter1;
|
||||||
|
typedef typename prior<iter1>::type iter2;
|
||||||
|
typedef typename prior<iter2>::type iter3;
|
||||||
|
typedef typename prior<iter3>::type iter4;
|
||||||
|
typedef iter4 type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< long N >
|
||||||
|
struct advance_backward
|
||||||
|
{
|
||||||
|
template< typename Iterator > struct apply
|
||||||
|
{
|
||||||
|
typedef typename apply_wrap1<
|
||||||
|
advance_backward<4>
|
||||||
|
, Iterator
|
||||||
|
>::type chunk_result_;
|
||||||
|
|
||||||
|
typedef typename apply_wrap1<
|
||||||
|
advance_backward<(
|
||||||
|
(N - 4) < 0
|
||||||
|
? 0
|
||||||
|
: N - 4
|
||||||
|
)>
|
||||||
|
, chunk_result_
|
||||||
|
>::type type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}}
|
||||||
|
|
@ -0,0 +1,97 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "advance_forward.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl { namespace aux {
|
||||||
|
|
||||||
|
template< long N > struct advance_forward;
|
||||||
|
template<>
|
||||||
|
struct advance_forward<0>
|
||||||
|
{
|
||||||
|
template< typename Iterator > struct apply
|
||||||
|
{
|
||||||
|
typedef Iterator iter0;
|
||||||
|
typedef iter0 type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct advance_forward<1>
|
||||||
|
{
|
||||||
|
template< typename Iterator > struct apply
|
||||||
|
{
|
||||||
|
typedef Iterator iter0;
|
||||||
|
typedef typename next<iter0>::type iter1;
|
||||||
|
typedef iter1 type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct advance_forward<2>
|
||||||
|
{
|
||||||
|
template< typename Iterator > struct apply
|
||||||
|
{
|
||||||
|
typedef Iterator iter0;
|
||||||
|
typedef typename next<iter0>::type iter1;
|
||||||
|
typedef typename next<iter1>::type iter2;
|
||||||
|
typedef iter2 type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct advance_forward<3>
|
||||||
|
{
|
||||||
|
template< typename Iterator > struct apply
|
||||||
|
{
|
||||||
|
typedef Iterator iter0;
|
||||||
|
typedef typename next<iter0>::type iter1;
|
||||||
|
typedef typename next<iter1>::type iter2;
|
||||||
|
typedef typename next<iter2>::type iter3;
|
||||||
|
typedef iter3 type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct advance_forward<4>
|
||||||
|
{
|
||||||
|
template< typename Iterator > struct apply
|
||||||
|
{
|
||||||
|
typedef Iterator iter0;
|
||||||
|
typedef typename next<iter0>::type iter1;
|
||||||
|
typedef typename next<iter1>::type iter2;
|
||||||
|
typedef typename next<iter2>::type iter3;
|
||||||
|
typedef typename next<iter3>::type iter4;
|
||||||
|
typedef iter4 type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< long N >
|
||||||
|
struct advance_forward
|
||||||
|
{
|
||||||
|
template< typename Iterator > struct apply
|
||||||
|
{
|
||||||
|
typedef typename apply_wrap1<
|
||||||
|
advance_forward<4>
|
||||||
|
, Iterator
|
||||||
|
>::type chunk_result_;
|
||||||
|
|
||||||
|
typedef typename apply_wrap1<
|
||||||
|
advance_forward<(
|
||||||
|
(N - 4) < 0
|
||||||
|
? 0
|
||||||
|
: N - 4
|
||||||
|
)>
|
||||||
|
, chunk_result_
|
||||||
|
>::type type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}}
|
||||||
|
|
69
boost/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp
Normal file
69
boost/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "and.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template< bool C_, typename T1, typename T2, typename T3, typename T4 >
|
||||||
|
struct and_impl
|
||||||
|
: false_
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T1, typename T2, typename T3, typename T4 >
|
||||||
|
struct and_impl< true,T1,T2,T3,T4 >
|
||||||
|
: and_impl<
|
||||||
|
BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
|
||||||
|
, T2, T3, T4
|
||||||
|
, true_
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct and_impl<
|
||||||
|
true
|
||||||
|
, true_, true_, true_, true_
|
||||||
|
>
|
||||||
|
: true_
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(T1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(T2)
|
||||||
|
, typename T3 = true_, typename T4 = true_, typename T5 = true_
|
||||||
|
>
|
||||||
|
struct and_
|
||||||
|
|
||||||
|
: aux::and_impl<
|
||||||
|
BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
|
||||||
|
, T2, T3, T4, T5
|
||||||
|
>
|
||||||
|
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
5
|
||||||
|
, and_
|
||||||
|
, ( T1, T2, T3, T4, T5)
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(
|
||||||
|
2
|
||||||
|
, 5
|
||||||
|
, and_
|
||||||
|
)
|
||||||
|
|
||||||
|
}}
|
169
boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp
Normal file
169
boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "apply.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct apply0
|
||||||
|
|
||||||
|
: apply_wrap0<
|
||||||
|
typename lambda<F>::type
|
||||||
|
|
||||||
|
>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
1
|
||||||
|
, apply0
|
||||||
|
, (F )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct apply< F,na,na,na,na,na >
|
||||||
|
: apply0<F>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1
|
||||||
|
>
|
||||||
|
struct apply1
|
||||||
|
|
||||||
|
: apply_wrap1<
|
||||||
|
typename lambda<F>::type
|
||||||
|
, T1
|
||||||
|
>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
2
|
||||||
|
, apply1
|
||||||
|
, (F, T1)
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1
|
||||||
|
>
|
||||||
|
struct apply< F,T1,na,na,na,na >
|
||||||
|
: apply1< F,T1 >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct apply2
|
||||||
|
|
||||||
|
: apply_wrap2<
|
||||||
|
typename lambda<F>::type
|
||||||
|
, T1, T2
|
||||||
|
>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
3
|
||||||
|
, apply2
|
||||||
|
, (F, T1, T2)
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct apply< F,T1,T2,na,na,na >
|
||||||
|
: apply2< F,T1,T2 >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct apply3
|
||||||
|
|
||||||
|
: apply_wrap3<
|
||||||
|
typename lambda<F>::type
|
||||||
|
, T1, T2, T3
|
||||||
|
>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
4
|
||||||
|
, apply3
|
||||||
|
, (F, T1, T2, T3)
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct apply< F,T1,T2,T3,na,na >
|
||||||
|
: apply3< F,T1,T2,T3 >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct apply4
|
||||||
|
|
||||||
|
: apply_wrap4<
|
||||||
|
typename lambda<F>::type
|
||||||
|
, T1, T2, T3, T4
|
||||||
|
>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
5
|
||||||
|
, apply4
|
||||||
|
, (F, T1, T2, T3, T4)
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct apply< F,T1,T2,T3,T4,na >
|
||||||
|
: apply4< F,T1,T2,T3,T4 >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct apply5
|
||||||
|
|
||||||
|
: apply_wrap5<
|
||||||
|
typename lambda<F>::type
|
||||||
|
, T1, T2, T3, T4, T5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
6
|
||||||
|
, apply5
|
||||||
|
, (F, T1, T2, T3, T4, T5)
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
/// primary template (not a specialization!)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
: apply5< F,T1,T2,T3,T4,T5 >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
52
boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp
Normal file
52
boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "apply_fwd.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1 = na, typename T2 = na, typename T3 = na
|
||||||
|
, typename T4 = na, typename T5 = na
|
||||||
|
>
|
||||||
|
struct apply;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct apply0;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1
|
||||||
|
>
|
||||||
|
struct apply1;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct apply2;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct apply3;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct apply4;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct apply5;
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
456
boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp
Normal file
456
boost/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp
Normal file
@ -0,0 +1,456 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2008
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "apply_wrap.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
int N, typename F
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl0;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl0<
|
||||||
|
0
|
||||||
|
, F
|
||||||
|
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
|
||||||
|
/// since the defaults are "lost", we have to pass *something* even for nullary
|
||||||
|
/// metafunction classes
|
||||||
|
na
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl0<
|
||||||
|
1
|
||||||
|
, F
|
||||||
|
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
|
||||||
|
na
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl0<
|
||||||
|
2
|
||||||
|
, F
|
||||||
|
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
|
||||||
|
na, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl0<
|
||||||
|
3
|
||||||
|
, F
|
||||||
|
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
|
||||||
|
na, na, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl0<
|
||||||
|
4
|
||||||
|
, F
|
||||||
|
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
|
||||||
|
na, na, na, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl0<
|
||||||
|
5
|
||||||
|
, F
|
||||||
|
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
|
||||||
|
na, na, na, na, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct apply_wrap0
|
||||||
|
: apply_wrap_impl0<
|
||||||
|
::boost::mpl::aux::arity< F,0 >::value
|
||||||
|
, F
|
||||||
|
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
int N, typename F, typename T1
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl1;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl1<
|
||||||
|
1
|
||||||
|
, F
|
||||||
|
, T1
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl1<
|
||||||
|
2
|
||||||
|
, F
|
||||||
|
, T1
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1
|
||||||
|
, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl1<
|
||||||
|
3
|
||||||
|
, F
|
||||||
|
, T1
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1
|
||||||
|
, na, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl1<
|
||||||
|
4
|
||||||
|
, F
|
||||||
|
, T1
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1
|
||||||
|
, na, na, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl1<
|
||||||
|
5
|
||||||
|
, F
|
||||||
|
, T1
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1
|
||||||
|
, na, na, na, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1
|
||||||
|
>
|
||||||
|
struct apply_wrap1
|
||||||
|
: apply_wrap_impl1<
|
||||||
|
::boost::mpl::aux::arity< F,1 >::value
|
||||||
|
, F
|
||||||
|
, T1
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
int N, typename F, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl2;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl2<
|
||||||
|
2
|
||||||
|
, F
|
||||||
|
, T1, T2
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1, T2
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl2<
|
||||||
|
3
|
||||||
|
, F
|
||||||
|
, T1, T2
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1, T2
|
||||||
|
|
||||||
|
, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl2<
|
||||||
|
4
|
||||||
|
, F
|
||||||
|
, T1, T2
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1, T2
|
||||||
|
|
||||||
|
, na, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl2<
|
||||||
|
5
|
||||||
|
, F
|
||||||
|
, T1, T2
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1, T2
|
||||||
|
|
||||||
|
, na, na, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct apply_wrap2
|
||||||
|
: apply_wrap_impl2<
|
||||||
|
::boost::mpl::aux::arity< F,2 >::value
|
||||||
|
, F
|
||||||
|
, T1, T2
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
int N, typename F, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl3;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl3<
|
||||||
|
3
|
||||||
|
, F
|
||||||
|
, T1, T2, T3
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1, T2, T3
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl3<
|
||||||
|
4
|
||||||
|
, F
|
||||||
|
, T1, T2, T3
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1, T2, T3
|
||||||
|
|
||||||
|
, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl3<
|
||||||
|
5
|
||||||
|
, F
|
||||||
|
, T1, T2, T3
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1, T2, T3
|
||||||
|
|
||||||
|
, na, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct apply_wrap3
|
||||||
|
: apply_wrap_impl3<
|
||||||
|
::boost::mpl::aux::arity< F,3 >::value
|
||||||
|
, F
|
||||||
|
, T1, T2, T3
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
int N, typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl4;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl4<
|
||||||
|
4
|
||||||
|
, F
|
||||||
|
, T1, T2, T3, T4
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1, T2, T3, T4
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl4<
|
||||||
|
5
|
||||||
|
, F
|
||||||
|
, T1, T2, T3, T4
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1, T2, T3, T4
|
||||||
|
|
||||||
|
, na
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct apply_wrap4
|
||||||
|
: apply_wrap_impl4<
|
||||||
|
::boost::mpl::aux::arity< F,4 >::value
|
||||||
|
, F
|
||||||
|
, T1, T2, T3, T4
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
int N, typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl5;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct apply_wrap_impl5<
|
||||||
|
5
|
||||||
|
, F
|
||||||
|
, T1, T2, T3, T4, T5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename F::template apply<
|
||||||
|
T1, T2, T3, T4, T5
|
||||||
|
|
||||||
|
> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct apply_wrap5
|
||||||
|
: apply_wrap_impl5<
|
||||||
|
::boost::mpl::aux::arity< F,5 >::value
|
||||||
|
, F
|
||||||
|
, T1, T2, T3, T4, T5
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
117
boost/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp
Normal file
117
boost/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
|
||||||
|
// Copyright Peter Dimov 2001-2002
|
||||||
|
// Copyright Aleksey Gurtovoy 2001-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "arg.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
|
||||||
|
template<> struct arg< -1 >
|
||||||
|
{
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = -1);
|
||||||
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
|
||||||
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
typedef U1 type;
|
||||||
|
BOOST_MPL_AUX_ASSERT_NOT_NA(type);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct arg<1>
|
||||||
|
{
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 1);
|
||||||
|
typedef arg<2> next;
|
||||||
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
|
||||||
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
typedef U1 type;
|
||||||
|
BOOST_MPL_AUX_ASSERT_NOT_NA(type);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct arg<2>
|
||||||
|
{
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 2);
|
||||||
|
typedef arg<3> next;
|
||||||
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
|
||||||
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
typedef U2 type;
|
||||||
|
BOOST_MPL_AUX_ASSERT_NOT_NA(type);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct arg<3>
|
||||||
|
{
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 3);
|
||||||
|
typedef arg<4> next;
|
||||||
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
|
||||||
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
typedef U3 type;
|
||||||
|
BOOST_MPL_AUX_ASSERT_NOT_NA(type);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct arg<4>
|
||||||
|
{
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 4);
|
||||||
|
typedef arg<5> next;
|
||||||
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
|
||||||
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
typedef U4 type;
|
||||||
|
BOOST_MPL_AUX_ASSERT_NOT_NA(type);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct arg<5>
|
||||||
|
{
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 5);
|
||||||
|
typedef arg<6> next;
|
||||||
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, tag)
|
||||||
|
BOOST_MPL_AUX_ARG_TYPEDEF(na, type)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
typedef U5 type;
|
||||||
|
BOOST_MPL_AUX_ASSERT_NOT_NA(type);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg)
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
|
300
boost/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp
Normal file
300
boost/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp
Normal file
@ -0,0 +1,300 @@
|
|||||||
|
|
||||||
|
// Copyright Peter Dimov 2001
|
||||||
|
// Copyright Aleksey Gurtovoy 2001-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "basic_bind.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, typename U1, typename U2, typename U3, typename U4
|
||||||
|
, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg
|
||||||
|
{
|
||||||
|
typedef T type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
int N, typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
|
||||||
|
{
|
||||||
|
typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct bind0
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
|
||||||
|
|
||||||
|
public:
|
||||||
|
typedef typename apply_wrap0<
|
||||||
|
f_
|
||||||
|
>::type type;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename U1, typename U2, typename U3, typename U4
|
||||||
|
, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg<
|
||||||
|
bind0<F>, U1, U2, U3, U4, U5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef bind0<F> f_;
|
||||||
|
typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
|
||||||
|
BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1
|
||||||
|
>
|
||||||
|
struct bind1
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
|
||||||
|
typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
|
||||||
|
|
||||||
|
public:
|
||||||
|
typedef typename apply_wrap1<
|
||||||
|
f_
|
||||||
|
, typename t1::type
|
||||||
|
>::type type;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename U1, typename U2, typename U3
|
||||||
|
, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg<
|
||||||
|
bind1< F,T1 >, U1, U2, U3, U4, U5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef bind1< F,T1 > f_;
|
||||||
|
typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
|
||||||
|
BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct bind2
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
|
||||||
|
typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
|
||||||
|
typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
|
||||||
|
|
||||||
|
public:
|
||||||
|
typedef typename apply_wrap2<
|
||||||
|
f_
|
||||||
|
, typename t1::type, typename t2::type
|
||||||
|
>::type type;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename U1, typename U2
|
||||||
|
, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg<
|
||||||
|
bind2< F,T1,T2 >, U1, U2, U3, U4, U5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef bind2< F,T1,T2 > f_;
|
||||||
|
typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
|
||||||
|
BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct bind3
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
|
||||||
|
typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
|
||||||
|
typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
|
||||||
|
typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
|
||||||
|
|
||||||
|
public:
|
||||||
|
typedef typename apply_wrap3<
|
||||||
|
f_
|
||||||
|
, typename t1::type, typename t2::type, typename t3::type
|
||||||
|
>::type type;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename U1
|
||||||
|
, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg<
|
||||||
|
bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef bind3< F,T1,T2,T3 > f_;
|
||||||
|
typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
|
||||||
|
BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct bind4
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
|
||||||
|
typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
|
||||||
|
typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
|
||||||
|
typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
|
||||||
|
typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
|
||||||
|
|
||||||
|
public:
|
||||||
|
typedef typename apply_wrap4<
|
||||||
|
f_
|
||||||
|
, typename t1::type, typename t2::type, typename t3::type
|
||||||
|
, typename t4::type
|
||||||
|
>::type type;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg<
|
||||||
|
bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef bind4< F,T1,T2,T3,T4 > f_;
|
||||||
|
typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
|
||||||
|
BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct bind5
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_;
|
||||||
|
typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1;
|
||||||
|
typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2;
|
||||||
|
typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3;
|
||||||
|
typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4;
|
||||||
|
typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5;
|
||||||
|
|
||||||
|
public:
|
||||||
|
typedef typename apply_wrap5<
|
||||||
|
f_
|
||||||
|
, typename t1::type, typename t2::type, typename t3::type
|
||||||
|
, typename t4::type, typename t5::type
|
||||||
|
>::type type;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename U1, typename U2, typename U3, typename U4
|
||||||
|
, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg<
|
||||||
|
bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef bind5< F,T1,T2,T3,T4,T5 > f_;
|
||||||
|
typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
|
||||||
|
BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
|
||||||
|
}}
|
||||||
|
|
397
boost/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp
Normal file
397
boost/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp
Normal file
@ -0,0 +1,397 @@
|
|||||||
|
|
||||||
|
// Copyright Peter Dimov 2001
|
||||||
|
// Copyright Aleksey Gurtovoy 2001-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "bind.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, typename U1, typename U2, typename U3, typename U4
|
||||||
|
, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg
|
||||||
|
{
|
||||||
|
typedef T type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T
|
||||||
|
, typename Arg
|
||||||
|
>
|
||||||
|
struct replace_unnamed_arg
|
||||||
|
{
|
||||||
|
typedef Arg next;
|
||||||
|
typedef T type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Arg
|
||||||
|
>
|
||||||
|
struct replace_unnamed_arg< arg< -1 >, Arg >
|
||||||
|
{
|
||||||
|
typedef typename Arg::next next;
|
||||||
|
typedef Arg type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
int N, typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg< arg<N>, U1, U2, U3, U4, U5 >
|
||||||
|
{
|
||||||
|
typedef typename apply_wrap5<mpl::arg<N>, U1, U2, U3, U4, U5>::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct bind0
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
|
||||||
|
typedef typename r0::type a0;
|
||||||
|
typedef typename r0::next n1;
|
||||||
|
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
|
||||||
|
///
|
||||||
|
public:
|
||||||
|
typedef typename apply_wrap0<
|
||||||
|
f_
|
||||||
|
>::type type;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename U1, typename U2, typename U3, typename U4
|
||||||
|
, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg<
|
||||||
|
bind0<F>, U1, U2, U3, U4, U5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef bind0<F> f_;
|
||||||
|
typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARITY_SPEC(1, bind0)
|
||||||
|
BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1
|
||||||
|
>
|
||||||
|
struct bind1
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
|
||||||
|
typedef typename r0::type a0;
|
||||||
|
typedef typename r0::next n1;
|
||||||
|
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T1,n1 > r1;
|
||||||
|
typedef typename r1::type a1;
|
||||||
|
typedef typename r1::next n2;
|
||||||
|
typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
|
||||||
|
///
|
||||||
|
public:
|
||||||
|
typedef typename apply_wrap1<
|
||||||
|
f_
|
||||||
|
, typename t1::type
|
||||||
|
>::type type;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename U1, typename U2, typename U3
|
||||||
|
, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg<
|
||||||
|
bind1< F,T1 >, U1, U2, U3, U4, U5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef bind1< F,T1 > f_;
|
||||||
|
typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARITY_SPEC(2, bind1)
|
||||||
|
BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct bind2
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
|
||||||
|
typedef typename r0::type a0;
|
||||||
|
typedef typename r0::next n1;
|
||||||
|
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T1,n1 > r1;
|
||||||
|
typedef typename r1::type a1;
|
||||||
|
typedef typename r1::next n2;
|
||||||
|
typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T2,n2 > r2;
|
||||||
|
typedef typename r2::type a2;
|
||||||
|
typedef typename r2::next n3;
|
||||||
|
typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
|
||||||
|
///
|
||||||
|
public:
|
||||||
|
typedef typename apply_wrap2<
|
||||||
|
f_
|
||||||
|
, typename t1::type, typename t2::type
|
||||||
|
>::type type;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename U1, typename U2
|
||||||
|
, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg<
|
||||||
|
bind2< F,T1,T2 >, U1, U2, U3, U4, U5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef bind2< F,T1,T2 > f_;
|
||||||
|
typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARITY_SPEC(3, bind2)
|
||||||
|
BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct bind3
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
|
||||||
|
typedef typename r0::type a0;
|
||||||
|
typedef typename r0::next n1;
|
||||||
|
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T1,n1 > r1;
|
||||||
|
typedef typename r1::type a1;
|
||||||
|
typedef typename r1::next n2;
|
||||||
|
typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T2,n2 > r2;
|
||||||
|
typedef typename r2::type a2;
|
||||||
|
typedef typename r2::next n3;
|
||||||
|
typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T3,n3 > r3;
|
||||||
|
typedef typename r3::type a3;
|
||||||
|
typedef typename r3::next n4;
|
||||||
|
typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
|
||||||
|
///
|
||||||
|
public:
|
||||||
|
typedef typename apply_wrap3<
|
||||||
|
f_
|
||||||
|
, typename t1::type, typename t2::type, typename t3::type
|
||||||
|
>::type type;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename U1
|
||||||
|
, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg<
|
||||||
|
bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef bind3< F,T1,T2,T3 > f_;
|
||||||
|
typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARITY_SPEC(4, bind3)
|
||||||
|
BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct bind4
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
|
||||||
|
typedef typename r0::type a0;
|
||||||
|
typedef typename r0::next n1;
|
||||||
|
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T1,n1 > r1;
|
||||||
|
typedef typename r1::type a1;
|
||||||
|
typedef typename r1::next n2;
|
||||||
|
typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T2,n2 > r2;
|
||||||
|
typedef typename r2::type a2;
|
||||||
|
typedef typename r2::next n3;
|
||||||
|
typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T3,n3 > r3;
|
||||||
|
typedef typename r3::type a3;
|
||||||
|
typedef typename r3::next n4;
|
||||||
|
typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T4,n4 > r4;
|
||||||
|
typedef typename r4::type a4;
|
||||||
|
typedef typename r4::next n5;
|
||||||
|
typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
|
||||||
|
///
|
||||||
|
public:
|
||||||
|
typedef typename apply_wrap4<
|
||||||
|
f_
|
||||||
|
, typename t1::type, typename t2::type, typename t3::type
|
||||||
|
, typename t4::type
|
||||||
|
>::type type;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg<
|
||||||
|
bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef bind4< F,T1,T2,T3,T4 > f_;
|
||||||
|
typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARITY_SPEC(5, bind4)
|
||||||
|
BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct bind5
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename U1, typename U2, typename U3, typename U4, typename U5
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0;
|
||||||
|
typedef typename r0::type a0;
|
||||||
|
typedef typename r0::next n1;
|
||||||
|
typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T1,n1 > r1;
|
||||||
|
typedef typename r1::type a1;
|
||||||
|
typedef typename r1::next n2;
|
||||||
|
typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T2,n2 > r2;
|
||||||
|
typedef typename r2::type a2;
|
||||||
|
typedef typename r2::next n3;
|
||||||
|
typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T3,n3 > r3;
|
||||||
|
typedef typename r3::type a3;
|
||||||
|
typedef typename r3::next n4;
|
||||||
|
typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T4,n4 > r4;
|
||||||
|
typedef typename r4::type a4;
|
||||||
|
typedef typename r4::next n5;
|
||||||
|
typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4;
|
||||||
|
///
|
||||||
|
typedef aux::replace_unnamed_arg< T5,n5 > r5;
|
||||||
|
typedef typename r5::type a5;
|
||||||
|
typedef typename r5::next n6;
|
||||||
|
typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5;
|
||||||
|
///
|
||||||
|
public:
|
||||||
|
typedef typename apply_wrap5<
|
||||||
|
f_
|
||||||
|
, typename t1::type, typename t2::type, typename t3::type
|
||||||
|
, typename t4::type, typename t5::type
|
||||||
|
>::type type;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename U1, typename U2, typename U3, typename U4
|
||||||
|
, typename U5
|
||||||
|
>
|
||||||
|
struct resolve_bind_arg<
|
||||||
|
bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef bind5< F,T1,T2,T3,T4,T5 > f_;
|
||||||
|
typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARITY_SPEC(6, bind5)
|
||||||
|
BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5)
|
||||||
|
}}
|
||||||
|
|
46
boost/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp
Normal file
46
boost/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "bind_fwd.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct bind0;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1
|
||||||
|
>
|
||||||
|
struct bind1;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct bind2;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct bind3;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct bind4;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct bind5;
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
147
boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp
Normal file
147
boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
// Copyright Jaap Suter 2003
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "bitand.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct bitand_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct bitand_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct bitand_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct bitand_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct bitand_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
, typename N3 = na, typename N4 = na, typename N5 = na
|
||||||
|
>
|
||||||
|
struct bitand_
|
||||||
|
: bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
5
|
||||||
|
, bitand_
|
||||||
|
, ( N1, N2, N3, N4, N5 )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3, typename N4
|
||||||
|
>
|
||||||
|
struct bitand_< N1,N2,N3,N4,na >
|
||||||
|
|
||||||
|
: bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, bitand_
|
||||||
|
, ( N1, N2, N3, N4, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3
|
||||||
|
>
|
||||||
|
struct bitand_< N1,N2,N3,na,na >
|
||||||
|
|
||||||
|
: bitand_< bitand_< N1,N2 >, N3>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, bitand_
|
||||||
|
, ( N1, N2, N3, na, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2
|
||||||
|
>
|
||||||
|
struct bitand_< N1,N2,na,na,na >
|
||||||
|
: bitand_impl<
|
||||||
|
typename bitand_tag<N1>::type
|
||||||
|
, typename bitand_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, bitand_
|
||||||
|
, ( N1, N2, na, na, na )
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
template<>
|
||||||
|
struct bitand_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: integral_c<
|
||||||
|
typename aux::largest_int<
|
||||||
|
typename N1::value_type
|
||||||
|
, typename N2::value_type
|
||||||
|
>::type
|
||||||
|
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||||
|
& BOOST_MPL_AUX_VALUE_WKND(N2)::value
|
||||||
|
)
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
147
boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp
Normal file
147
boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
// Copyright Jaap Suter 2003
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "bitor.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct bitor_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct bitor_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct bitor_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct bitor_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct bitor_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
, typename N3 = na, typename N4 = na, typename N5 = na
|
||||||
|
>
|
||||||
|
struct bitor_
|
||||||
|
: bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
5
|
||||||
|
, bitor_
|
||||||
|
, ( N1, N2, N3, N4, N5 )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3, typename N4
|
||||||
|
>
|
||||||
|
struct bitor_< N1,N2,N3,N4,na >
|
||||||
|
|
||||||
|
: bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, bitor_
|
||||||
|
, ( N1, N2, N3, N4, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3
|
||||||
|
>
|
||||||
|
struct bitor_< N1,N2,N3,na,na >
|
||||||
|
|
||||||
|
: bitor_< bitor_< N1,N2 >, N3>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, bitor_
|
||||||
|
, ( N1, N2, N3, na, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2
|
||||||
|
>
|
||||||
|
struct bitor_< N1,N2,na,na,na >
|
||||||
|
: bitor_impl<
|
||||||
|
typename bitor_tag<N1>::type
|
||||||
|
, typename bitor_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, bitor_
|
||||||
|
, ( N1, N2, na, na, na )
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
template<>
|
||||||
|
struct bitor_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: integral_c<
|
||||||
|
typename aux::largest_int<
|
||||||
|
typename N1::value_type
|
||||||
|
, typename N2::value_type
|
||||||
|
>::type
|
||||||
|
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||||
|
| BOOST_MPL_AUX_VALUE_WKND(N2)::value
|
||||||
|
)
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
147
boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp
Normal file
147
boost/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
// Copyright Jaap Suter 2003
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "bitxor.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct bitxor_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct bitxor_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct bitxor_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct bitxor_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct bitxor_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
, typename N3 = na, typename N4 = na, typename N5 = na
|
||||||
|
>
|
||||||
|
struct bitxor_
|
||||||
|
: bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
5
|
||||||
|
, bitxor_
|
||||||
|
, ( N1, N2, N3, N4, N5 )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3, typename N4
|
||||||
|
>
|
||||||
|
struct bitxor_< N1,N2,N3,N4,na >
|
||||||
|
|
||||||
|
: bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, bitxor_
|
||||||
|
, ( N1, N2, N3, N4, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3
|
||||||
|
>
|
||||||
|
struct bitxor_< N1,N2,N3,na,na >
|
||||||
|
|
||||||
|
: bitxor_< bitxor_< N1,N2 >, N3>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, bitxor_
|
||||||
|
, ( N1, N2, N3, na, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2
|
||||||
|
>
|
||||||
|
struct bitxor_< N1,N2,na,na,na >
|
||||||
|
: bitxor_impl<
|
||||||
|
typename bitxor_tag<N1>::type
|
||||||
|
, typename bitxor_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, bitxor_
|
||||||
|
, ( N1, N2, na, na, na )
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
template<>
|
||||||
|
struct bitxor_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: integral_c<
|
||||||
|
typename aux::largest_int<
|
||||||
|
typename N1::value_type
|
||||||
|
, typename N2::value_type
|
||||||
|
>::type
|
||||||
|
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||||
|
^ BOOST_MPL_AUX_VALUE_WKND(N2)::value
|
||||||
|
)
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
323
boost/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp
Normal file
323
boost/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp
Normal file
@ -0,0 +1,323 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "deque.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
|
||||||
|
, typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
|
||||||
|
, typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
|
||||||
|
, typename T12 = na, typename T13 = na, typename T14 = na
|
||||||
|
, typename T15 = na, typename T16 = na, typename T17 = na
|
||||||
|
, typename T18 = na, typename T19 = na
|
||||||
|
>
|
||||||
|
struct deque;
|
||||||
|
|
||||||
|
template<
|
||||||
|
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector0< >
|
||||||
|
{
|
||||||
|
typedef vector0< >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector1<T0>
|
||||||
|
{
|
||||||
|
typedef typename vector1<T0>::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector2< T0,T1 >
|
||||||
|
{
|
||||||
|
typedef typename vector2< T0,T1 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector3< T0,T1,T2 >
|
||||||
|
{
|
||||||
|
typedef typename vector3< T0,T1,T2 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector4< T0,T1,T2,T3 >
|
||||||
|
{
|
||||||
|
typedef typename vector4< T0,T1,T2,T3 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector5< T0,T1,T2,T3,T4 >
|
||||||
|
{
|
||||||
|
typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector6< T0,T1,T2,T3,T4,T5 >
|
||||||
|
{
|
||||||
|
typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector7< T0,T1,T2,T3,T4,T5,T6 >
|
||||||
|
{
|
||||||
|
typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
|
||||||
|
{
|
||||||
|
typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
|
||||||
|
{
|
||||||
|
typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
|
||||||
|
{
|
||||||
|
typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
|
||||||
|
{
|
||||||
|
typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
|
||||||
|
{
|
||||||
|
typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
|
||||||
|
{
|
||||||
|
typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
|
||||||
|
{
|
||||||
|
typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: vector15<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, na, na, na, na
|
||||||
|
>
|
||||||
|
: vector16<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, na, na, na
|
||||||
|
>
|
||||||
|
: vector17<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, na, na
|
||||||
|
>
|
||||||
|
: vector18<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17, typename T18
|
||||||
|
>
|
||||||
|
struct deque<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18, na
|
||||||
|
>
|
||||||
|
: vector19<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// primary template (not a specialization!)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17, typename T18, typename T19
|
||||||
|
>
|
||||||
|
struct deque
|
||||||
|
: vector20<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18, T19
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
146
boost/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp
Normal file
146
boost/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "divides.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct divides_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct divides_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct divides_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct divides_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct divides_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
, typename N3 = na, typename N4 = na, typename N5 = na
|
||||||
|
>
|
||||||
|
struct divides
|
||||||
|
: divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
5
|
||||||
|
, divides
|
||||||
|
, ( N1, N2, N3, N4, N5 )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3, typename N4
|
||||||
|
>
|
||||||
|
struct divides< N1,N2,N3,N4,na >
|
||||||
|
|
||||||
|
: divides< divides< divides< N1,N2 >, N3>, N4>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, divides
|
||||||
|
, ( N1, N2, N3, N4, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3
|
||||||
|
>
|
||||||
|
struct divides< N1,N2,N3,na,na >
|
||||||
|
|
||||||
|
: divides< divides< N1,N2 >, N3>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, divides
|
||||||
|
, ( N1, N2, N3, na, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2
|
||||||
|
>
|
||||||
|
struct divides< N1,N2,na,na,na >
|
||||||
|
: divides_impl<
|
||||||
|
typename divides_tag<N1>::type
|
||||||
|
, typename divides_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, divides
|
||||||
|
, ( N1, N2, na, na, na )
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 5, divides)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
template<>
|
||||||
|
struct divides_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: integral_c<
|
||||||
|
typename aux::largest_int<
|
||||||
|
typename N1::value_type
|
||||||
|
, typename N2::value_type
|
||||||
|
>::type
|
||||||
|
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||||
|
/ BOOST_MPL_AUX_VALUE_WKND(N2)::value
|
||||||
|
)
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
94
boost/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp
Normal file
94
boost/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "equal_to.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct equal_to_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct equal_to_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct equal_to_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct equal_to_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct equal_to_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
>
|
||||||
|
struct equal_to
|
||||||
|
|
||||||
|
: equal_to_impl<
|
||||||
|
typename equal_to_tag<N1>::type
|
||||||
|
, typename equal_to_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2))
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct equal_to_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
180
boost/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp
Normal file
180
boost/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "fold_impl.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl { namespace aux {
|
||||||
|
|
||||||
|
/// forward declaration
|
||||||
|
|
||||||
|
template<
|
||||||
|
int N
|
||||||
|
, typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct fold_impl;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct fold_impl< 0,First,Last,State,ForwardOp >
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State state0;
|
||||||
|
typedef state0 state;
|
||||||
|
typedef iter0 iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct fold_impl< 1,First,Last,State,ForwardOp >
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State state0;
|
||||||
|
typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
|
||||||
|
|
||||||
|
typedef state1 state;
|
||||||
|
typedef iter1 iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct fold_impl< 2,First,Last,State,ForwardOp >
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State state0;
|
||||||
|
typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
|
||||||
|
|
||||||
|
typedef state2 state;
|
||||||
|
typedef iter2 iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct fold_impl< 3,First,Last,State,ForwardOp >
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State state0;
|
||||||
|
typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
|
||||||
|
typedef typename mpl::next<iter2>::type iter3;
|
||||||
|
|
||||||
|
|
||||||
|
typedef state3 state;
|
||||||
|
typedef iter3 iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct fold_impl< 4,First,Last,State,ForwardOp >
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State state0;
|
||||||
|
typedef typename apply2< ForwardOp, state0, typename deref<iter0>::type >::type state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp, state1, typename deref<iter1>::type >::type state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
typedef typename apply2< ForwardOp, state2, typename deref<iter2>::type >::type state3;
|
||||||
|
typedef typename mpl::next<iter2>::type iter3;
|
||||||
|
typedef typename apply2< ForwardOp, state3, typename deref<iter3>::type >::type state4;
|
||||||
|
typedef typename mpl::next<iter3>::type iter4;
|
||||||
|
|
||||||
|
|
||||||
|
typedef state4 state;
|
||||||
|
typedef iter4 iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
int N
|
||||||
|
, typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct fold_impl
|
||||||
|
{
|
||||||
|
typedef fold_impl<
|
||||||
|
4
|
||||||
|
, First
|
||||||
|
, Last
|
||||||
|
, State
|
||||||
|
, ForwardOp
|
||||||
|
> chunk_;
|
||||||
|
|
||||||
|
typedef fold_impl<
|
||||||
|
( (N - 4) < 0 ? 0 : N - 4 )
|
||||||
|
, typename chunk_::iterator
|
||||||
|
, Last
|
||||||
|
, typename chunk_::state
|
||||||
|
, ForwardOp
|
||||||
|
> res_;
|
||||||
|
|
||||||
|
typedef typename res_::state state;
|
||||||
|
typedef typename res_::iterator iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct fold_impl< -1,First,Last,State,ForwardOp >
|
||||||
|
: fold_impl<
|
||||||
|
-1
|
||||||
|
, typename mpl::next<First>::type
|
||||||
|
, Last
|
||||||
|
, typename apply2<ForwardOp,State, typename deref<First>::type>::type
|
||||||
|
, ForwardOp
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct fold_impl< -1,Last,Last,State,ForwardOp >
|
||||||
|
{
|
||||||
|
typedef State state;
|
||||||
|
typedef Last iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
}}}
|
558
boost/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp
Normal file
558
boost/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp
Normal file
@ -0,0 +1,558 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2001-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "full_lambda.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
|
||||||
|
, bool C5 = false
|
||||||
|
>
|
||||||
|
struct lambda_or
|
||||||
|
: true_
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct lambda_or< false,false,false,false,false >
|
||||||
|
: false_
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T
|
||||||
|
, typename Tag
|
||||||
|
, typename Arity
|
||||||
|
>
|
||||||
|
struct lambda
|
||||||
|
{
|
||||||
|
typedef false_ is_le;
|
||||||
|
typedef T result_;
|
||||||
|
typedef T type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T
|
||||||
|
>
|
||||||
|
struct is_lambda_expression
|
||||||
|
: lambda<T>::is_le
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template< int N, typename Tag >
|
||||||
|
struct lambda< arg<N>,Tag, int_< -1 > >
|
||||||
|
{
|
||||||
|
typedef true_ is_le;
|
||||||
|
typedef mpl::arg<N> result_; // qualified for the sake of MIPSpro 7.41
|
||||||
|
typedef mpl::protect<result_> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
, typename Tag
|
||||||
|
>
|
||||||
|
struct lambda<
|
||||||
|
bind0<F>
|
||||||
|
, Tag
|
||||||
|
, int_<1>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef false_ is_le;
|
||||||
|
typedef bind0<
|
||||||
|
F
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef result_ type;
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename IsLE, typename Tag
|
||||||
|
, template< typename P1 > class F
|
||||||
|
, typename L1
|
||||||
|
>
|
||||||
|
struct le_result1
|
||||||
|
{
|
||||||
|
typedef F<
|
||||||
|
typename L1::type
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef result_ type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag
|
||||||
|
, template< typename P1 > class F
|
||||||
|
, typename L1
|
||||||
|
>
|
||||||
|
struct le_result1< true_,Tag,F,L1 >
|
||||||
|
{
|
||||||
|
typedef bind1<
|
||||||
|
quote1< F,Tag >
|
||||||
|
, typename L1::result_
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef mpl::protect<result_> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
template<
|
||||||
|
template< typename P1 > class F
|
||||||
|
, typename T1
|
||||||
|
, typename Tag
|
||||||
|
>
|
||||||
|
struct lambda<
|
||||||
|
F<T1>
|
||||||
|
, Tag
|
||||||
|
, int_<1>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef lambda< T1,Tag > l1;
|
||||||
|
typedef typename l1::is_le is_le1;
|
||||||
|
typedef typename aux::lambda_or<
|
||||||
|
is_le1::value
|
||||||
|
>::type is_le;
|
||||||
|
|
||||||
|
typedef aux::le_result1<
|
||||||
|
is_le, Tag, F, l1
|
||||||
|
> le_result_;
|
||||||
|
|
||||||
|
typedef typename le_result_::result_ result_;
|
||||||
|
typedef typename le_result_::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1
|
||||||
|
, typename Tag
|
||||||
|
>
|
||||||
|
struct lambda<
|
||||||
|
bind1< F,T1 >
|
||||||
|
, Tag
|
||||||
|
, int_<2>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef false_ is_le;
|
||||||
|
typedef bind1<
|
||||||
|
F
|
||||||
|
, T1
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef result_ type;
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename IsLE, typename Tag
|
||||||
|
, template< typename P1, typename P2 > class F
|
||||||
|
, typename L1, typename L2
|
||||||
|
>
|
||||||
|
struct le_result2
|
||||||
|
{
|
||||||
|
typedef F<
|
||||||
|
typename L1::type, typename L2::type
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef result_ type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag
|
||||||
|
, template< typename P1, typename P2 > class F
|
||||||
|
, typename L1, typename L2
|
||||||
|
>
|
||||||
|
struct le_result2< true_,Tag,F,L1,L2 >
|
||||||
|
{
|
||||||
|
typedef bind2<
|
||||||
|
quote2< F,Tag >
|
||||||
|
, typename L1::result_, typename L2::result_
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef mpl::protect<result_> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
template<
|
||||||
|
template< typename P1, typename P2 > class F
|
||||||
|
, typename T1, typename T2
|
||||||
|
, typename Tag
|
||||||
|
>
|
||||||
|
struct lambda<
|
||||||
|
F< T1,T2 >
|
||||||
|
, Tag
|
||||||
|
, int_<2>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef lambda< T1,Tag > l1;
|
||||||
|
typedef lambda< T2,Tag > l2;
|
||||||
|
|
||||||
|
typedef typename l1::is_le is_le1;
|
||||||
|
typedef typename l2::is_le is_le2;
|
||||||
|
|
||||||
|
|
||||||
|
typedef typename aux::lambda_or<
|
||||||
|
is_le1::value, is_le2::value
|
||||||
|
>::type is_le;
|
||||||
|
|
||||||
|
typedef aux::le_result2<
|
||||||
|
is_le, Tag, F, l1, l2
|
||||||
|
> le_result_;
|
||||||
|
|
||||||
|
typedef typename le_result_::result_ result_;
|
||||||
|
typedef typename le_result_::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2
|
||||||
|
, typename Tag
|
||||||
|
>
|
||||||
|
struct lambda<
|
||||||
|
bind2< F,T1,T2 >
|
||||||
|
, Tag
|
||||||
|
, int_<3>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef false_ is_le;
|
||||||
|
typedef bind2<
|
||||||
|
F
|
||||||
|
, T1, T2
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef result_ type;
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename IsLE, typename Tag
|
||||||
|
, template< typename P1, typename P2, typename P3 > class F
|
||||||
|
, typename L1, typename L2, typename L3
|
||||||
|
>
|
||||||
|
struct le_result3
|
||||||
|
{
|
||||||
|
typedef F<
|
||||||
|
typename L1::type, typename L2::type, typename L3::type
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef result_ type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag
|
||||||
|
, template< typename P1, typename P2, typename P3 > class F
|
||||||
|
, typename L1, typename L2, typename L3
|
||||||
|
>
|
||||||
|
struct le_result3< true_,Tag,F,L1,L2,L3 >
|
||||||
|
{
|
||||||
|
typedef bind3<
|
||||||
|
quote3< F,Tag >
|
||||||
|
, typename L1::result_, typename L2::result_, typename L3::result_
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef mpl::protect<result_> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
template<
|
||||||
|
template< typename P1, typename P2, typename P3 > class F
|
||||||
|
, typename T1, typename T2, typename T3
|
||||||
|
, typename Tag
|
||||||
|
>
|
||||||
|
struct lambda<
|
||||||
|
F< T1,T2,T3 >
|
||||||
|
, Tag
|
||||||
|
, int_<3>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef lambda< T1,Tag > l1;
|
||||||
|
typedef lambda< T2,Tag > l2;
|
||||||
|
typedef lambda< T3,Tag > l3;
|
||||||
|
|
||||||
|
typedef typename l1::is_le is_le1;
|
||||||
|
typedef typename l2::is_le is_le2;
|
||||||
|
typedef typename l3::is_le is_le3;
|
||||||
|
|
||||||
|
|
||||||
|
typedef typename aux::lambda_or<
|
||||||
|
is_le1::value, is_le2::value, is_le3::value
|
||||||
|
>::type is_le;
|
||||||
|
|
||||||
|
typedef aux::le_result3<
|
||||||
|
is_le, Tag, F, l1, l2, l3
|
||||||
|
> le_result_;
|
||||||
|
|
||||||
|
typedef typename le_result_::result_ result_;
|
||||||
|
typedef typename le_result_::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3
|
||||||
|
, typename Tag
|
||||||
|
>
|
||||||
|
struct lambda<
|
||||||
|
bind3< F,T1,T2,T3 >
|
||||||
|
, Tag
|
||||||
|
, int_<4>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef false_ is_le;
|
||||||
|
typedef bind3<
|
||||||
|
F
|
||||||
|
, T1, T2, T3
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef result_ type;
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename IsLE, typename Tag
|
||||||
|
, template< typename P1, typename P2, typename P3, typename P4 > class F
|
||||||
|
, typename L1, typename L2, typename L3, typename L4
|
||||||
|
>
|
||||||
|
struct le_result4
|
||||||
|
{
|
||||||
|
typedef F<
|
||||||
|
typename L1::type, typename L2::type, typename L3::type
|
||||||
|
, typename L4::type
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef result_ type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag
|
||||||
|
, template< typename P1, typename P2, typename P3, typename P4 > class F
|
||||||
|
, typename L1, typename L2, typename L3, typename L4
|
||||||
|
>
|
||||||
|
struct le_result4< true_,Tag,F,L1,L2,L3,L4 >
|
||||||
|
{
|
||||||
|
typedef bind4<
|
||||||
|
quote4< F,Tag >
|
||||||
|
, typename L1::result_, typename L2::result_, typename L3::result_
|
||||||
|
, typename L4::result_
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef mpl::protect<result_> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
template<
|
||||||
|
template< typename P1, typename P2, typename P3, typename P4 > class F
|
||||||
|
, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename Tag
|
||||||
|
>
|
||||||
|
struct lambda<
|
||||||
|
F< T1,T2,T3,T4 >
|
||||||
|
, Tag
|
||||||
|
, int_<4>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef lambda< T1,Tag > l1;
|
||||||
|
typedef lambda< T2,Tag > l2;
|
||||||
|
typedef lambda< T3,Tag > l3;
|
||||||
|
typedef lambda< T4,Tag > l4;
|
||||||
|
|
||||||
|
typedef typename l1::is_le is_le1;
|
||||||
|
typedef typename l2::is_le is_le2;
|
||||||
|
typedef typename l3::is_le is_le3;
|
||||||
|
typedef typename l4::is_le is_le4;
|
||||||
|
|
||||||
|
|
||||||
|
typedef typename aux::lambda_or<
|
||||||
|
is_le1::value, is_le2::value, is_le3::value, is_le4::value
|
||||||
|
>::type is_le;
|
||||||
|
|
||||||
|
typedef aux::le_result4<
|
||||||
|
is_le, Tag, F, l1, l2, l3, l4
|
||||||
|
> le_result_;
|
||||||
|
|
||||||
|
typedef typename le_result_::result_ result_;
|
||||||
|
typedef typename le_result_::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename Tag
|
||||||
|
>
|
||||||
|
struct lambda<
|
||||||
|
bind4< F,T1,T2,T3,T4 >
|
||||||
|
, Tag
|
||||||
|
, int_<5>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef false_ is_le;
|
||||||
|
typedef bind4<
|
||||||
|
F
|
||||||
|
, T1, T2, T3, T4
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef result_ type;
|
||||||
|
};
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename IsLE, typename Tag
|
||||||
|
, template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
|
||||||
|
, typename L1, typename L2, typename L3, typename L4, typename L5
|
||||||
|
>
|
||||||
|
struct le_result5
|
||||||
|
{
|
||||||
|
typedef F<
|
||||||
|
typename L1::type, typename L2::type, typename L3::type
|
||||||
|
, typename L4::type, typename L5::type
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef result_ type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag
|
||||||
|
, template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F
|
||||||
|
, typename L1, typename L2, typename L3, typename L4, typename L5
|
||||||
|
>
|
||||||
|
struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 >
|
||||||
|
{
|
||||||
|
typedef bind5<
|
||||||
|
quote5< F,Tag >
|
||||||
|
, typename L1::result_, typename L2::result_, typename L3::result_
|
||||||
|
, typename L4::result_, typename L5::result_
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef mpl::protect<result_> type;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
template<
|
||||||
|
template<
|
||||||
|
typename P1, typename P2, typename P3, typename P4
|
||||||
|
, typename P5
|
||||||
|
>
|
||||||
|
class F
|
||||||
|
, typename T1, typename T2, typename T3, typename T4, typename T5
|
||||||
|
, typename Tag
|
||||||
|
>
|
||||||
|
struct lambda<
|
||||||
|
F< T1,T2,T3,T4,T5 >
|
||||||
|
, Tag
|
||||||
|
, int_<5>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef lambda< T1,Tag > l1;
|
||||||
|
typedef lambda< T2,Tag > l2;
|
||||||
|
typedef lambda< T3,Tag > l3;
|
||||||
|
typedef lambda< T4,Tag > l4;
|
||||||
|
typedef lambda< T5,Tag > l5;
|
||||||
|
|
||||||
|
typedef typename l1::is_le is_le1;
|
||||||
|
typedef typename l2::is_le is_le2;
|
||||||
|
typedef typename l3::is_le is_le3;
|
||||||
|
typedef typename l4::is_le is_le4;
|
||||||
|
typedef typename l5::is_le is_le5;
|
||||||
|
|
||||||
|
|
||||||
|
typedef typename aux::lambda_or<
|
||||||
|
is_le1::value, is_le2::value, is_le3::value, is_le4::value
|
||||||
|
, is_le5::value
|
||||||
|
>::type is_le;
|
||||||
|
|
||||||
|
typedef aux::le_result5<
|
||||||
|
is_le, Tag, F, l1, l2, l3, l4, l5
|
||||||
|
> le_result_;
|
||||||
|
|
||||||
|
typedef typename le_result_::result_ result_;
|
||||||
|
typedef typename le_result_::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
, typename Tag
|
||||||
|
>
|
||||||
|
struct lambda<
|
||||||
|
bind5< F,T1,T2,T3,T4,T5 >
|
||||||
|
, Tag
|
||||||
|
, int_<6>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef false_ is_le;
|
||||||
|
typedef bind5<
|
||||||
|
F
|
||||||
|
, T1, T2, T3, T4, T5
|
||||||
|
> result_;
|
||||||
|
|
||||||
|
typedef result_ type;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// special case for 'protect'
|
||||||
|
template< typename T, typename Tag >
|
||||||
|
struct lambda< mpl::protect<T>,Tag, int_<1> >
|
||||||
|
{
|
||||||
|
typedef false_ is_le;
|
||||||
|
typedef mpl::protect<T> result_;
|
||||||
|
typedef result_ type;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// specializations for the main 'bind' form
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
, typename Tag
|
||||||
|
>
|
||||||
|
struct lambda<
|
||||||
|
bind< F,T1,T2,T3,T4,T5 >
|
||||||
|
, Tag
|
||||||
|
, int_<6>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef false_ is_le;
|
||||||
|
typedef bind< F,T1,T2,T3,T4,T5 > result_;
|
||||||
|
typedef result_ type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
, typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
, typename Arity
|
||||||
|
>
|
||||||
|
struct lambda<
|
||||||
|
lambda< F,Tag1,Arity >
|
||||||
|
, Tag2
|
||||||
|
, int_<3>
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef lambda< F,Tag2 > l1;
|
||||||
|
typedef lambda< Tag1,Tag2 > l2;
|
||||||
|
typedef typename l1::is_le is_le;
|
||||||
|
typedef bind1< quote1<aux::template_arity>, typename l1::result_ > arity_;
|
||||||
|
typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3;
|
||||||
|
typedef aux::le_result3<is_le, Tag2, mpl::lambda, l1, l2, l3> le_result_;
|
||||||
|
typedef typename le_result_::result_ result_;
|
||||||
|
typedef typename le_result_::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
94
boost/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp
Normal file
94
boost/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "greater.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct greater_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct greater_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct greater_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct greater_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct greater_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
>
|
||||||
|
struct greater
|
||||||
|
|
||||||
|
: greater_impl<
|
||||||
|
typename greater_tag<N1>::type
|
||||||
|
, typename greater_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2))
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 2, greater)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct greater_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
@ -0,0 +1,94 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "greater_equal.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct greater_equal_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct greater_equal_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct greater_equal_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct greater_equal_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct greater_equal_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
>
|
||||||
|
struct greater_equal
|
||||||
|
|
||||||
|
: greater_equal_impl<
|
||||||
|
typename greater_equal_tag<N1>::type
|
||||||
|
, typename greater_equal_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2))
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct greater_equal_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
139
boost/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp
Normal file
139
boost/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2001-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "inherit.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(T1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(T2)
|
||||||
|
>
|
||||||
|
struct inherit2
|
||||||
|
: T1, T2
|
||||||
|
{
|
||||||
|
typedef inherit2 type;
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2))
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T1 >
|
||||||
|
struct inherit2< T1,empty_base >
|
||||||
|
{
|
||||||
|
typedef T1 type;
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base))
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T2 >
|
||||||
|
struct inherit2< empty_base,T2 >
|
||||||
|
{
|
||||||
|
typedef T2 type;
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2))
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct inherit2< empty_base,empty_base >
|
||||||
|
{
|
||||||
|
typedef empty_base type;
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base))
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC(2, inherit2)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T1 = na, typename T2 = na, typename T3 = na
|
||||||
|
>
|
||||||
|
struct inherit3
|
||||||
|
: inherit2<
|
||||||
|
typename inherit2<
|
||||||
|
T1, T2
|
||||||
|
>::type
|
||||||
|
, T3
|
||||||
|
>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
3
|
||||||
|
, inherit3
|
||||||
|
, ( T1, T2, T3)
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC(3, inherit3)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
|
||||||
|
>
|
||||||
|
struct inherit4
|
||||||
|
: inherit2<
|
||||||
|
typename inherit3<
|
||||||
|
T1, T2, T3
|
||||||
|
>::type
|
||||||
|
, T4
|
||||||
|
>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
4
|
||||||
|
, inherit4
|
||||||
|
, ( T1, T2, T3, T4)
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC(4, inherit4)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na
|
||||||
|
, typename T5 = na
|
||||||
|
>
|
||||||
|
struct inherit5
|
||||||
|
: inherit2<
|
||||||
|
typename inherit4<
|
||||||
|
T1, T2, T3, T4
|
||||||
|
>::type
|
||||||
|
, T5
|
||||||
|
>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
5
|
||||||
|
, inherit5
|
||||||
|
, ( T1, T2, T3, T4, T5)
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC(5, inherit5)
|
||||||
|
|
||||||
|
/// primary template
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T1 = empty_base, typename T2 = empty_base
|
||||||
|
, typename T3 = empty_base, typename T4 = empty_base
|
||||||
|
, typename T5 = empty_base
|
||||||
|
>
|
||||||
|
struct inherit
|
||||||
|
: inherit5< T1,T2,T3,T4,T5 >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct inherit< na,na,na,na,na >
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
|
||||||
|
typename T1, typename T2, typename T3, typename T4, typename T5
|
||||||
|
|
||||||
|
>
|
||||||
|
struct apply
|
||||||
|
: inherit< T1,T2,T3,T4,T5 >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit)
|
||||||
|
BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit)
|
||||||
|
BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit)
|
||||||
|
}}
|
||||||
|
|
@ -0,0 +1,133 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2001-2004
|
||||||
|
// Copyright David Abrahams 2001-2002
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "iter_fold_if_impl.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl { namespace aux {
|
||||||
|
|
||||||
|
template< typename Iterator, typename State >
|
||||||
|
struct iter_fold_if_null_step
|
||||||
|
{
|
||||||
|
typedef State state;
|
||||||
|
typedef Iterator iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template< bool >
|
||||||
|
struct iter_fold_if_step_impl
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename Iterator
|
||||||
|
, typename State
|
||||||
|
, typename StateOp
|
||||||
|
, typename IteratorOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef typename apply2< StateOp,State,Iterator >::type state;
|
||||||
|
typedef typename IteratorOp::type iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct iter_fold_if_step_impl<false>
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename Iterator
|
||||||
|
, typename State
|
||||||
|
, typename StateOp
|
||||||
|
, typename IteratorOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef State state;
|
||||||
|
typedef Iterator iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Iterator
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
, typename Predicate
|
||||||
|
>
|
||||||
|
struct iter_fold_if_forward_step
|
||||||
|
{
|
||||||
|
typedef typename apply2< Predicate,State,Iterator >::type not_last;
|
||||||
|
typedef typename iter_fold_if_step_impl<
|
||||||
|
BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
|
||||||
|
>::template result_< Iterator,State,ForwardOp, mpl::next<Iterator> > impl_;
|
||||||
|
|
||||||
|
typedef typename impl_::state state;
|
||||||
|
typedef typename impl_::iterator iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Iterator
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename Predicate
|
||||||
|
>
|
||||||
|
struct iter_fold_if_backward_step
|
||||||
|
{
|
||||||
|
typedef typename apply2< Predicate,State,Iterator >::type not_last;
|
||||||
|
typedef typename iter_fold_if_step_impl<
|
||||||
|
BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value
|
||||||
|
>::template result_< Iterator,State,BackwardOp, identity<Iterator> > impl_;
|
||||||
|
|
||||||
|
typedef typename impl_::state state;
|
||||||
|
typedef typename impl_::iterator iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Iterator
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
, typename ForwardPredicate
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename BackwardPredicate
|
||||||
|
>
|
||||||
|
struct iter_fold_if_impl
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
typedef iter_fold_if_null_step< Iterator,State > forward_step0;
|
||||||
|
typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1;
|
||||||
|
typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2;
|
||||||
|
typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3;
|
||||||
|
typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4;
|
||||||
|
|
||||||
|
|
||||||
|
typedef typename if_<
|
||||||
|
typename forward_step4::not_last
|
||||||
|
, iter_fold_if_impl<
|
||||||
|
typename forward_step4::iterator
|
||||||
|
, typename forward_step4::state
|
||||||
|
, ForwardOp
|
||||||
|
, ForwardPredicate
|
||||||
|
, BackwardOp
|
||||||
|
, BackwardPredicate
|
||||||
|
>
|
||||||
|
, iter_fold_if_null_step<
|
||||||
|
typename forward_step4::iterator
|
||||||
|
, typename forward_step4::state
|
||||||
|
>
|
||||||
|
>::type backward_step4;
|
||||||
|
|
||||||
|
typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3;
|
||||||
|
typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2;
|
||||||
|
typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1;
|
||||||
|
typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0;
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
typedef typename backward_step0::state state;
|
||||||
|
typedef typename backward_step4::iterator iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
}}}
|
180
boost/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp
Normal file
180
boost/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "iter_fold_impl.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl { namespace aux {
|
||||||
|
|
||||||
|
/// forward declaration
|
||||||
|
|
||||||
|
template<
|
||||||
|
int N
|
||||||
|
, typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct iter_fold_impl;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct iter_fold_impl< 0,First,Last,State,ForwardOp >
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State state0;
|
||||||
|
typedef state0 state;
|
||||||
|
typedef iter0 iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct iter_fold_impl< 1,First,Last,State,ForwardOp >
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State state0;
|
||||||
|
typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
|
||||||
|
|
||||||
|
typedef state1 state;
|
||||||
|
typedef iter1 iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct iter_fold_impl< 2,First,Last,State,ForwardOp >
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State state0;
|
||||||
|
typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
|
||||||
|
|
||||||
|
typedef state2 state;
|
||||||
|
typedef iter2 iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct iter_fold_impl< 3,First,Last,State,ForwardOp >
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State state0;
|
||||||
|
typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
|
||||||
|
typedef typename mpl::next<iter2>::type iter3;
|
||||||
|
|
||||||
|
|
||||||
|
typedef state3 state;
|
||||||
|
typedef iter3 iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct iter_fold_impl< 4,First,Last,State,ForwardOp >
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State state0;
|
||||||
|
typedef typename apply2< ForwardOp,state0,iter0 >::type state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp,state1,iter1 >::type state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
typedef typename apply2< ForwardOp,state2,iter2 >::type state3;
|
||||||
|
typedef typename mpl::next<iter2>::type iter3;
|
||||||
|
typedef typename apply2< ForwardOp,state3,iter3 >::type state4;
|
||||||
|
typedef typename mpl::next<iter3>::type iter4;
|
||||||
|
|
||||||
|
|
||||||
|
typedef state4 state;
|
||||||
|
typedef iter4 iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
int N
|
||||||
|
, typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct iter_fold_impl
|
||||||
|
{
|
||||||
|
typedef iter_fold_impl<
|
||||||
|
4
|
||||||
|
, First
|
||||||
|
, Last
|
||||||
|
, State
|
||||||
|
, ForwardOp
|
||||||
|
> chunk_;
|
||||||
|
|
||||||
|
typedef iter_fold_impl<
|
||||||
|
( (N - 4) < 0 ? 0 : N - 4 )
|
||||||
|
, typename chunk_::iterator
|
||||||
|
, Last
|
||||||
|
, typename chunk_::state
|
||||||
|
, ForwardOp
|
||||||
|
> res_;
|
||||||
|
|
||||||
|
typedef typename res_::state state;
|
||||||
|
typedef typename res_::iterator iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct iter_fold_impl< -1,First,Last,State,ForwardOp >
|
||||||
|
: iter_fold_impl<
|
||||||
|
-1
|
||||||
|
, typename mpl::next<First>::type
|
||||||
|
, Last
|
||||||
|
, typename apply2< ForwardOp,State,First >::type
|
||||||
|
, ForwardOp
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Last
|
||||||
|
, typename State
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct iter_fold_impl< -1,Last,Last,State,ForwardOp >
|
||||||
|
{
|
||||||
|
typedef State state;
|
||||||
|
typedef Last iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
}}}
|
229
boost/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp
Normal file
229
boost/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp
Normal file
@ -0,0 +1,229 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "lambda_no_ctps.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template<
|
||||||
|
bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false
|
||||||
|
, bool C5 = false
|
||||||
|
>
|
||||||
|
struct lambda_or
|
||||||
|
: true_
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct lambda_or< false,false,false,false,false >
|
||||||
|
: false_
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Arity > struct lambda_impl
|
||||||
|
{
|
||||||
|
template< typename T, typename Tag, typename Protect > struct result_
|
||||||
|
{
|
||||||
|
typedef T type;
|
||||||
|
typedef is_placeholder<T> is_le;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct lambda_impl< int_<1> >
|
||||||
|
{
|
||||||
|
template< typename F, typename Tag, typename Protect > struct result_
|
||||||
|
{
|
||||||
|
typedef lambda< typename F::arg1, Tag, false_ > l1;
|
||||||
|
typedef typename l1::is_le is_le1;
|
||||||
|
typedef aux::lambda_or<
|
||||||
|
BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value
|
||||||
|
> is_le;
|
||||||
|
|
||||||
|
typedef bind1<
|
||||||
|
typename F::rebind
|
||||||
|
, typename l1::type
|
||||||
|
> bind_;
|
||||||
|
|
||||||
|
typedef typename if_<
|
||||||
|
is_le
|
||||||
|
, if_< Protect, mpl::protect<bind_>, bind_ >
|
||||||
|
, identity<F>
|
||||||
|
>::type type_;
|
||||||
|
|
||||||
|
typedef typename type_::type type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct lambda_impl< int_<2> >
|
||||||
|
{
|
||||||
|
template< typename F, typename Tag, typename Protect > struct result_
|
||||||
|
{
|
||||||
|
typedef lambda< typename F::arg1, Tag, false_ > l1;
|
||||||
|
typedef lambda< typename F::arg2, Tag, false_ > l2;
|
||||||
|
|
||||||
|
typedef typename l1::is_le is_le1;
|
||||||
|
typedef typename l2::is_le is_le2;
|
||||||
|
|
||||||
|
|
||||||
|
typedef aux::lambda_or<
|
||||||
|
BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value
|
||||||
|
> is_le;
|
||||||
|
|
||||||
|
typedef bind2<
|
||||||
|
typename F::rebind
|
||||||
|
, typename l1::type, typename l2::type
|
||||||
|
> bind_;
|
||||||
|
|
||||||
|
typedef typename if_<
|
||||||
|
is_le
|
||||||
|
, if_< Protect, mpl::protect<bind_>, bind_ >
|
||||||
|
, identity<F>
|
||||||
|
>::type type_;
|
||||||
|
|
||||||
|
typedef typename type_::type type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct lambda_impl< int_<3> >
|
||||||
|
{
|
||||||
|
template< typename F, typename Tag, typename Protect > struct result_
|
||||||
|
{
|
||||||
|
typedef lambda< typename F::arg1, Tag, false_ > l1;
|
||||||
|
typedef lambda< typename F::arg2, Tag, false_ > l2;
|
||||||
|
typedef lambda< typename F::arg3, Tag, false_ > l3;
|
||||||
|
|
||||||
|
typedef typename l1::is_le is_le1;
|
||||||
|
typedef typename l2::is_le is_le2;
|
||||||
|
typedef typename l3::is_le is_le3;
|
||||||
|
|
||||||
|
|
||||||
|
typedef aux::lambda_or<
|
||||||
|
BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value
|
||||||
|
> is_le;
|
||||||
|
|
||||||
|
typedef bind3<
|
||||||
|
typename F::rebind
|
||||||
|
, typename l1::type, typename l2::type, typename l3::type
|
||||||
|
> bind_;
|
||||||
|
|
||||||
|
typedef typename if_<
|
||||||
|
is_le
|
||||||
|
, if_< Protect, mpl::protect<bind_>, bind_ >
|
||||||
|
, identity<F>
|
||||||
|
>::type type_;
|
||||||
|
|
||||||
|
typedef typename type_::type type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct lambda_impl< int_<4> >
|
||||||
|
{
|
||||||
|
template< typename F, typename Tag, typename Protect > struct result_
|
||||||
|
{
|
||||||
|
typedef lambda< typename F::arg1, Tag, false_ > l1;
|
||||||
|
typedef lambda< typename F::arg2, Tag, false_ > l2;
|
||||||
|
typedef lambda< typename F::arg3, Tag, false_ > l3;
|
||||||
|
typedef lambda< typename F::arg4, Tag, false_ > l4;
|
||||||
|
|
||||||
|
typedef typename l1::is_le is_le1;
|
||||||
|
typedef typename l2::is_le is_le2;
|
||||||
|
typedef typename l3::is_le is_le3;
|
||||||
|
typedef typename l4::is_le is_le4;
|
||||||
|
|
||||||
|
|
||||||
|
typedef aux::lambda_or<
|
||||||
|
BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value
|
||||||
|
> is_le;
|
||||||
|
|
||||||
|
typedef bind4<
|
||||||
|
typename F::rebind
|
||||||
|
, typename l1::type, typename l2::type, typename l3::type
|
||||||
|
, typename l4::type
|
||||||
|
> bind_;
|
||||||
|
|
||||||
|
typedef typename if_<
|
||||||
|
is_le
|
||||||
|
, if_< Protect, mpl::protect<bind_>, bind_ >
|
||||||
|
, identity<F>
|
||||||
|
>::type type_;
|
||||||
|
|
||||||
|
typedef typename type_::type type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct lambda_impl< int_<5> >
|
||||||
|
{
|
||||||
|
template< typename F, typename Tag, typename Protect > struct result_
|
||||||
|
{
|
||||||
|
typedef lambda< typename F::arg1, Tag, false_ > l1;
|
||||||
|
typedef lambda< typename F::arg2, Tag, false_ > l2;
|
||||||
|
typedef lambda< typename F::arg3, Tag, false_ > l3;
|
||||||
|
typedef lambda< typename F::arg4, Tag, false_ > l4;
|
||||||
|
typedef lambda< typename F::arg5, Tag, false_ > l5;
|
||||||
|
|
||||||
|
typedef typename l1::is_le is_le1;
|
||||||
|
typedef typename l2::is_le is_le2;
|
||||||
|
typedef typename l3::is_le is_le3;
|
||||||
|
typedef typename l4::is_le is_le4;
|
||||||
|
typedef typename l5::is_le is_le5;
|
||||||
|
|
||||||
|
|
||||||
|
typedef aux::lambda_or<
|
||||||
|
BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value
|
||||||
|
> is_le;
|
||||||
|
|
||||||
|
typedef bind5<
|
||||||
|
typename F::rebind
|
||||||
|
, typename l1::type, typename l2::type, typename l3::type
|
||||||
|
, typename l4::type, typename l5::type
|
||||||
|
> bind_;
|
||||||
|
|
||||||
|
typedef typename if_<
|
||||||
|
is_le
|
||||||
|
, if_< Protect, mpl::protect<bind_>, bind_ >
|
||||||
|
, identity<F>
|
||||||
|
>::type type_;
|
||||||
|
|
||||||
|
typedef typename type_::type type;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T
|
||||||
|
, typename Tag
|
||||||
|
, typename Protect
|
||||||
|
>
|
||||||
|
struct lambda
|
||||||
|
{
|
||||||
|
/// Metafunction forwarding confuses MSVC 6.x
|
||||||
|
typedef typename aux::template_arity<T>::type arity_;
|
||||||
|
typedef typename aux::lambda_impl<arity_>
|
||||||
|
::template result_< T,Tag,Protect > l_;
|
||||||
|
|
||||||
|
typedef typename l_::type type;
|
||||||
|
typedef typename l_::is_le is_le;
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect))
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T
|
||||||
|
>
|
||||||
|
struct is_lambda_expression
|
||||||
|
: lambda<T>::is_le
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
94
boost/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp
Normal file
94
boost/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "less.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct less_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct less_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct less_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct less_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct less_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
>
|
||||||
|
struct less
|
||||||
|
|
||||||
|
: less_impl<
|
||||||
|
typename less_tag<N1>::type
|
||||||
|
, typename less_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2))
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 2, less)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct less_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
94
boost/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp
Normal file
94
boost/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "less_equal.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct less_equal_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct less_equal_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct less_equal_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct less_equal_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct less_equal_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
>
|
||||||
|
struct less_equal
|
||||||
|
|
||||||
|
: less_equal_impl<
|
||||||
|
typename less_equal_tag<N1>::type
|
||||||
|
, typename less_equal_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2))
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct less_equal_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
323
boost/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp
Normal file
323
boost/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp
Normal file
@ -0,0 +1,323 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "list.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
|
||||||
|
, typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
|
||||||
|
, typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
|
||||||
|
, typename T12 = na, typename T13 = na, typename T14 = na
|
||||||
|
, typename T15 = na, typename T16 = na, typename T17 = na
|
||||||
|
, typename T18 = na, typename T19 = na
|
||||||
|
>
|
||||||
|
struct list;
|
||||||
|
|
||||||
|
template<
|
||||||
|
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: list0< >
|
||||||
|
{
|
||||||
|
typedef list0< >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: list1<T0>
|
||||||
|
{
|
||||||
|
typedef typename list1<T0>::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: list2< T0,T1 >
|
||||||
|
{
|
||||||
|
typedef typename list2< T0,T1 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: list3< T0,T1,T2 >
|
||||||
|
{
|
||||||
|
typedef typename list3< T0,T1,T2 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: list4< T0,T1,T2,T3 >
|
||||||
|
{
|
||||||
|
typedef typename list4< T0,T1,T2,T3 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: list5< T0,T1,T2,T3,T4 >
|
||||||
|
{
|
||||||
|
typedef typename list5< T0,T1,T2,T3,T4 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: list6< T0,T1,T2,T3,T4,T5 >
|
||||||
|
{
|
||||||
|
typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: list7< T0,T1,T2,T3,T4,T5,T6 >
|
||||||
|
{
|
||||||
|
typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: list8< T0,T1,T2,T3,T4,T5,T6,T7 >
|
||||||
|
{
|
||||||
|
typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
|
||||||
|
{
|
||||||
|
typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
|
||||||
|
{
|
||||||
|
typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
|
||||||
|
{
|
||||||
|
typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
|
||||||
|
{
|
||||||
|
typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
|
||||||
|
{
|
||||||
|
typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
|
||||||
|
{
|
||||||
|
typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: list15<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, na, na, na, na
|
||||||
|
>
|
||||||
|
: list16<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, na, na, na
|
||||||
|
>
|
||||||
|
: list17<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, na, na
|
||||||
|
>
|
||||||
|
: list18<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17, typename T18
|
||||||
|
>
|
||||||
|
struct list<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18, na
|
||||||
|
>
|
||||||
|
: list19<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// primary template (not a specialization!)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17, typename T18, typename T19
|
||||||
|
>
|
||||||
|
struct list
|
||||||
|
: list20<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18, T19
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
328
boost/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp
Normal file
328
boost/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp
Normal file
@ -0,0 +1,328 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "list_c.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
|
||||||
|
, long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
|
||||||
|
, long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
|
||||||
|
, long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
|
||||||
|
, long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
|
||||||
|
, long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
|
||||||
|
, long C18 = LONG_MAX, long C19 = LONG_MAX
|
||||||
|
>
|
||||||
|
struct list_c;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list0_c<T>
|
||||||
|
{
|
||||||
|
typedef typename list0_c<T>::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list1_c< T,C0 >
|
||||||
|
{
|
||||||
|
typedef typename list1_c< T,C0 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list2_c< T,C0,C1 >
|
||||||
|
{
|
||||||
|
typedef typename list2_c< T,C0,C1 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list3_c< T,C0,C1,C2 >
|
||||||
|
{
|
||||||
|
typedef typename list3_c< T,C0,C1,C2 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list4_c< T,C0,C1,C2,C3 >
|
||||||
|
{
|
||||||
|
typedef typename list4_c< T,C0,C1,C2,C3 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list5_c< T,C0,C1,C2,C3,C4 >
|
||||||
|
{
|
||||||
|
typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list6_c< T,C0,C1,C2,C3,C4,C5 >
|
||||||
|
{
|
||||||
|
typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list7_c< T,C0,C1,C2,C3,C4,C5,C6 >
|
||||||
|
{
|
||||||
|
typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
|
||||||
|
{
|
||||||
|
typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX
|
||||||
|
>
|
||||||
|
: list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
|
||||||
|
{
|
||||||
|
typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX
|
||||||
|
>
|
||||||
|
: list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
|
||||||
|
{
|
||||||
|
typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
|
||||||
|
{
|
||||||
|
typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
|
||||||
|
{
|
||||||
|
typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
|
||||||
|
{
|
||||||
|
typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list14_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list15_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list16_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15, long C16
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list17_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15, long C16, long C17
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, C17, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: list18_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, C17
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15, long C16, long C17, long C18
|
||||||
|
>
|
||||||
|
struct list_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, C17, C18, LONG_MAX
|
||||||
|
>
|
||||||
|
: list19_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, C17, C18
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// primary template (not a specialization!)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15, long C16, long C17, long C18, long C19
|
||||||
|
>
|
||||||
|
struct list_c
|
||||||
|
: list20_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, C17, C18, C19
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
323
boost/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp
Normal file
323
boost/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp
Normal file
@ -0,0 +1,323 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "map.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
|
||||||
|
, typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
|
||||||
|
, typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
|
||||||
|
, typename T12 = na, typename T13 = na, typename T14 = na
|
||||||
|
, typename T15 = na, typename T16 = na, typename T17 = na
|
||||||
|
, typename T18 = na, typename T19 = na
|
||||||
|
>
|
||||||
|
struct map;
|
||||||
|
|
||||||
|
template<
|
||||||
|
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: map0< >
|
||||||
|
{
|
||||||
|
typedef map0< >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: map1<T0>
|
||||||
|
{
|
||||||
|
typedef typename map1<T0>::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: map2< T0,T1 >
|
||||||
|
{
|
||||||
|
typedef typename map2< T0,T1 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: map3< T0,T1,T2 >
|
||||||
|
{
|
||||||
|
typedef typename map3< T0,T1,T2 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: map4< T0,T1,T2,T3 >
|
||||||
|
{
|
||||||
|
typedef typename map4< T0,T1,T2,T3 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: map5< T0,T1,T2,T3,T4 >
|
||||||
|
{
|
||||||
|
typedef typename map5< T0,T1,T2,T3,T4 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: map6< T0,T1,T2,T3,T4,T5 >
|
||||||
|
{
|
||||||
|
typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: map7< T0,T1,T2,T3,T4,T5,T6 >
|
||||||
|
{
|
||||||
|
typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: map8< T0,T1,T2,T3,T4,T5,T6,T7 >
|
||||||
|
{
|
||||||
|
typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
|
||||||
|
{
|
||||||
|
typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
|
||||||
|
{
|
||||||
|
typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
|
||||||
|
{
|
||||||
|
typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
|
||||||
|
{
|
||||||
|
typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
|
||||||
|
{
|
||||||
|
typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
|
||||||
|
{
|
||||||
|
typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: map15<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, na, na, na, na
|
||||||
|
>
|
||||||
|
: map16<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, na, na, na
|
||||||
|
>
|
||||||
|
: map17<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, na, na
|
||||||
|
>
|
||||||
|
: map18<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17, typename T18
|
||||||
|
>
|
||||||
|
struct map<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18, na
|
||||||
|
>
|
||||||
|
: map19<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// primary template (not a specialization!)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17, typename T18, typename T19
|
||||||
|
>
|
||||||
|
struct map
|
||||||
|
: map20<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18, T19
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
146
boost/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp
Normal file
146
boost/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "minus.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct minus_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct minus_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct minus_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct minus_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct minus_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
, typename N3 = na, typename N4 = na, typename N5 = na
|
||||||
|
>
|
||||||
|
struct minus
|
||||||
|
: minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
5
|
||||||
|
, minus
|
||||||
|
, ( N1, N2, N3, N4, N5 )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3, typename N4
|
||||||
|
>
|
||||||
|
struct minus< N1,N2,N3,N4,na >
|
||||||
|
|
||||||
|
: minus< minus< minus< N1,N2 >, N3>, N4>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, minus
|
||||||
|
, ( N1, N2, N3, N4, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3
|
||||||
|
>
|
||||||
|
struct minus< N1,N2,N3,na,na >
|
||||||
|
|
||||||
|
: minus< minus< N1,N2 >, N3>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, minus
|
||||||
|
, ( N1, N2, N3, na, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2
|
||||||
|
>
|
||||||
|
struct minus< N1,N2,na,na,na >
|
||||||
|
: minus_impl<
|
||||||
|
typename minus_tag<N1>::type
|
||||||
|
, typename minus_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, minus
|
||||||
|
, ( N1, N2, na, na, na )
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 5, minus)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
template<>
|
||||||
|
struct minus_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: integral_c<
|
||||||
|
typename aux::largest_int<
|
||||||
|
typename N1::value_type
|
||||||
|
, typename N2::value_type
|
||||||
|
>::type
|
||||||
|
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||||
|
- BOOST_MPL_AUX_VALUE_WKND(N2)::value
|
||||||
|
)
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
101
boost/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp
Normal file
101
boost/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "modulus.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct modulus_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct modulus_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct modulus_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct modulus_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct modulus_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
>
|
||||||
|
struct modulus
|
||||||
|
|
||||||
|
: modulus_impl<
|
||||||
|
typename modulus_tag<N1>::type
|
||||||
|
, typename modulus_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2))
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
template<>
|
||||||
|
struct modulus_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: integral_c<
|
||||||
|
typename aux::largest_int<
|
||||||
|
typename N1::value_type
|
||||||
|
, typename N2::value_type
|
||||||
|
>::type
|
||||||
|
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||||
|
% BOOST_MPL_AUX_VALUE_WKND(N2)::value
|
||||||
|
)
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
@ -0,0 +1,94 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "not_equal_to.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct not_equal_to_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct not_equal_to_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct not_equal_to_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct not_equal_to_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct not_equal_to_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
>
|
||||||
|
struct not_equal_to
|
||||||
|
|
||||||
|
: not_equal_to_impl<
|
||||||
|
typename not_equal_to_tag<N1>::type
|
||||||
|
, typename not_equal_to_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2))
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct not_equal_to_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
69
boost/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp
Normal file
69
boost/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "or.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template< bool C_, typename T1, typename T2, typename T3, typename T4 >
|
||||||
|
struct or_impl
|
||||||
|
: true_
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T1, typename T2, typename T3, typename T4 >
|
||||||
|
struct or_impl< false,T1,T2,T3,T4 >
|
||||||
|
: or_impl<
|
||||||
|
BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
|
||||||
|
, T2, T3, T4
|
||||||
|
, false_
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct or_impl<
|
||||||
|
false
|
||||||
|
, false_, false_, false_, false_
|
||||||
|
>
|
||||||
|
: false_
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace aux
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(T1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(T2)
|
||||||
|
, typename T3 = false_, typename T4 = false_, typename T5 = false_
|
||||||
|
>
|
||||||
|
struct or_
|
||||||
|
|
||||||
|
: aux::or_impl<
|
||||||
|
BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value
|
||||||
|
, T2, T3, T4, T5
|
||||||
|
>
|
||||||
|
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
5
|
||||||
|
, or_
|
||||||
|
, ( T1, T2, T3, T4, T5)
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(
|
||||||
|
2
|
||||||
|
, 5
|
||||||
|
, or_
|
||||||
|
)
|
||||||
|
|
||||||
|
}}
|
105
boost/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp
Normal file
105
boost/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2001-2004
|
||||||
|
// Copyright Peter Dimov 2001-2003
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "placeholders.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
|
||||||
|
typedef arg< -1 > _;
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_)
|
||||||
|
|
||||||
|
namespace placeholders {
|
||||||
|
using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_;
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
/// agurt, 17/mar/02: one more placeholder for the last 'apply#'
|
||||||
|
/// specialization
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
|
||||||
|
typedef arg<1> _1;
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1)
|
||||||
|
|
||||||
|
namespace placeholders {
|
||||||
|
using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
|
||||||
|
typedef arg<2> _2;
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2)
|
||||||
|
|
||||||
|
namespace placeholders {
|
||||||
|
using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2;
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
|
||||||
|
typedef arg<3> _3;
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3)
|
||||||
|
|
||||||
|
namespace placeholders {
|
||||||
|
using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3;
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
|
||||||
|
typedef arg<4> _4;
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4)
|
||||||
|
|
||||||
|
namespace placeholders {
|
||||||
|
using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4;
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
|
||||||
|
typedef arg<5> _5;
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5)
|
||||||
|
|
||||||
|
namespace placeholders {
|
||||||
|
using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5;
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
|
||||||
|
typedef arg<6> _6;
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6)
|
||||||
|
|
||||||
|
namespace placeholders {
|
||||||
|
using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6;
|
||||||
|
}
|
||||||
|
|
||||||
|
}}
|
146
boost/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp
Normal file
146
boost/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "plus.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct plus_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct plus_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct plus_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct plus_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct plus_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
, typename N3 = na, typename N4 = na, typename N5 = na
|
||||||
|
>
|
||||||
|
struct plus
|
||||||
|
: plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
5
|
||||||
|
, plus
|
||||||
|
, ( N1, N2, N3, N4, N5 )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3, typename N4
|
||||||
|
>
|
||||||
|
struct plus< N1,N2,N3,N4,na >
|
||||||
|
|
||||||
|
: plus< plus< plus< N1,N2 >, N3>, N4>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, plus
|
||||||
|
, ( N1, N2, N3, N4, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3
|
||||||
|
>
|
||||||
|
struct plus< N1,N2,N3,na,na >
|
||||||
|
|
||||||
|
: plus< plus< N1,N2 >, N3>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, plus
|
||||||
|
, ( N1, N2, N3, na, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2
|
||||||
|
>
|
||||||
|
struct plus< N1,N2,na,na,na >
|
||||||
|
: plus_impl<
|
||||||
|
typename plus_tag<N1>::type
|
||||||
|
, typename plus_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, plus
|
||||||
|
, ( N1, N2, na, na, na )
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 5, plus)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
template<>
|
||||||
|
struct plus_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: integral_c<
|
||||||
|
typename aux::largest_int<
|
||||||
|
typename N1::value_type
|
||||||
|
, typename N2::value_type
|
||||||
|
>::type
|
||||||
|
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||||
|
+ BOOST_MPL_AUX_VALUE_WKND(N2)::value
|
||||||
|
)
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
11
boost/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp
Normal file
11
boost/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2008
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "quote.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
@ -0,0 +1,295 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "reverse_fold_impl.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl { namespace aux {
|
||||||
|
|
||||||
|
/// forward declaration
|
||||||
|
|
||||||
|
template<
|
||||||
|
long N
|
||||||
|
, typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct reverse_fold_impl;
|
||||||
|
|
||||||
|
template< long N >
|
||||||
|
struct reverse_fold_chunk;
|
||||||
|
|
||||||
|
template<> struct reverse_fold_chunk<0>
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State fwd_state0;
|
||||||
|
typedef fwd_state0 bkwd_state0;
|
||||||
|
typedef bkwd_state0 state;
|
||||||
|
typedef iter0 iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct reverse_fold_chunk<1>
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State fwd_state0;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
|
||||||
|
|
||||||
|
typedef fwd_state1 bkwd_state1;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
|
||||||
|
typedef bkwd_state0 state;
|
||||||
|
typedef iter1 iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct reverse_fold_chunk<2>
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State fwd_state0;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
|
||||||
|
|
||||||
|
typedef fwd_state2 bkwd_state2;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
|
||||||
|
|
||||||
|
|
||||||
|
typedef bkwd_state0 state;
|
||||||
|
typedef iter2 iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct reverse_fold_chunk<3>
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State fwd_state0;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
|
||||||
|
typedef typename mpl::next<iter2>::type iter3;
|
||||||
|
|
||||||
|
|
||||||
|
typedef fwd_state3 bkwd_state3;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
|
||||||
|
|
||||||
|
|
||||||
|
typedef bkwd_state0 state;
|
||||||
|
typedef iter3 iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct reverse_fold_chunk<4>
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State fwd_state0;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
|
||||||
|
typedef typename mpl::next<iter2>::type iter3;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
|
||||||
|
typedef typename mpl::next<iter3>::type iter4;
|
||||||
|
|
||||||
|
|
||||||
|
typedef fwd_state4 bkwd_state4;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
|
||||||
|
|
||||||
|
|
||||||
|
typedef bkwd_state0 state;
|
||||||
|
typedef iter4 iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< long N >
|
||||||
|
struct reverse_fold_chunk
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State fwd_state0;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state0, typename deref<iter0>::type >::type fwd_state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state1, typename deref<iter1>::type >::type fwd_state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state2, typename deref<iter2>::type >::type fwd_state3;
|
||||||
|
typedef typename mpl::next<iter2>::type iter3;
|
||||||
|
typedef typename apply2< ForwardOp, fwd_state3, typename deref<iter3>::type >::type fwd_state4;
|
||||||
|
typedef typename mpl::next<iter3>::type iter4;
|
||||||
|
|
||||||
|
|
||||||
|
typedef reverse_fold_impl<
|
||||||
|
( (N - 4) < 0 ? 0 : N - 4 )
|
||||||
|
, iter4
|
||||||
|
, Last
|
||||||
|
, fwd_state4
|
||||||
|
, BackwardOp
|
||||||
|
, ForwardOp
|
||||||
|
> nested_chunk;
|
||||||
|
|
||||||
|
typedef typename nested_chunk::state bkwd_state4;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state4, typename deref<iter3>::type >::type bkwd_state3;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state3, typename deref<iter2>::type >::type bkwd_state2;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state2, typename deref<iter1>::type >::type bkwd_state1;
|
||||||
|
typedef typename apply2< BackwardOp, bkwd_state1, typename deref<iter0>::type >::type bkwd_state0;
|
||||||
|
|
||||||
|
|
||||||
|
typedef bkwd_state0 state;
|
||||||
|
typedef typename nested_chunk::iterator iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct reverse_fold_step;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Last
|
||||||
|
, typename State
|
||||||
|
>
|
||||||
|
struct reverse_fold_null_step
|
||||||
|
{
|
||||||
|
typedef Last iterator;
|
||||||
|
typedef State state;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct reverse_fold_chunk< -1 >
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef typename if_<
|
||||||
|
typename is_same< First,Last >::type
|
||||||
|
, reverse_fold_null_step< Last,State >
|
||||||
|
, reverse_fold_step< First,Last,State,BackwardOp,ForwardOp >
|
||||||
|
>::type res_;
|
||||||
|
|
||||||
|
typedef typename res_::state state;
|
||||||
|
typedef typename res_::iterator iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct reverse_fold_step
|
||||||
|
{
|
||||||
|
typedef reverse_fold_chunk< -1 >::template result_<
|
||||||
|
typename mpl::next<First>::type
|
||||||
|
, Last
|
||||||
|
, typename apply2<ForwardOp,State, typename deref<First>::type>::type
|
||||||
|
, BackwardOp
|
||||||
|
, ForwardOp
|
||||||
|
> nested_step;
|
||||||
|
|
||||||
|
typedef typename apply2<
|
||||||
|
BackwardOp
|
||||||
|
, typename nested_step::state
|
||||||
|
, typename deref<First>::type
|
||||||
|
>::type state;
|
||||||
|
|
||||||
|
typedef typename nested_step::iterator iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
long N
|
||||||
|
, typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct reverse_fold_impl
|
||||||
|
: reverse_fold_chunk<N>
|
||||||
|
::template result_< First,Last,State,BackwardOp,ForwardOp >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}}}
|
@ -0,0 +1,295 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "reverse_iter_fold_impl.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl { namespace aux {
|
||||||
|
|
||||||
|
/// forward declaration
|
||||||
|
|
||||||
|
template<
|
||||||
|
long N
|
||||||
|
, typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct reverse_iter_fold_impl;
|
||||||
|
|
||||||
|
template< long N >
|
||||||
|
struct reverse_iter_fold_chunk;
|
||||||
|
|
||||||
|
template<> struct reverse_iter_fold_chunk<0>
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State fwd_state0;
|
||||||
|
typedef fwd_state0 bkwd_state0;
|
||||||
|
typedef bkwd_state0 state;
|
||||||
|
typedef iter0 iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct reverse_iter_fold_chunk<1>
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State fwd_state0;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
|
||||||
|
|
||||||
|
typedef fwd_state1 bkwd_state1;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
|
||||||
|
typedef bkwd_state0 state;
|
||||||
|
typedef iter1 iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct reverse_iter_fold_chunk<2>
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State fwd_state0;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
|
||||||
|
|
||||||
|
typedef fwd_state2 bkwd_state2;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
|
||||||
|
|
||||||
|
|
||||||
|
typedef bkwd_state0 state;
|
||||||
|
typedef iter2 iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct reverse_iter_fold_chunk<3>
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State fwd_state0;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
|
||||||
|
typedef typename mpl::next<iter2>::type iter3;
|
||||||
|
|
||||||
|
|
||||||
|
typedef fwd_state3 bkwd_state3;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
|
||||||
|
|
||||||
|
|
||||||
|
typedef bkwd_state0 state;
|
||||||
|
typedef iter3 iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<> struct reverse_iter_fold_chunk<4>
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State fwd_state0;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
|
||||||
|
typedef typename mpl::next<iter2>::type iter3;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
|
||||||
|
typedef typename mpl::next<iter3>::type iter4;
|
||||||
|
|
||||||
|
|
||||||
|
typedef fwd_state4 bkwd_state4;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
|
||||||
|
|
||||||
|
|
||||||
|
typedef bkwd_state0 state;
|
||||||
|
typedef iter4 iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< long N >
|
||||||
|
struct reverse_iter_fold_chunk
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef First iter0;
|
||||||
|
typedef State fwd_state0;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1;
|
||||||
|
typedef typename mpl::next<iter0>::type iter1;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2;
|
||||||
|
typedef typename mpl::next<iter1>::type iter2;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3;
|
||||||
|
typedef typename mpl::next<iter2>::type iter3;
|
||||||
|
typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4;
|
||||||
|
typedef typename mpl::next<iter3>::type iter4;
|
||||||
|
|
||||||
|
|
||||||
|
typedef reverse_iter_fold_impl<
|
||||||
|
( (N - 4) < 0 ? 0 : N - 4 )
|
||||||
|
, iter4
|
||||||
|
, Last
|
||||||
|
, fwd_state4
|
||||||
|
, BackwardOp
|
||||||
|
, ForwardOp
|
||||||
|
> nested_chunk;
|
||||||
|
|
||||||
|
typedef typename nested_chunk::state bkwd_state4;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1;
|
||||||
|
typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0;
|
||||||
|
|
||||||
|
|
||||||
|
typedef bkwd_state0 state;
|
||||||
|
typedef typename nested_chunk::iterator iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct reverse_iter_fold_step;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Last
|
||||||
|
, typename State
|
||||||
|
>
|
||||||
|
struct reverse_iter_fold_null_step
|
||||||
|
{
|
||||||
|
typedef Last iterator;
|
||||||
|
typedef State state;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct reverse_iter_fold_chunk< -1 >
|
||||||
|
{
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct result_
|
||||||
|
{
|
||||||
|
typedef typename if_<
|
||||||
|
typename is_same< First,Last >::type
|
||||||
|
, reverse_iter_fold_null_step< Last,State >
|
||||||
|
, reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp >
|
||||||
|
>::type res_;
|
||||||
|
|
||||||
|
typedef typename res_::state state;
|
||||||
|
typedef typename res_::iterator iterator;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct reverse_iter_fold_step
|
||||||
|
{
|
||||||
|
typedef reverse_iter_fold_chunk< -1 >::template result_<
|
||||||
|
typename mpl::next<First>::type
|
||||||
|
, Last
|
||||||
|
, typename apply2< ForwardOp,State,First >::type
|
||||||
|
, BackwardOp
|
||||||
|
, ForwardOp
|
||||||
|
> nested_step;
|
||||||
|
|
||||||
|
typedef typename apply2<
|
||||||
|
BackwardOp
|
||||||
|
, typename nested_step::state
|
||||||
|
, First
|
||||||
|
>::type state;
|
||||||
|
|
||||||
|
typedef typename nested_step::iterator iterator;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
long N
|
||||||
|
, typename First
|
||||||
|
, typename Last
|
||||||
|
, typename State
|
||||||
|
, typename BackwardOp
|
||||||
|
, typename ForwardOp
|
||||||
|
>
|
||||||
|
struct reverse_iter_fold_impl
|
||||||
|
: reverse_iter_fold_chunk<N>
|
||||||
|
::template result_< First,Last,State,BackwardOp,ForwardOp >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}}}
|
323
boost/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp
Normal file
323
boost/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp
Normal file
@ -0,0 +1,323 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "set.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
|
||||||
|
, typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
|
||||||
|
, typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
|
||||||
|
, typename T12 = na, typename T13 = na, typename T14 = na
|
||||||
|
, typename T15 = na, typename T16 = na, typename T17 = na
|
||||||
|
, typename T18 = na, typename T19 = na
|
||||||
|
>
|
||||||
|
struct set;
|
||||||
|
|
||||||
|
template<
|
||||||
|
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: set0< >
|
||||||
|
{
|
||||||
|
typedef set0< >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: set1<T0>
|
||||||
|
{
|
||||||
|
typedef typename set1<T0>::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: set2< T0,T1 >
|
||||||
|
{
|
||||||
|
typedef typename set2< T0,T1 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: set3< T0,T1,T2 >
|
||||||
|
{
|
||||||
|
typedef typename set3< T0,T1,T2 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: set4< T0,T1,T2,T3 >
|
||||||
|
{
|
||||||
|
typedef typename set4< T0,T1,T2,T3 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: set5< T0,T1,T2,T3,T4 >
|
||||||
|
{
|
||||||
|
typedef typename set5< T0,T1,T2,T3,T4 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: set6< T0,T1,T2,T3,T4,T5 >
|
||||||
|
{
|
||||||
|
typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: set7< T0,T1,T2,T3,T4,T5,T6 >
|
||||||
|
{
|
||||||
|
typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: set8< T0,T1,T2,T3,T4,T5,T6,T7 >
|
||||||
|
{
|
||||||
|
typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
|
||||||
|
{
|
||||||
|
typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
|
||||||
|
{
|
||||||
|
typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
|
||||||
|
{
|
||||||
|
typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
|
||||||
|
{
|
||||||
|
typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
|
||||||
|
{
|
||||||
|
typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
|
||||||
|
{
|
||||||
|
typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: set15<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, na, na, na, na
|
||||||
|
>
|
||||||
|
: set16<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, na, na, na
|
||||||
|
>
|
||||||
|
: set17<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, na, na
|
||||||
|
>
|
||||||
|
: set18<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17, typename T18
|
||||||
|
>
|
||||||
|
struct set<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18, na
|
||||||
|
>
|
||||||
|
: set19<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// primary template (not a specialization!)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17, typename T18, typename T19
|
||||||
|
>
|
||||||
|
struct set
|
||||||
|
: set20<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18, T19
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
328
boost/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp
Normal file
328
boost/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp
Normal file
@ -0,0 +1,328 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "set_c.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
|
||||||
|
, long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
|
||||||
|
, long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
|
||||||
|
, long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
|
||||||
|
, long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
|
||||||
|
, long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
|
||||||
|
, long C18 = LONG_MAX, long C19 = LONG_MAX
|
||||||
|
>
|
||||||
|
struct set_c;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set0_c<T>
|
||||||
|
{
|
||||||
|
typedef typename set0_c<T>::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set1_c< T,C0 >
|
||||||
|
{
|
||||||
|
typedef typename set1_c< T,C0 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set2_c< T,C0,C1 >
|
||||||
|
{
|
||||||
|
typedef typename set2_c< T,C0,C1 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set3_c< T,C0,C1,C2 >
|
||||||
|
{
|
||||||
|
typedef typename set3_c< T,C0,C1,C2 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set4_c< T,C0,C1,C2,C3 >
|
||||||
|
{
|
||||||
|
typedef typename set4_c< T,C0,C1,C2,C3 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set5_c< T,C0,C1,C2,C3,C4 >
|
||||||
|
{
|
||||||
|
typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set6_c< T,C0,C1,C2,C3,C4,C5 >
|
||||||
|
{
|
||||||
|
typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set7_c< T,C0,C1,C2,C3,C4,C5,C6 >
|
||||||
|
{
|
||||||
|
typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >
|
||||||
|
{
|
||||||
|
typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX
|
||||||
|
>
|
||||||
|
: set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >
|
||||||
|
{
|
||||||
|
typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX
|
||||||
|
>
|
||||||
|
: set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >
|
||||||
|
{
|
||||||
|
typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >
|
||||||
|
{
|
||||||
|
typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >
|
||||||
|
{
|
||||||
|
typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >
|
||||||
|
{
|
||||||
|
typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set14_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set15_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set16_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15, long C16
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set17_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15, long C16, long C17
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, C17, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: set18_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, C17
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15, long C16, long C17, long C18
|
||||||
|
>
|
||||||
|
struct set_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, C17, C18, LONG_MAX
|
||||||
|
>
|
||||||
|
: set19_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, C17, C18
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// primary template (not a specialization!)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15, long C16, long C17, long C18, long C19
|
||||||
|
>
|
||||||
|
struct set_c
|
||||||
|
: set20_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, C17, C18, C19
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
99
boost/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp
Normal file
99
boost/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
// Copyright Jaap Suter 2003
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "shift_left.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct shift_left_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct shift_left_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct shift_left_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct shift_left_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct shift_left_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
>
|
||||||
|
struct shift_left
|
||||||
|
|
||||||
|
: shift_left_impl<
|
||||||
|
typename shift_left_tag<N1>::type
|
||||||
|
, typename shift_left_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2))
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
template<>
|
||||||
|
struct shift_left_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
|
: integral_c<
|
||||||
|
typename N::value_type
|
||||||
|
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
||||||
|
<< BOOST_MPL_AUX_VALUE_WKND(S)::value
|
||||||
|
)
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
99
boost/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp
Normal file
99
boost/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
// Copyright Jaap Suter 2003
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "shift_right.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct shift_right_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct shift_right_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct shift_right_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct shift_right_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct shift_right_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
>
|
||||||
|
struct shift_right
|
||||||
|
|
||||||
|
: shift_right_impl<
|
||||||
|
typename shift_right_tag<N1>::type
|
||||||
|
, typename shift_right_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2))
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
template<>
|
||||||
|
struct shift_right_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N, typename S > struct apply
|
||||||
|
|
||||||
|
: integral_c<
|
||||||
|
typename N::value_type
|
||||||
|
, ( BOOST_MPL_AUX_VALUE_WKND(N)::value
|
||||||
|
>> BOOST_MPL_AUX_VALUE_WKND(S)::value
|
||||||
|
)
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
@ -0,0 +1,40 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2001-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "template_arity.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl { namespace aux {
|
||||||
|
|
||||||
|
template< bool >
|
||||||
|
struct template_arity_impl
|
||||||
|
{
|
||||||
|
template< typename F > struct result_
|
||||||
|
: mpl::int_< -1 >
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct template_arity_impl<true>
|
||||||
|
{
|
||||||
|
template< typename F > struct result_
|
||||||
|
: F::arity
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename F >
|
||||||
|
struct template_arity
|
||||||
|
: template_arity_impl< ::boost::mpl::aux::has_rebind<F>::value >
|
||||||
|
::template result_<F>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}}}
|
||||||
|
|
146
boost/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp
Normal file
146
boost/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "times.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename Tag1
|
||||||
|
, typename Tag2
|
||||||
|
>
|
||||||
|
struct times_impl
|
||||||
|
: if_c<
|
||||||
|
( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1)
|
||||||
|
> BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2)
|
||||||
|
)
|
||||||
|
|
||||||
|
, aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 >
|
||||||
|
, aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 >
|
||||||
|
>::type
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
/// for Digital Mars C++/compilers with no CTPS/TTP support
|
||||||
|
template<> struct times_impl< na,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct times_impl< na,Tag >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename Tag > struct times_impl< Tag,na >
|
||||||
|
{
|
||||||
|
template< typename U1, typename U2 > struct apply
|
||||||
|
{
|
||||||
|
typedef apply type;
|
||||||
|
BOOST_STATIC_CONSTANT(int, value = 0);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename T > struct times_tag
|
||||||
|
{
|
||||||
|
typedef typename T::tag type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename BOOST_MPL_AUX_NA_PARAM(N1)
|
||||||
|
, typename BOOST_MPL_AUX_NA_PARAM(N2)
|
||||||
|
, typename N3 = na, typename N4 = na, typename N5 = na
|
||||||
|
>
|
||||||
|
struct times
|
||||||
|
: times< times< times< times< N1,N2 >, N3>, N4>, N5>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT(
|
||||||
|
5
|
||||||
|
, times
|
||||||
|
, ( N1, N2, N3, N4, N5 )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3, typename N4
|
||||||
|
>
|
||||||
|
struct times< N1,N2,N3,N4,na >
|
||||||
|
|
||||||
|
: times< times< times< N1,N2 >, N3>, N4>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, times
|
||||||
|
, ( N1, N2, N3, N4, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2, typename N3
|
||||||
|
>
|
||||||
|
struct times< N1,N2,N3,na,na >
|
||||||
|
|
||||||
|
: times< times< N1,N2 >, N3>
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, times
|
||||||
|
, ( N1, N2, N3, na, na )
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename N1, typename N2
|
||||||
|
>
|
||||||
|
struct times< N1,N2,na,na,na >
|
||||||
|
: times_impl<
|
||||||
|
typename times_tag<N1>::type
|
||||||
|
, typename times_tag<N2>::type
|
||||||
|
>::template apply< N1,N2 >::type
|
||||||
|
{
|
||||||
|
BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(
|
||||||
|
5
|
||||||
|
, times
|
||||||
|
, ( N1, N2, na, na, na )
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_NA_SPEC2(2, 5, times)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
template<>
|
||||||
|
struct times_impl< integral_c_tag,integral_c_tag >
|
||||||
|
{
|
||||||
|
template< typename N1, typename N2 > struct apply
|
||||||
|
|
||||||
|
: integral_c<
|
||||||
|
typename aux::largest_int<
|
||||||
|
typename N1::value_type
|
||||||
|
, typename N2::value_type
|
||||||
|
>::type
|
||||||
|
, ( BOOST_MPL_AUX_VALUE_WKND(N1)::value
|
||||||
|
* BOOST_MPL_AUX_VALUE_WKND(N2)::value
|
||||||
|
)
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
97
boost/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp
Normal file
97
boost/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2002-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "unpack_args.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
namespace aux {
|
||||||
|
|
||||||
|
template< int size, typename F, typename Args >
|
||||||
|
struct unpack_args_impl;
|
||||||
|
|
||||||
|
template< typename F, typename Args >
|
||||||
|
struct unpack_args_impl< 0,F,Args >
|
||||||
|
: apply0<
|
||||||
|
F
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename F, typename Args >
|
||||||
|
struct unpack_args_impl< 1,F,Args >
|
||||||
|
: apply1<
|
||||||
|
F
|
||||||
|
, typename at_c< Args,0 >::type
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename F, typename Args >
|
||||||
|
struct unpack_args_impl< 2,F,Args >
|
||||||
|
: apply2<
|
||||||
|
F
|
||||||
|
, typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename F, typename Args >
|
||||||
|
struct unpack_args_impl< 3,F,Args >
|
||||||
|
: apply3<
|
||||||
|
F
|
||||||
|
, typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
|
||||||
|
, typename at_c< Args,2 >::type
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename F, typename Args >
|
||||||
|
struct unpack_args_impl< 4,F,Args >
|
||||||
|
: apply4<
|
||||||
|
F
|
||||||
|
, typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
|
||||||
|
, typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
template< typename F, typename Args >
|
||||||
|
struct unpack_args_impl< 5,F,Args >
|
||||||
|
: apply5<
|
||||||
|
F
|
||||||
|
, typename at_c< Args,0 >::type, typename at_c< Args,1 >::type
|
||||||
|
, typename at_c< Args,2 >::type, typename at_c< Args,3 >::type
|
||||||
|
, typename at_c< Args,4 >::type
|
||||||
|
>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename F
|
||||||
|
>
|
||||||
|
struct unpack_args
|
||||||
|
{
|
||||||
|
template< typename Args > struct apply
|
||||||
|
{
|
||||||
|
typedef typename aux::unpack_args_impl<
|
||||||
|
size<Args>::value
|
||||||
|
, F
|
||||||
|
, Args
|
||||||
|
>::type type;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
323
boost/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp
Normal file
323
boost/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp
Normal file
@ -0,0 +1,323 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2004
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "vector.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
|
||||||
|
, typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
|
||||||
|
, typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
|
||||||
|
, typename T12 = na, typename T13 = na, typename T14 = na
|
||||||
|
, typename T15 = na, typename T16 = na, typename T17 = na
|
||||||
|
, typename T18 = na, typename T19 = na
|
||||||
|
>
|
||||||
|
struct vector;
|
||||||
|
|
||||||
|
template<
|
||||||
|
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector0< >
|
||||||
|
{
|
||||||
|
typedef vector0< >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector1<T0>
|
||||||
|
{
|
||||||
|
typedef typename vector1<T0>::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector2< T0,T1 >
|
||||||
|
{
|
||||||
|
typedef typename vector2< T0,T1 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector3< T0,T1,T2 >
|
||||||
|
{
|
||||||
|
typedef typename vector3< T0,T1,T2 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector4< T0,T1,T2,T3 >
|
||||||
|
{
|
||||||
|
typedef typename vector4< T0,T1,T2,T3 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector5< T0,T1,T2,T3,T4 >
|
||||||
|
{
|
||||||
|
typedef typename vector5< T0,T1,T2,T3,T4 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector6< T0,T1,T2,T3,T4,T5 >
|
||||||
|
{
|
||||||
|
typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector7< T0,T1,T2,T3,T4,T5,T6 >
|
||||||
|
{
|
||||||
|
typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector8< T0,T1,T2,T3,T4,T5,T6,T7 >
|
||||||
|
{
|
||||||
|
typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
|
||||||
|
{
|
||||||
|
typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
|
||||||
|
{
|
||||||
|
typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
|
||||||
|
, na, na, na
|
||||||
|
>
|
||||||
|
: vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
|
||||||
|
{
|
||||||
|
typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
|
||||||
|
{
|
||||||
|
typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
|
||||||
|
{
|
||||||
|
typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
|
||||||
|
{
|
||||||
|
typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
|
||||||
|
, na, na, na, na
|
||||||
|
>
|
||||||
|
: vector15<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, na, na, na, na
|
||||||
|
>
|
||||||
|
: vector16<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, na, na, na
|
||||||
|
>
|
||||||
|
: vector17<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, na, na
|
||||||
|
>
|
||||||
|
: vector18<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17, typename T18
|
||||||
|
>
|
||||||
|
struct vector<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18, na
|
||||||
|
>
|
||||||
|
: vector19<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// primary template (not a specialization!)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T0, typename T1, typename T2, typename T3, typename T4
|
||||||
|
, typename T5, typename T6, typename T7, typename T8, typename T9
|
||||||
|
, typename T10, typename T11, typename T12, typename T13, typename T14
|
||||||
|
, typename T15, typename T16, typename T17, typename T18, typename T19
|
||||||
|
>
|
||||||
|
struct vector
|
||||||
|
: vector20<
|
||||||
|
T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
|
||||||
|
, T15, T16, T17, T18, T19
|
||||||
|
>
|
||||||
|
{
|
||||||
|
typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
309
boost/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp
Normal file
309
boost/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp
Normal file
@ -0,0 +1,309 @@
|
|||||||
|
|
||||||
|
// Copyright Aleksey Gurtovoy 2000-2008
|
||||||
|
//
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
|
||||||
|
// *Preprocessed* version of the main "vector_c.hpp" header
|
||||||
|
// -- DO NOT modify by hand!
|
||||||
|
|
||||||
|
namespace boost { namespace mpl {
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
|
||||||
|
, long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
|
||||||
|
, long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
|
||||||
|
, long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
|
||||||
|
, long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
|
||||||
|
, long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
|
||||||
|
, long C18 = LONG_MAX, long C19 = LONG_MAX
|
||||||
|
>
|
||||||
|
struct vector_c;
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector0_c<T>
|
||||||
|
{
|
||||||
|
typedef typename vector0_c<T>::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector1_c< T, T(C0) >
|
||||||
|
{
|
||||||
|
typedef typename vector1_c< T, T(C0) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector2_c< T, T(C0), T(C1) >
|
||||||
|
{
|
||||||
|
typedef typename vector2_c< T, T(C0), T(C1) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector3_c< T, T(C0), T(C1), T(C2) >
|
||||||
|
{
|
||||||
|
typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector4_c< T, T(C0), T(C1), T(C2), T(C3) >
|
||||||
|
{
|
||||||
|
typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >
|
||||||
|
{
|
||||||
|
typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >
|
||||||
|
{
|
||||||
|
typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >
|
||||||
|
{
|
||||||
|
typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >
|
||||||
|
{
|
||||||
|
typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >
|
||||||
|
{
|
||||||
|
typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >
|
||||||
|
{
|
||||||
|
typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >
|
||||||
|
{
|
||||||
|
typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >
|
||||||
|
{
|
||||||
|
typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >
|
||||||
|
{
|
||||||
|
typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >
|
||||||
|
{
|
||||||
|
typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >
|
||||||
|
{
|
||||||
|
typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >
|
||||||
|
{
|
||||||
|
typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15, long C16
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, LONG_MAX, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >
|
||||||
|
{
|
||||||
|
typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15, long C16, long C17
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, C17, LONG_MAX, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >
|
||||||
|
{
|
||||||
|
typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15, long C16, long C17, long C18
|
||||||
|
>
|
||||||
|
struct vector_c<
|
||||||
|
T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
|
||||||
|
, C15, C16, C17, C18, LONG_MAX
|
||||||
|
>
|
||||||
|
: vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >
|
||||||
|
{
|
||||||
|
typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// primary template (not a specialization!)
|
||||||
|
|
||||||
|
template<
|
||||||
|
typename T, long C0, long C1, long C2, long C3, long C4, long C5
|
||||||
|
, long C6, long C7, long C8, long C9, long C10, long C11, long C12
|
||||||
|
, long C13, long C14, long C15, long C16, long C17, long C18, long C19
|
||||||
|
>
|
||||||
|
struct vector_c
|
||||||
|
: vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >
|
||||||
|
{
|
||||||
|
typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type;
|
||||||
|
};
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
84
boost/boost/optional/optional_io.hpp
Normal file
84
boost/boost/optional/optional_io.hpp
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
// Copyright (C) 2005, Fernando Luis Cacciola Carballal.
|
||||||
|
//
|
||||||
|
// Use, modification, and distribution is subject to the Boost Software
|
||||||
|
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
//
|
||||||
|
// See http://www.boost.org/lib/optional for documentation.
|
||||||
|
//
|
||||||
|
// You are welcome to contact the author at:
|
||||||
|
// fernando_cacciola@hotmail.com
|
||||||
|
//
|
||||||
|
#ifndef BOOST_OPTIONAL_OPTIONAL_IO_FLC_19NOV2002_HPP
|
||||||
|
#define BOOST_OPTIONAL_OPTIONAL_IO_FLC_19NOV2002_HPP
|
||||||
|
|
||||||
|
#if defined __GNUC__
|
||||||
|
# if (__GNUC__ == 2 && __GNUC_MINOR__ <= 97)
|
||||||
|
# define BOOST_OPTIONAL_NO_TEMPLATED_STREAMS
|
||||||
|
# endif
|
||||||
|
#endif // __GNUC__
|
||||||
|
|
||||||
|
#if defined BOOST_OPTIONAL_NO_TEMPLATED_STREAMS
|
||||||
|
# include <iostream>
|
||||||
|
#else
|
||||||
|
# include <istream>
|
||||||
|
# include <ostream>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#include "boost/optional/optional.hpp"
|
||||||
|
#include "boost/utility/value_init.hpp"
|
||||||
|
|
||||||
|
namespace boost
|
||||||
|
{
|
||||||
|
|
||||||
|
#if defined (BOOST_NO_TEMPLATED_STREAMS)
|
||||||
|
template<class T>
|
||||||
|
inline std::ostream& operator<<(std::ostream& out, optional<T> const& v)
|
||||||
|
#else
|
||||||
|
template<class CharType, class CharTrait, class T>
|
||||||
|
inline
|
||||||
|
std::basic_ostream<CharType, CharTrait>&
|
||||||
|
operator<<(std::basic_ostream<CharType, CharTrait>& out, optional<T> const& v)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
if ( out.good() )
|
||||||
|
{
|
||||||
|
if ( !v )
|
||||||
|
out << "--" ;
|
||||||
|
else out << ' ' << *v ;
|
||||||
|
}
|
||||||
|
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined (BOOST_NO_TEMPLATED_STREAMS)
|
||||||
|
template<class T>
|
||||||
|
inline std::istream& operator>>(std::istream& in, optional<T>& v)
|
||||||
|
#else
|
||||||
|
template<class CharType, class CharTrait, class T>
|
||||||
|
inline
|
||||||
|
std::basic_istream<CharType, CharTrait>&
|
||||||
|
operator>>(std::basic_istream<CharType, CharTrait>& in, optional<T>& v)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
if ( in.good() )
|
||||||
|
{
|
||||||
|
int d = in.get();
|
||||||
|
if ( d == ' ' )
|
||||||
|
{
|
||||||
|
T x ;
|
||||||
|
in >> x;
|
||||||
|
v = x ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
v = optional<T>() ;
|
||||||
|
}
|
||||||
|
|
||||||
|
return in;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace boost
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
61
boost/boost/preprocessor/arithmetic/detail/div_base.hpp
Normal file
61
boost/boost/preprocessor/arithmetic/detail/div_base.hpp
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# /* Copyright (C) 2001
|
||||||
|
# * Housemarque Oy
|
||||||
|
# * http://www.housemarque.com
|
||||||
|
# *
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# */
|
||||||
|
#
|
||||||
|
# /* Revised by Paul Mensonides (2002) */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_DIV_BASE_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_DIV_BASE_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/arithmetic/inc.hpp>
|
||||||
|
# include <boost/preprocessor/arithmetic/sub.hpp>
|
||||||
|
# include <boost/preprocessor/comparison/less_equal.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_DIV_BASE */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_DIV_BASE(x, y) BOOST_PP_WHILE(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_DIV_BASE(x, y) BOOST_PP_DIV_BASE_I(x, y)
|
||||||
|
# define BOOST_PP_DIV_BASE_I(x, y) BOOST_PP_WHILE(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
|
||||||
|
# define BOOST_PP_DIV_BASE_P(d, rxy) BOOST_PP_DIV_BASE_P_IM(d, BOOST_PP_TUPLE_REM_3 rxy)
|
||||||
|
# define BOOST_PP_DIV_BASE_P_IM(d, im) BOOST_PP_DIV_BASE_P_I(d, im)
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_DIV_BASE_P(d, rxy) BOOST_PP_DIV_BASE_P_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_DIV_BASE_P_I(d, r, x, y) BOOST_PP_LESS_EQUAL_D(d, y, x)
|
||||||
|
#
|
||||||
|
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
|
||||||
|
# define BOOST_PP_DIV_BASE_O(d, rxy) BOOST_PP_DIV_BASE_O_IM(d, BOOST_PP_TUPLE_REM_3 rxy)
|
||||||
|
# define BOOST_PP_DIV_BASE_O_IM(d, im) BOOST_PP_DIV_BASE_O_I(d, im)
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_DIV_BASE_O(d, rxy) BOOST_PP_DIV_BASE_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_DIV_BASE_O_I(d, r, x, y) (BOOST_PP_INC(r), BOOST_PP_SUB_D(d, x, y), y)
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_DIV_BASE_D */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_DIV_BASE_D(d, x, y) BOOST_PP_WHILE_ ## d(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_DIV_BASE_D(d, x, y) BOOST_PP_DIV_BASE_D_I(d, x, y)
|
||||||
|
# define BOOST_PP_DIV_BASE_D_I(d, x, y) BOOST_PP_WHILE_ ## d(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y))
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# endif
|
55
boost/boost/preprocessor/array/insert.hpp
Normal file
55
boost/boost/preprocessor/array/insert.hpp
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_ARRAY_INSERT_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_ARRAY_INSERT_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/arithmetic/inc.hpp>
|
||||||
|
# include <boost/preprocessor/array/elem.hpp>
|
||||||
|
# include <boost/preprocessor/array/push_back.hpp>
|
||||||
|
# include <boost/preprocessor/array/size.hpp>
|
||||||
|
# include <boost/preprocessor/comparison/not_equal.hpp>
|
||||||
|
# include <boost/preprocessor/control/deduce_d.hpp>
|
||||||
|
# include <boost/preprocessor/control/iif.hpp>
|
||||||
|
# include <boost/preprocessor/control/while.hpp>
|
||||||
|
# include <boost/preprocessor/tuple/elem.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ARRAY_INSERT */
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_INSERT(array, i, elem) BOOST_PP_ARRAY_INSERT_I(BOOST_PP_DEDUCE_D(), array, i, elem)
|
||||||
|
# define BOOST_PP_ARRAY_INSERT_I(d, array, i, elem) BOOST_PP_ARRAY_INSERT_D(d, array, i, elem)
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ARRAY_INSERT_D */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_ARRAY_INSERT_D(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_INSERT_P, BOOST_PP_ARRAY_INSERT_O, (0, i, elem, (0, ()), array)))
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ARRAY_INSERT_D(d, array, i, elem) BOOST_PP_ARRAY_INSERT_D_I(d, array, i, elem)
|
||||||
|
# define BOOST_PP_ARRAY_INSERT_D_I(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_INSERT_P, BOOST_PP_ARRAY_INSERT_O, (0, i, elem, (0, ()), array)))
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
|
||||||
|
# define BOOST_PP_ARRAY_INSERT_P(d, state) BOOST_PP_ARRAY_INSERT_P_I state
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ARRAY_INSERT_P(d, state) BOOST_PP_ARRAY_INSERT_P_I(nil, nil, nil, BOOST_PP_TUPLE_ELEM(5, 3, state), BOOST_PP_TUPLE_ELEM(5, 4, state))
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_INSERT_P_I(_i, _ii, _iii, res, arr) BOOST_PP_NOT_EQUAL(BOOST_PP_ARRAY_SIZE(res), BOOST_PP_INC(BOOST_PP_ARRAY_SIZE(arr)))
|
||||||
|
#
|
||||||
|
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
|
||||||
|
# define BOOST_PP_ARRAY_INSERT_O(d, state) BOOST_PP_ARRAY_INSERT_O_I state
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ARRAY_INSERT_O(d, state) BOOST_PP_ARRAY_INSERT_O_I(BOOST_PP_TUPLE_ELEM(5, 0, state), BOOST_PP_TUPLE_ELEM(5, 1, state), BOOST_PP_TUPLE_ELEM(5, 2, state), BOOST_PP_TUPLE_ELEM(5, 3, state), BOOST_PP_TUPLE_ELEM(5, 4, state))
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_INSERT_O_I(n, i, elem, res, arr) (BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(BOOST_PP_ARRAY_SIZE(res), i), BOOST_PP_INC(n), n), i, elem, BOOST_PP_ARRAY_PUSH_BACK(res, BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(BOOST_PP_ARRAY_SIZE(res), i), BOOST_PP_ARRAY_ELEM(n, arr), elem)), arr)
|
||||||
|
#
|
||||||
|
# endif
|
37
boost/boost/preprocessor/array/pop_back.hpp
Normal file
37
boost/boost/preprocessor/array/pop_back.hpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_ARRAY_POP_BACK_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_ARRAY_POP_BACK_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/arithmetic/dec.hpp>
|
||||||
|
# include <boost/preprocessor/array/elem.hpp>
|
||||||
|
# include <boost/preprocessor/array/size.hpp>
|
||||||
|
# include <boost/preprocessor/repetition/enum.hpp>
|
||||||
|
# include <boost/preprocessor/repetition/deduce_z.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ARRAY_POP_BACK */
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_POP_BACK(array) BOOST_PP_ARRAY_POP_BACK_Z(BOOST_PP_DEDUCE_Z(), array)
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ARRAY_POP_BACK_Z */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_ARRAY_POP_BACK_Z(z, array) BOOST_PP_ARRAY_POP_BACK_I(z, BOOST_PP_ARRAY_SIZE(array), array)
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ARRAY_POP_BACK_Z(z, array) BOOST_PP_ARRAY_POP_BACK_Z_D(z, array)
|
||||||
|
# define BOOST_PP_ARRAY_POP_BACK_Z_D(z, array) BOOST_PP_ARRAY_POP_BACK_I(z, BOOST_PP_ARRAY_SIZE(array), array)
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_POP_BACK_I(z, size, array) (BOOST_PP_DEC(size), (BOOST_PP_ENUM_ ## z(BOOST_PP_DEC(size), BOOST_PP_ARRAY_POP_BACK_M, array)))
|
||||||
|
# define BOOST_PP_ARRAY_POP_BACK_M(z, n, data) BOOST_PP_ARRAY_ELEM(n, data)
|
||||||
|
#
|
||||||
|
# endif
|
38
boost/boost/preprocessor/array/pop_front.hpp
Normal file
38
boost/boost/preprocessor/array/pop_front.hpp
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_ARRAY_POP_FRONT_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_ARRAY_POP_FRONT_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/arithmetic/dec.hpp>
|
||||||
|
# include <boost/preprocessor/arithmetic/inc.hpp>
|
||||||
|
# include <boost/preprocessor/array/elem.hpp>
|
||||||
|
# include <boost/preprocessor/array/size.hpp>
|
||||||
|
# include <boost/preprocessor/repetition/enum.hpp>
|
||||||
|
# include <boost/preprocessor/repetition/deduce_z.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ARRAY_POP_FRONT */
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_POP_FRONT(array) BOOST_PP_ARRAY_POP_FRONT_Z(BOOST_PP_DEDUCE_Z(), array)
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ARRAY_POP_FRONT_Z */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_ARRAY_POP_FRONT_Z(z, array) BOOST_PP_ARRAY_POP_FRONT_I(z, BOOST_PP_ARRAY_SIZE(array), array)
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ARRAY_POP_FRONT_Z(z, array) BOOST_PP_ARRAY_POP_FRONT_Z_D(z, array)
|
||||||
|
# define BOOST_PP_ARRAY_POP_FRONT_Z_D(z, array) BOOST_PP_ARRAY_POP_FRONT_I(z, BOOST_PP_ARRAY_SIZE(array), array)
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_POP_FRONT_I(z, size, array) (BOOST_PP_DEC(size), (BOOST_PP_ENUM_ ## z(BOOST_PP_DEC(size), BOOST_PP_ARRAY_POP_FRONT_M, array)))
|
||||||
|
# define BOOST_PP_ARRAY_POP_FRONT_M(z, n, data) BOOST_PP_ARRAY_ELEM(BOOST_PP_INC(n), data)
|
||||||
|
#
|
||||||
|
# endif
|
33
boost/boost/preprocessor/array/push_back.hpp
Normal file
33
boost/boost/preprocessor/array/push_back.hpp
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_ARRAY_PUSH_BACK_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_ARRAY_PUSH_BACK_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/arithmetic/inc.hpp>
|
||||||
|
# include <boost/preprocessor/array/data.hpp>
|
||||||
|
# include <boost/preprocessor/array/size.hpp>
|
||||||
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
# include <boost/preprocessor/punctuation/comma_if.hpp>
|
||||||
|
# include <boost/preprocessor/tuple/rem.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ARRAY_PUSH_BACK */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_ARRAY_PUSH_BACK(array, elem) BOOST_PP_ARRAY_PUSH_BACK_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ARRAY_PUSH_BACK(array, elem) BOOST_PP_ARRAY_PUSH_BACK_D(array, elem)
|
||||||
|
# define BOOST_PP_ARRAY_PUSH_BACK_D(array, elem) BOOST_PP_ARRAY_PUSH_BACK_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_PUSH_BACK_I(size, data, elem) (BOOST_PP_INC(size), (BOOST_PP_TUPLE_REM(size) data BOOST_PP_COMMA_IF(size) elem))
|
||||||
|
#
|
||||||
|
# endif
|
33
boost/boost/preprocessor/array/push_front.hpp
Normal file
33
boost/boost/preprocessor/array/push_front.hpp
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_ARRAY_PUSH_FRONT_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_ARRAY_PUSH_FRONT_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/arithmetic/inc.hpp>
|
||||||
|
# include <boost/preprocessor/array/data.hpp>
|
||||||
|
# include <boost/preprocessor/array/size.hpp>
|
||||||
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
# include <boost/preprocessor/punctuation/comma_if.hpp>
|
||||||
|
# include <boost/preprocessor/tuple/rem.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ARRAY_PUSH_FRONT */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_ARRAY_PUSH_FRONT(array, elem) BOOST_PP_ARRAY_PUSH_FRONT_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ARRAY_PUSH_FRONT(array, elem) BOOST_PP_ARRAY_PUSH_FRONT_D(array, elem)
|
||||||
|
# define BOOST_PP_ARRAY_PUSH_FRONT_D(array, elem) BOOST_PP_ARRAY_PUSH_FRONT_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_PUSH_FRONT_I(size, data, elem) (BOOST_PP_INC(size), (elem BOOST_PP_COMMA_IF(size) BOOST_PP_TUPLE_REM(size) data))
|
||||||
|
#
|
||||||
|
# endif
|
54
boost/boost/preprocessor/array/remove.hpp
Normal file
54
boost/boost/preprocessor/array/remove.hpp
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_ARRAY_REMOVE_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_ARRAY_REMOVE_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/arithmetic/inc.hpp>
|
||||||
|
# include <boost/preprocessor/array/elem.hpp>
|
||||||
|
# include <boost/preprocessor/array/push_back.hpp>
|
||||||
|
# include <boost/preprocessor/array/size.hpp>
|
||||||
|
# include <boost/preprocessor/comparison/not_equal.hpp>
|
||||||
|
# include <boost/preprocessor/control/deduce_d.hpp>
|
||||||
|
# include <boost/preprocessor/control/iif.hpp>
|
||||||
|
# include <boost/preprocessor/control/while.hpp>
|
||||||
|
# include <boost/preprocessor/tuple/eat.hpp>
|
||||||
|
# include <boost/preprocessor/tuple/elem.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ARRAY_REMOVE */
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_REMOVE(array, i) BOOST_PP_ARRAY_REMOVE_I(BOOST_PP_DEDUCE_D(), array, i)
|
||||||
|
# define BOOST_PP_ARRAY_REMOVE_I(d, array, i) BOOST_PP_ARRAY_REMOVE_D(d, array, i)
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ARRAY_REMOVE_D */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_ARRAY_REMOVE_D(d, array, i) BOOST_PP_TUPLE_ELEM(4, 2, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REMOVE_P, BOOST_PP_ARRAY_REMOVE_O, (0, i, (0, ()), array)))
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ARRAY_REMOVE_D(d, array, i) BOOST_PP_ARRAY_REMOVE_D_I(d, array, i)
|
||||||
|
# define BOOST_PP_ARRAY_REMOVE_D_I(d, array, i) BOOST_PP_TUPLE_ELEM(4, 2, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REMOVE_P, BOOST_PP_ARRAY_REMOVE_O, (0, i, (0, ()), array)))
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_REMOVE_P(d, st) BOOST_PP_NOT_EQUAL(BOOST_PP_TUPLE_ELEM(4, 0, st), BOOST_PP_ARRAY_SIZE(BOOST_PP_TUPLE_ELEM(4, 3, st)))
|
||||||
|
#
|
||||||
|
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
|
||||||
|
# define BOOST_PP_ARRAY_REMOVE_O(d, st) BOOST_PP_ARRAY_REMOVE_O_I st
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ARRAY_REMOVE_O(d, st) BOOST_PP_ARRAY_REMOVE_O_I(BOOST_PP_TUPLE_ELEM(4, 0, st), BOOST_PP_TUPLE_ELEM(4, 1, st), BOOST_PP_TUPLE_ELEM(4, 2, st), BOOST_PP_TUPLE_ELEM(4, 3, st))
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
|
||||||
|
# define BOOST_PP_ARRAY_REMOVE_O_I(n, i, res, arr) (BOOST_PP_INC(n), i, BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(n, i), BOOST_PP_ARRAY_PUSH_BACK, res BOOST_PP_TUPLE_EAT_2)(res, BOOST_PP_ARRAY_ELEM(n, arr)), arr)
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ARRAY_REMOVE_O_I(n, i, res, arr) (BOOST_PP_INC(n), i, BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(n, i), BOOST_PP_ARRAY_PUSH_BACK, BOOST_PP_TUPLE_ELEM_2_0)(res, BOOST_PP_ARRAY_ELEM(n, arr)), arr)
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# endif
|
49
boost/boost/preprocessor/array/replace.hpp
Normal file
49
boost/boost/preprocessor/array/replace.hpp
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_ARRAY_REPLACE_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_ARRAY_REPLACE_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/arithmetic/inc.hpp>
|
||||||
|
# include <boost/preprocessor/array/elem.hpp>
|
||||||
|
# include <boost/preprocessor/array/push_back.hpp>
|
||||||
|
# include <boost/preprocessor/comparison/not_equal.hpp>
|
||||||
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
# include <boost/preprocessor/control/deduce_d.hpp>
|
||||||
|
# include <boost/preprocessor/control/iif.hpp>
|
||||||
|
# include <boost/preprocessor/control/while.hpp>
|
||||||
|
# include <boost/preprocessor/tuple/elem.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ARRAY_REPLACE */
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_REPLACE(array, i, elem) BOOST_PP_ARRAY_REPLACE_I(BOOST_PP_DEDUCE_D(), array, i, elem)
|
||||||
|
# define BOOST_PP_ARRAY_REPLACE_I(d, array, i, elem) BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem)
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ARRAY_REPLACE_D */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REPLACE_P, BOOST_PP_ARRAY_REPLACE_O, (0, i, elem, (0, ()), array)))
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem) BOOST_PP_ARRAY_REPLACE_D_I(d, array, i, elem)
|
||||||
|
# define BOOST_PP_ARRAY_REPLACE_D_I(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REPLACE_P, BOOST_PP_ARRAY_REPLACE_O, (0, i, elem, (0, ()), array)))
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_REPLACE_P(d, state) BOOST_PP_NOT_EQUAL(BOOST_PP_TUPLE_ELEM(5, 0, state), BOOST_PP_ARRAY_SIZE(BOOST_PP_TUPLE_ELEM(5, 4, state)))
|
||||||
|
#
|
||||||
|
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
|
||||||
|
# define BOOST_PP_ARRAY_REPLACE_O(d, state) BOOST_PP_ARRAY_REPLACE_O_I state
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ARRAY_REPLACE_O(d, state) BOOST_PP_ARRAY_REPLACE_O_I(BOOST_PP_TUPLE_ELEM(5, 0, state), BOOST_PP_TUPLE_ELEM(5, 1, state), BOOST_PP_TUPLE_ELEM(5, 2, state), BOOST_PP_TUPLE_ELEM(5, 3, state), BOOST_PP_TUPLE_ELEM(5, 4, state))
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ARRAY_REPLACE_O_I(n, i, elem, res, arr) (BOOST_PP_INC(n), i, elem, BOOST_PP_ARRAY_PUSH_BACK(res, BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(n, i), BOOST_PP_ARRAY_ELEM(n, arr), elem)), arr)
|
||||||
|
#
|
||||||
|
# endif
|
29
boost/boost/preprocessor/array/reverse.hpp
Normal file
29
boost/boost/preprocessor/array/reverse.hpp
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_ARRAY_REVERSE_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_ARRAY_REVERSE_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/array/data.hpp>
|
||||||
|
# include <boost/preprocessor/array/size.hpp>
|
||||||
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
# include <boost/preprocessor/tuple/reverse.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ARRAY_REVERSE */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_ARRAY_REVERSE(array) (BOOST_PP_ARRAY_SIZE(array), BOOST_PP_TUPLE_REVERSE(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array)))
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ARRAY_REVERSE(array) BOOST_PP_ARRAY_REVERSE_I(array)
|
||||||
|
# define BOOST_PP_ARRAY_REVERSE_I(array) (BOOST_PP_ARRAY_SIZE(array), BOOST_PP_TUPLE_REVERSE(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array)))
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# endif
|
29
boost/boost/preprocessor/config/limits.hpp
Normal file
29
boost/boost/preprocessor/config/limits.hpp
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# /* Copyright (C) 2001
|
||||||
|
# * Housemarque Oy
|
||||||
|
# * http://www.housemarque.com
|
||||||
|
# *
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# */
|
||||||
|
#
|
||||||
|
# /* Revised by Paul Mensonides (2002) */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_CONFIG_LIMITS_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_CONFIG_LIMITS_HPP
|
||||||
|
#
|
||||||
|
# define BOOST_PP_LIMIT_MAG 256
|
||||||
|
# define BOOST_PP_LIMIT_TUPLE 25
|
||||||
|
# define BOOST_PP_LIMIT_DIM 3
|
||||||
|
# define BOOST_PP_LIMIT_REPEAT 256
|
||||||
|
# define BOOST_PP_LIMIT_WHILE 256
|
||||||
|
# define BOOST_PP_LIMIT_FOR 256
|
||||||
|
# define BOOST_PP_LIMIT_ITERATION 256
|
||||||
|
# define BOOST_PP_LIMIT_ITERATION_DIM 3
|
||||||
|
# define BOOST_PP_LIMIT_SEQ 256
|
||||||
|
# define BOOST_PP_LIMIT_SLOT_SIG 10
|
||||||
|
# define BOOST_PP_LIMIT_SLOT_COUNT 5
|
||||||
|
#
|
||||||
|
# endif
|
22
boost/boost/preprocessor/control.hpp
Normal file
22
boost/boost/preprocessor/control.hpp
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_CONTROL_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_CONTROL_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/control/deduce_d.hpp>
|
||||||
|
# include <boost/preprocessor/control/expr_if.hpp>
|
||||||
|
# include <boost/preprocessor/control/expr_iif.hpp>
|
||||||
|
# include <boost/preprocessor/control/if.hpp>
|
||||||
|
# include <boost/preprocessor/control/iif.hpp>
|
||||||
|
# include <boost/preprocessor/control/while.hpp>
|
||||||
|
#
|
||||||
|
# endif
|
22
boost/boost/preprocessor/control/deduce_d.hpp
Normal file
22
boost/boost/preprocessor/control/deduce_d.hpp
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_CONTROL_DEDUCE_D_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_CONTROL_DEDUCE_D_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/control/while.hpp>
|
||||||
|
# include <boost/preprocessor/detail/auto_rec.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_DEDUCE_D */
|
||||||
|
#
|
||||||
|
# define BOOST_PP_DEDUCE_D() BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)
|
||||||
|
#
|
||||||
|
# endif
|
536
boost/boost/preprocessor/control/detail/dmc/while.hpp
Normal file
536
boost/boost/preprocessor/control/detail/dmc/while.hpp
Normal file
@ -0,0 +1,536 @@
|
|||||||
|
# /* Copyright (C) 2001
|
||||||
|
# * Housemarque Oy
|
||||||
|
# * http://www.housemarque.com
|
||||||
|
# *
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# */
|
||||||
|
#
|
||||||
|
# /* Revised by Paul Mensonides (2002) */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/control/iif.hpp>
|
||||||
|
# include <boost/preprocessor/logical/bool.hpp>
|
||||||
|
# include <boost/preprocessor/tuple/eat.hpp>
|
||||||
|
#
|
||||||
|
# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p##(2, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p##(3, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p##(4, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p##(5, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p##(6, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p##(7, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p##(8, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p##(9, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p##(10, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p##(11, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p##(12, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p##(13, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p##(14, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p##(15, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p##(16, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p##(17, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p##(18, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p##(19, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p##(20, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p##(21, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p##(22, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p##(23, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p##(24, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p##(25, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p##(26, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p##(27, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p##(28, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p##(29, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p##(30, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p##(31, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p##(32, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p##(33, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p##(34, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p##(35, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p##(36, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p##(37, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p##(38, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p##(39, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p##(40, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p##(41, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p##(42, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p##(43, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p##(44, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p##(45, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p##(46, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p##(47, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p##(48, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p##(49, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p##(50, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p##(51, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p##(52, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p##(53, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p##(54, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p##(55, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p##(56, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p##(57, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p##(58, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p##(59, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p##(60, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p##(61, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p##(62, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p##(63, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p##(64, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p##(65, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p##(66, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p##(67, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p##(68, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p##(69, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p##(70, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p##(71, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p##(72, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p##(73, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p##(74, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p##(75, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p##(76, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p##(77, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p##(78, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p##(79, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p##(80, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p##(81, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p##(82, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p##(83, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p##(84, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p##(85, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p##(86, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p##(87, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p##(88, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p##(89, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p##(90, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p##(91, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p##(92, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p##(93, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p##(94, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p##(95, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p##(96, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p##(97, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p##(98, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p##(99, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p##(100, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p##(101, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p##(102, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p##(103, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p##(104, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p##(105, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p##(106, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p##(107, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p##(108, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p##(109, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p##(110, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p##(111, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p##(112, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p##(113, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p##(114, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p##(115, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p##(116, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p##(117, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p##(118, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p##(119, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p##(120, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p##(121, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p##(122, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p##(123, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p##(124, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p##(125, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p##(126, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p##(127, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p##(128, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p##(129, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p##(130, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p##(131, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p##(132, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p##(133, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p##(134, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p##(135, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p##(136, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p##(137, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p##(138, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p##(139, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p##(140, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p##(141, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p##(142, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p##(143, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p##(144, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p##(145, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p##(146, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p##(147, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p##(148, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p##(149, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p##(150, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p##(151, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p##(152, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p##(153, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p##(154, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p##(155, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p##(156, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p##(157, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p##(158, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p##(159, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p##(160, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p##(161, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p##(162, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p##(163, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p##(164, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p##(165, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p##(166, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p##(167, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p##(168, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p##(169, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p##(170, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p##(171, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p##(172, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p##(173, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p##(174, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p##(175, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p##(176, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p##(177, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p##(178, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p##(179, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p##(180, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p##(181, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p##(182, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p##(183, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p##(184, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p##(185, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p##(186, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p##(187, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p##(188, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p##(189, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p##(190, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p##(191, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p##(192, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p##(193, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p##(194, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p##(195, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p##(196, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p##(197, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p##(198, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p##(199, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p##(200, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p##(201, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p##(202, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p##(203, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p##(204, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p##(205, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p##(206, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p##(207, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p##(208, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p##(209, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p##(210, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p##(211, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p##(212, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p##(213, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p##(214, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p##(215, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p##(216, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p##(217, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p##(218, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p##(219, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p##(220, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p##(221, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p##(222, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p##(223, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p##(224, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p##(225, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p##(226, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p##(227, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p##(228, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p##(229, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p##(230, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p##(231, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p##(232, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p##(233, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p##(234, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p##(235, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p##(236, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p##(237, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p##(238, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p##(239, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p##(240, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p##(241, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p##(242, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p##(243, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p##(244, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p##(245, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p##(246, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p##(247, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p##(248, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p##(249, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p##(250, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p##(251, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p##(252, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p##(253, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p##(254, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p##(255, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p##(256, s)), p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p##(257, s)), p, o, s)
|
||||||
|
#
|
||||||
|
# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(2, s))
|
||||||
|
# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(3, s))
|
||||||
|
# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(4, s))
|
||||||
|
# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(5, s))
|
||||||
|
# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(6, s))
|
||||||
|
# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(7, s))
|
||||||
|
# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(8, s))
|
||||||
|
# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(9, s))
|
||||||
|
# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(10, s))
|
||||||
|
# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(11, s))
|
||||||
|
# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(12, s))
|
||||||
|
# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(13, s))
|
||||||
|
# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(14, s))
|
||||||
|
# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(15, s))
|
||||||
|
# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(16, s))
|
||||||
|
# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(17, s))
|
||||||
|
# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(18, s))
|
||||||
|
# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(19, s))
|
||||||
|
# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(20, s))
|
||||||
|
# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(21, s))
|
||||||
|
# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(22, s))
|
||||||
|
# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(23, s))
|
||||||
|
# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(24, s))
|
||||||
|
# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(25, s))
|
||||||
|
# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(26, s))
|
||||||
|
# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(27, s))
|
||||||
|
# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(28, s))
|
||||||
|
# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(29, s))
|
||||||
|
# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(30, s))
|
||||||
|
# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(31, s))
|
||||||
|
# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(32, s))
|
||||||
|
# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(33, s))
|
||||||
|
# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(34, s))
|
||||||
|
# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(35, s))
|
||||||
|
# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(36, s))
|
||||||
|
# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(37, s))
|
||||||
|
# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(38, s))
|
||||||
|
# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(39, s))
|
||||||
|
# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(40, s))
|
||||||
|
# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(41, s))
|
||||||
|
# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(42, s))
|
||||||
|
# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(43, s))
|
||||||
|
# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(44, s))
|
||||||
|
# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(45, s))
|
||||||
|
# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(46, s))
|
||||||
|
# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(47, s))
|
||||||
|
# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(48, s))
|
||||||
|
# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(49, s))
|
||||||
|
# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(50, s))
|
||||||
|
# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(51, s))
|
||||||
|
# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(52, s))
|
||||||
|
# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(53, s))
|
||||||
|
# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(54, s))
|
||||||
|
# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(55, s))
|
||||||
|
# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(56, s))
|
||||||
|
# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(57, s))
|
||||||
|
# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(58, s))
|
||||||
|
# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(59, s))
|
||||||
|
# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(60, s))
|
||||||
|
# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(61, s))
|
||||||
|
# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(62, s))
|
||||||
|
# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(63, s))
|
||||||
|
# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(64, s))
|
||||||
|
# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(65, s))
|
||||||
|
# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(66, s))
|
||||||
|
# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(67, s))
|
||||||
|
# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(68, s))
|
||||||
|
# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(69, s))
|
||||||
|
# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(70, s))
|
||||||
|
# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(71, s))
|
||||||
|
# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(72, s))
|
||||||
|
# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(73, s))
|
||||||
|
# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(74, s))
|
||||||
|
# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(75, s))
|
||||||
|
# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(76, s))
|
||||||
|
# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(77, s))
|
||||||
|
# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(78, s))
|
||||||
|
# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(79, s))
|
||||||
|
# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(80, s))
|
||||||
|
# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(81, s))
|
||||||
|
# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(82, s))
|
||||||
|
# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(83, s))
|
||||||
|
# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(84, s))
|
||||||
|
# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(85, s))
|
||||||
|
# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(86, s))
|
||||||
|
# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(87, s))
|
||||||
|
# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(88, s))
|
||||||
|
# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(89, s))
|
||||||
|
# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(90, s))
|
||||||
|
# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(91, s))
|
||||||
|
# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(92, s))
|
||||||
|
# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(93, s))
|
||||||
|
# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(94, s))
|
||||||
|
# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(95, s))
|
||||||
|
# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(96, s))
|
||||||
|
# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(97, s))
|
||||||
|
# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(98, s))
|
||||||
|
# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(99, s))
|
||||||
|
# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(100, s))
|
||||||
|
# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(101, s))
|
||||||
|
# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(102, s))
|
||||||
|
# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(103, s))
|
||||||
|
# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(104, s))
|
||||||
|
# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(105, s))
|
||||||
|
# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(106, s))
|
||||||
|
# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(107, s))
|
||||||
|
# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(108, s))
|
||||||
|
# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(109, s))
|
||||||
|
# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(110, s))
|
||||||
|
# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(111, s))
|
||||||
|
# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(112, s))
|
||||||
|
# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(113, s))
|
||||||
|
# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(114, s))
|
||||||
|
# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(115, s))
|
||||||
|
# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(116, s))
|
||||||
|
# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(117, s))
|
||||||
|
# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(118, s))
|
||||||
|
# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(119, s))
|
||||||
|
# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(120, s))
|
||||||
|
# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(121, s))
|
||||||
|
# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(122, s))
|
||||||
|
# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(123, s))
|
||||||
|
# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(124, s))
|
||||||
|
# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(125, s))
|
||||||
|
# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(126, s))
|
||||||
|
# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(127, s))
|
||||||
|
# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(128, s))
|
||||||
|
# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(129, s))
|
||||||
|
# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(130, s))
|
||||||
|
# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(131, s))
|
||||||
|
# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(132, s))
|
||||||
|
# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(133, s))
|
||||||
|
# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(134, s))
|
||||||
|
# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(135, s))
|
||||||
|
# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(136, s))
|
||||||
|
# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(137, s))
|
||||||
|
# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(138, s))
|
||||||
|
# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(139, s))
|
||||||
|
# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(140, s))
|
||||||
|
# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(141, s))
|
||||||
|
# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(142, s))
|
||||||
|
# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(143, s))
|
||||||
|
# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(144, s))
|
||||||
|
# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(145, s))
|
||||||
|
# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(146, s))
|
||||||
|
# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(147, s))
|
||||||
|
# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(148, s))
|
||||||
|
# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(149, s))
|
||||||
|
# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(150, s))
|
||||||
|
# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(151, s))
|
||||||
|
# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(152, s))
|
||||||
|
# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(153, s))
|
||||||
|
# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(154, s))
|
||||||
|
# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(155, s))
|
||||||
|
# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(156, s))
|
||||||
|
# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(157, s))
|
||||||
|
# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(158, s))
|
||||||
|
# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(159, s))
|
||||||
|
# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(160, s))
|
||||||
|
# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(161, s))
|
||||||
|
# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(162, s))
|
||||||
|
# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(163, s))
|
||||||
|
# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(164, s))
|
||||||
|
# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(165, s))
|
||||||
|
# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(166, s))
|
||||||
|
# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(167, s))
|
||||||
|
# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(168, s))
|
||||||
|
# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(169, s))
|
||||||
|
# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(170, s))
|
||||||
|
# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(171, s))
|
||||||
|
# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(172, s))
|
||||||
|
# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(173, s))
|
||||||
|
# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(174, s))
|
||||||
|
# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(175, s))
|
||||||
|
# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(176, s))
|
||||||
|
# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(177, s))
|
||||||
|
# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(178, s))
|
||||||
|
# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(179, s))
|
||||||
|
# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(180, s))
|
||||||
|
# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(181, s))
|
||||||
|
# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(182, s))
|
||||||
|
# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(183, s))
|
||||||
|
# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(184, s))
|
||||||
|
# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(185, s))
|
||||||
|
# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(186, s))
|
||||||
|
# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(187, s))
|
||||||
|
# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(188, s))
|
||||||
|
# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(189, s))
|
||||||
|
# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(190, s))
|
||||||
|
# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(191, s))
|
||||||
|
# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(192, s))
|
||||||
|
# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(193, s))
|
||||||
|
# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(194, s))
|
||||||
|
# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(195, s))
|
||||||
|
# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(196, s))
|
||||||
|
# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(197, s))
|
||||||
|
# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(198, s))
|
||||||
|
# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(199, s))
|
||||||
|
# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(200, s))
|
||||||
|
# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(201, s))
|
||||||
|
# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(202, s))
|
||||||
|
# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(203, s))
|
||||||
|
# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(204, s))
|
||||||
|
# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(205, s))
|
||||||
|
# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(206, s))
|
||||||
|
# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(207, s))
|
||||||
|
# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(208, s))
|
||||||
|
# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(209, s))
|
||||||
|
# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(210, s))
|
||||||
|
# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(211, s))
|
||||||
|
# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(212, s))
|
||||||
|
# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(213, s))
|
||||||
|
# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(214, s))
|
||||||
|
# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(215, s))
|
||||||
|
# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(216, s))
|
||||||
|
# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(217, s))
|
||||||
|
# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(218, s))
|
||||||
|
# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(219, s))
|
||||||
|
# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(220, s))
|
||||||
|
# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(221, s))
|
||||||
|
# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(222, s))
|
||||||
|
# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(223, s))
|
||||||
|
# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(224, s))
|
||||||
|
# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(225, s))
|
||||||
|
# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(226, s))
|
||||||
|
# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(227, s))
|
||||||
|
# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(228, s))
|
||||||
|
# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(229, s))
|
||||||
|
# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(230, s))
|
||||||
|
# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(231, s))
|
||||||
|
# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(232, s))
|
||||||
|
# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(233, s))
|
||||||
|
# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(234, s))
|
||||||
|
# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(235, s))
|
||||||
|
# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(236, s))
|
||||||
|
# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(237, s))
|
||||||
|
# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(238, s))
|
||||||
|
# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(239, s))
|
||||||
|
# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(240, s))
|
||||||
|
# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(241, s))
|
||||||
|
# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(242, s))
|
||||||
|
# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(243, s))
|
||||||
|
# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(244, s))
|
||||||
|
# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(245, s))
|
||||||
|
# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(246, s))
|
||||||
|
# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(247, s))
|
||||||
|
# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(248, s))
|
||||||
|
# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(249, s))
|
||||||
|
# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(250, s))
|
||||||
|
# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(251, s))
|
||||||
|
# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(252, s))
|
||||||
|
# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(253, s))
|
||||||
|
# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(254, s))
|
||||||
|
# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(255, s))
|
||||||
|
# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(256, s))
|
||||||
|
# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(257, s))
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# endif
|
534
boost/boost/preprocessor/control/detail/edg/while.hpp
Normal file
534
boost/boost/preprocessor/control/detail/edg/while.hpp
Normal file
@ -0,0 +1,534 @@
|
|||||||
|
# /* Copyright (C) 2001
|
||||||
|
# * Housemarque Oy
|
||||||
|
# * http://www.housemarque.com
|
||||||
|
# *
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# */
|
||||||
|
#
|
||||||
|
# /* Revised by Paul Mensonides (2002) */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/control/if.hpp>
|
||||||
|
# include <boost/preprocessor/tuple/eat.hpp>
|
||||||
|
#
|
||||||
|
# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_I(p, o, s)
|
||||||
|
# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_I(p, o, s)
|
||||||
|
#
|
||||||
|
# define BOOST_PP_WHILE_1_I(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s))
|
||||||
|
# define BOOST_PP_WHILE_2_I(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s))
|
||||||
|
# define BOOST_PP_WHILE_3_I(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s))
|
||||||
|
# define BOOST_PP_WHILE_4_I(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s))
|
||||||
|
# define BOOST_PP_WHILE_5_I(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s))
|
||||||
|
# define BOOST_PP_WHILE_6_I(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s))
|
||||||
|
# define BOOST_PP_WHILE_7_I(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s))
|
||||||
|
# define BOOST_PP_WHILE_8_I(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s))
|
||||||
|
# define BOOST_PP_WHILE_9_I(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s))
|
||||||
|
# define BOOST_PP_WHILE_10_I(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s))
|
||||||
|
# define BOOST_PP_WHILE_11_I(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s))
|
||||||
|
# define BOOST_PP_WHILE_12_I(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s))
|
||||||
|
# define BOOST_PP_WHILE_13_I(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s))
|
||||||
|
# define BOOST_PP_WHILE_14_I(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s))
|
||||||
|
# define BOOST_PP_WHILE_15_I(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s))
|
||||||
|
# define BOOST_PP_WHILE_16_I(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s))
|
||||||
|
# define BOOST_PP_WHILE_17_I(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s))
|
||||||
|
# define BOOST_PP_WHILE_18_I(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s))
|
||||||
|
# define BOOST_PP_WHILE_19_I(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s))
|
||||||
|
# define BOOST_PP_WHILE_20_I(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s))
|
||||||
|
# define BOOST_PP_WHILE_21_I(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s))
|
||||||
|
# define BOOST_PP_WHILE_22_I(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s))
|
||||||
|
# define BOOST_PP_WHILE_23_I(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s))
|
||||||
|
# define BOOST_PP_WHILE_24_I(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s))
|
||||||
|
# define BOOST_PP_WHILE_25_I(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s))
|
||||||
|
# define BOOST_PP_WHILE_26_I(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s))
|
||||||
|
# define BOOST_PP_WHILE_27_I(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s))
|
||||||
|
# define BOOST_PP_WHILE_28_I(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s))
|
||||||
|
# define BOOST_PP_WHILE_29_I(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s))
|
||||||
|
# define BOOST_PP_WHILE_30_I(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s))
|
||||||
|
# define BOOST_PP_WHILE_31_I(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s))
|
||||||
|
# define BOOST_PP_WHILE_32_I(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s))
|
||||||
|
# define BOOST_PP_WHILE_33_I(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s))
|
||||||
|
# define BOOST_PP_WHILE_34_I(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s))
|
||||||
|
# define BOOST_PP_WHILE_35_I(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s))
|
||||||
|
# define BOOST_PP_WHILE_36_I(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s))
|
||||||
|
# define BOOST_PP_WHILE_37_I(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s))
|
||||||
|
# define BOOST_PP_WHILE_38_I(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s))
|
||||||
|
# define BOOST_PP_WHILE_39_I(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s))
|
||||||
|
# define BOOST_PP_WHILE_40_I(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s))
|
||||||
|
# define BOOST_PP_WHILE_41_I(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s))
|
||||||
|
# define BOOST_PP_WHILE_42_I(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s))
|
||||||
|
# define BOOST_PP_WHILE_43_I(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s))
|
||||||
|
# define BOOST_PP_WHILE_44_I(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s))
|
||||||
|
# define BOOST_PP_WHILE_45_I(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s))
|
||||||
|
# define BOOST_PP_WHILE_46_I(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s))
|
||||||
|
# define BOOST_PP_WHILE_47_I(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s))
|
||||||
|
# define BOOST_PP_WHILE_48_I(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s))
|
||||||
|
# define BOOST_PP_WHILE_49_I(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s))
|
||||||
|
# define BOOST_PP_WHILE_50_I(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s))
|
||||||
|
# define BOOST_PP_WHILE_51_I(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s))
|
||||||
|
# define BOOST_PP_WHILE_52_I(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s))
|
||||||
|
# define BOOST_PP_WHILE_53_I(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s))
|
||||||
|
# define BOOST_PP_WHILE_54_I(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s))
|
||||||
|
# define BOOST_PP_WHILE_55_I(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s))
|
||||||
|
# define BOOST_PP_WHILE_56_I(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s))
|
||||||
|
# define BOOST_PP_WHILE_57_I(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s))
|
||||||
|
# define BOOST_PP_WHILE_58_I(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s))
|
||||||
|
# define BOOST_PP_WHILE_59_I(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s))
|
||||||
|
# define BOOST_PP_WHILE_60_I(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s))
|
||||||
|
# define BOOST_PP_WHILE_61_I(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s))
|
||||||
|
# define BOOST_PP_WHILE_62_I(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s))
|
||||||
|
# define BOOST_PP_WHILE_63_I(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s))
|
||||||
|
# define BOOST_PP_WHILE_64_I(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s))
|
||||||
|
# define BOOST_PP_WHILE_65_I(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s))
|
||||||
|
# define BOOST_PP_WHILE_66_I(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s))
|
||||||
|
# define BOOST_PP_WHILE_67_I(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s))
|
||||||
|
# define BOOST_PP_WHILE_68_I(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s))
|
||||||
|
# define BOOST_PP_WHILE_69_I(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s))
|
||||||
|
# define BOOST_PP_WHILE_70_I(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s))
|
||||||
|
# define BOOST_PP_WHILE_71_I(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s))
|
||||||
|
# define BOOST_PP_WHILE_72_I(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s))
|
||||||
|
# define BOOST_PP_WHILE_73_I(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s))
|
||||||
|
# define BOOST_PP_WHILE_74_I(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s))
|
||||||
|
# define BOOST_PP_WHILE_75_I(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s))
|
||||||
|
# define BOOST_PP_WHILE_76_I(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s))
|
||||||
|
# define BOOST_PP_WHILE_77_I(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s))
|
||||||
|
# define BOOST_PP_WHILE_78_I(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s))
|
||||||
|
# define BOOST_PP_WHILE_79_I(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s))
|
||||||
|
# define BOOST_PP_WHILE_80_I(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s))
|
||||||
|
# define BOOST_PP_WHILE_81_I(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s))
|
||||||
|
# define BOOST_PP_WHILE_82_I(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s))
|
||||||
|
# define BOOST_PP_WHILE_83_I(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s))
|
||||||
|
# define BOOST_PP_WHILE_84_I(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s))
|
||||||
|
# define BOOST_PP_WHILE_85_I(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s))
|
||||||
|
# define BOOST_PP_WHILE_86_I(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s))
|
||||||
|
# define BOOST_PP_WHILE_87_I(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s))
|
||||||
|
# define BOOST_PP_WHILE_88_I(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s))
|
||||||
|
# define BOOST_PP_WHILE_89_I(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s))
|
||||||
|
# define BOOST_PP_WHILE_90_I(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s))
|
||||||
|
# define BOOST_PP_WHILE_91_I(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s))
|
||||||
|
# define BOOST_PP_WHILE_92_I(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s))
|
||||||
|
# define BOOST_PP_WHILE_93_I(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s))
|
||||||
|
# define BOOST_PP_WHILE_94_I(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s))
|
||||||
|
# define BOOST_PP_WHILE_95_I(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s))
|
||||||
|
# define BOOST_PP_WHILE_96_I(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s))
|
||||||
|
# define BOOST_PP_WHILE_97_I(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s))
|
||||||
|
# define BOOST_PP_WHILE_98_I(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s))
|
||||||
|
# define BOOST_PP_WHILE_99_I(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s))
|
||||||
|
# define BOOST_PP_WHILE_100_I(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s))
|
||||||
|
# define BOOST_PP_WHILE_101_I(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s))
|
||||||
|
# define BOOST_PP_WHILE_102_I(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s))
|
||||||
|
# define BOOST_PP_WHILE_103_I(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s))
|
||||||
|
# define BOOST_PP_WHILE_104_I(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s))
|
||||||
|
# define BOOST_PP_WHILE_105_I(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s))
|
||||||
|
# define BOOST_PP_WHILE_106_I(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s))
|
||||||
|
# define BOOST_PP_WHILE_107_I(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s))
|
||||||
|
# define BOOST_PP_WHILE_108_I(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s))
|
||||||
|
# define BOOST_PP_WHILE_109_I(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s))
|
||||||
|
# define BOOST_PP_WHILE_110_I(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s))
|
||||||
|
# define BOOST_PP_WHILE_111_I(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s))
|
||||||
|
# define BOOST_PP_WHILE_112_I(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s))
|
||||||
|
# define BOOST_PP_WHILE_113_I(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s))
|
||||||
|
# define BOOST_PP_WHILE_114_I(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s))
|
||||||
|
# define BOOST_PP_WHILE_115_I(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s))
|
||||||
|
# define BOOST_PP_WHILE_116_I(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s))
|
||||||
|
# define BOOST_PP_WHILE_117_I(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s))
|
||||||
|
# define BOOST_PP_WHILE_118_I(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s))
|
||||||
|
# define BOOST_PP_WHILE_119_I(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s))
|
||||||
|
# define BOOST_PP_WHILE_120_I(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s))
|
||||||
|
# define BOOST_PP_WHILE_121_I(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s))
|
||||||
|
# define BOOST_PP_WHILE_122_I(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s))
|
||||||
|
# define BOOST_PP_WHILE_123_I(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s))
|
||||||
|
# define BOOST_PP_WHILE_124_I(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s))
|
||||||
|
# define BOOST_PP_WHILE_125_I(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s))
|
||||||
|
# define BOOST_PP_WHILE_126_I(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s))
|
||||||
|
# define BOOST_PP_WHILE_127_I(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s))
|
||||||
|
# define BOOST_PP_WHILE_128_I(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s))
|
||||||
|
# define BOOST_PP_WHILE_129_I(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s))
|
||||||
|
# define BOOST_PP_WHILE_130_I(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s))
|
||||||
|
# define BOOST_PP_WHILE_131_I(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s))
|
||||||
|
# define BOOST_PP_WHILE_132_I(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s))
|
||||||
|
# define BOOST_PP_WHILE_133_I(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s))
|
||||||
|
# define BOOST_PP_WHILE_134_I(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s))
|
||||||
|
# define BOOST_PP_WHILE_135_I(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s))
|
||||||
|
# define BOOST_PP_WHILE_136_I(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s))
|
||||||
|
# define BOOST_PP_WHILE_137_I(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s))
|
||||||
|
# define BOOST_PP_WHILE_138_I(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s))
|
||||||
|
# define BOOST_PP_WHILE_139_I(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s))
|
||||||
|
# define BOOST_PP_WHILE_140_I(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s))
|
||||||
|
# define BOOST_PP_WHILE_141_I(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s))
|
||||||
|
# define BOOST_PP_WHILE_142_I(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s))
|
||||||
|
# define BOOST_PP_WHILE_143_I(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s))
|
||||||
|
# define BOOST_PP_WHILE_144_I(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s))
|
||||||
|
# define BOOST_PP_WHILE_145_I(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s))
|
||||||
|
# define BOOST_PP_WHILE_146_I(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s))
|
||||||
|
# define BOOST_PP_WHILE_147_I(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s))
|
||||||
|
# define BOOST_PP_WHILE_148_I(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s))
|
||||||
|
# define BOOST_PP_WHILE_149_I(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s))
|
||||||
|
# define BOOST_PP_WHILE_150_I(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s))
|
||||||
|
# define BOOST_PP_WHILE_151_I(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s))
|
||||||
|
# define BOOST_PP_WHILE_152_I(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s))
|
||||||
|
# define BOOST_PP_WHILE_153_I(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s))
|
||||||
|
# define BOOST_PP_WHILE_154_I(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s))
|
||||||
|
# define BOOST_PP_WHILE_155_I(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s))
|
||||||
|
# define BOOST_PP_WHILE_156_I(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s))
|
||||||
|
# define BOOST_PP_WHILE_157_I(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s))
|
||||||
|
# define BOOST_PP_WHILE_158_I(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s))
|
||||||
|
# define BOOST_PP_WHILE_159_I(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s))
|
||||||
|
# define BOOST_PP_WHILE_160_I(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s))
|
||||||
|
# define BOOST_PP_WHILE_161_I(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s))
|
||||||
|
# define BOOST_PP_WHILE_162_I(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s))
|
||||||
|
# define BOOST_PP_WHILE_163_I(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s))
|
||||||
|
# define BOOST_PP_WHILE_164_I(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s))
|
||||||
|
# define BOOST_PP_WHILE_165_I(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s))
|
||||||
|
# define BOOST_PP_WHILE_166_I(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s))
|
||||||
|
# define BOOST_PP_WHILE_167_I(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s))
|
||||||
|
# define BOOST_PP_WHILE_168_I(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s))
|
||||||
|
# define BOOST_PP_WHILE_169_I(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s))
|
||||||
|
# define BOOST_PP_WHILE_170_I(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s))
|
||||||
|
# define BOOST_PP_WHILE_171_I(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s))
|
||||||
|
# define BOOST_PP_WHILE_172_I(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s))
|
||||||
|
# define BOOST_PP_WHILE_173_I(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s))
|
||||||
|
# define BOOST_PP_WHILE_174_I(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s))
|
||||||
|
# define BOOST_PP_WHILE_175_I(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s))
|
||||||
|
# define BOOST_PP_WHILE_176_I(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s))
|
||||||
|
# define BOOST_PP_WHILE_177_I(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s))
|
||||||
|
# define BOOST_PP_WHILE_178_I(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s))
|
||||||
|
# define BOOST_PP_WHILE_179_I(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s))
|
||||||
|
# define BOOST_PP_WHILE_180_I(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s))
|
||||||
|
# define BOOST_PP_WHILE_181_I(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s))
|
||||||
|
# define BOOST_PP_WHILE_182_I(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s))
|
||||||
|
# define BOOST_PP_WHILE_183_I(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s))
|
||||||
|
# define BOOST_PP_WHILE_184_I(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s))
|
||||||
|
# define BOOST_PP_WHILE_185_I(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s))
|
||||||
|
# define BOOST_PP_WHILE_186_I(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s))
|
||||||
|
# define BOOST_PP_WHILE_187_I(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s))
|
||||||
|
# define BOOST_PP_WHILE_188_I(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s))
|
||||||
|
# define BOOST_PP_WHILE_189_I(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s))
|
||||||
|
# define BOOST_PP_WHILE_190_I(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s))
|
||||||
|
# define BOOST_PP_WHILE_191_I(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s))
|
||||||
|
# define BOOST_PP_WHILE_192_I(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s))
|
||||||
|
# define BOOST_PP_WHILE_193_I(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s))
|
||||||
|
# define BOOST_PP_WHILE_194_I(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s))
|
||||||
|
# define BOOST_PP_WHILE_195_I(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s))
|
||||||
|
# define BOOST_PP_WHILE_196_I(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s))
|
||||||
|
# define BOOST_PP_WHILE_197_I(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s))
|
||||||
|
# define BOOST_PP_WHILE_198_I(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s))
|
||||||
|
# define BOOST_PP_WHILE_199_I(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s))
|
||||||
|
# define BOOST_PP_WHILE_200_I(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s))
|
||||||
|
# define BOOST_PP_WHILE_201_I(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s))
|
||||||
|
# define BOOST_PP_WHILE_202_I(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s))
|
||||||
|
# define BOOST_PP_WHILE_203_I(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s))
|
||||||
|
# define BOOST_PP_WHILE_204_I(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s))
|
||||||
|
# define BOOST_PP_WHILE_205_I(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s))
|
||||||
|
# define BOOST_PP_WHILE_206_I(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s))
|
||||||
|
# define BOOST_PP_WHILE_207_I(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s))
|
||||||
|
# define BOOST_PP_WHILE_208_I(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s))
|
||||||
|
# define BOOST_PP_WHILE_209_I(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s))
|
||||||
|
# define BOOST_PP_WHILE_210_I(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s))
|
||||||
|
# define BOOST_PP_WHILE_211_I(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s))
|
||||||
|
# define BOOST_PP_WHILE_212_I(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s))
|
||||||
|
# define BOOST_PP_WHILE_213_I(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s))
|
||||||
|
# define BOOST_PP_WHILE_214_I(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s))
|
||||||
|
# define BOOST_PP_WHILE_215_I(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s))
|
||||||
|
# define BOOST_PP_WHILE_216_I(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s))
|
||||||
|
# define BOOST_PP_WHILE_217_I(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s))
|
||||||
|
# define BOOST_PP_WHILE_218_I(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s))
|
||||||
|
# define BOOST_PP_WHILE_219_I(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s))
|
||||||
|
# define BOOST_PP_WHILE_220_I(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s))
|
||||||
|
# define BOOST_PP_WHILE_221_I(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s))
|
||||||
|
# define BOOST_PP_WHILE_222_I(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s))
|
||||||
|
# define BOOST_PP_WHILE_223_I(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s))
|
||||||
|
# define BOOST_PP_WHILE_224_I(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s))
|
||||||
|
# define BOOST_PP_WHILE_225_I(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s))
|
||||||
|
# define BOOST_PP_WHILE_226_I(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s))
|
||||||
|
# define BOOST_PP_WHILE_227_I(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s))
|
||||||
|
# define BOOST_PP_WHILE_228_I(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s))
|
||||||
|
# define BOOST_PP_WHILE_229_I(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s))
|
||||||
|
# define BOOST_PP_WHILE_230_I(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s))
|
||||||
|
# define BOOST_PP_WHILE_231_I(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s))
|
||||||
|
# define BOOST_PP_WHILE_232_I(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s))
|
||||||
|
# define BOOST_PP_WHILE_233_I(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s))
|
||||||
|
# define BOOST_PP_WHILE_234_I(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s))
|
||||||
|
# define BOOST_PP_WHILE_235_I(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s))
|
||||||
|
# define BOOST_PP_WHILE_236_I(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s))
|
||||||
|
# define BOOST_PP_WHILE_237_I(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s))
|
||||||
|
# define BOOST_PP_WHILE_238_I(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s))
|
||||||
|
# define BOOST_PP_WHILE_239_I(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s))
|
||||||
|
# define BOOST_PP_WHILE_240_I(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s))
|
||||||
|
# define BOOST_PP_WHILE_241_I(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s))
|
||||||
|
# define BOOST_PP_WHILE_242_I(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s))
|
||||||
|
# define BOOST_PP_WHILE_243_I(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s))
|
||||||
|
# define BOOST_PP_WHILE_244_I(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s))
|
||||||
|
# define BOOST_PP_WHILE_245_I(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s))
|
||||||
|
# define BOOST_PP_WHILE_246_I(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s))
|
||||||
|
# define BOOST_PP_WHILE_247_I(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s))
|
||||||
|
# define BOOST_PP_WHILE_248_I(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s))
|
||||||
|
# define BOOST_PP_WHILE_249_I(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s))
|
||||||
|
# define BOOST_PP_WHILE_250_I(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s))
|
||||||
|
# define BOOST_PP_WHILE_251_I(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s))
|
||||||
|
# define BOOST_PP_WHILE_252_I(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s))
|
||||||
|
# define BOOST_PP_WHILE_253_I(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s))
|
||||||
|
# define BOOST_PP_WHILE_254_I(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s))
|
||||||
|
# define BOOST_PP_WHILE_255_I(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s))
|
||||||
|
# define BOOST_PP_WHILE_256_I(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s))
|
||||||
|
#
|
||||||
|
# endif
|
18
boost/boost/preprocessor/debug.hpp
Normal file
18
boost/boost/preprocessor/debug.hpp
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_DEBUG_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_DEBUG_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/debug/assert.hpp>
|
||||||
|
# include <boost/preprocessor/debug/line.hpp>
|
||||||
|
#
|
||||||
|
# endif
|
44
boost/boost/preprocessor/debug/assert.hpp
Normal file
44
boost/boost/preprocessor/debug/assert.hpp
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# /* Copyright (C) 2001
|
||||||
|
# * Housemarque Oy
|
||||||
|
# * http://www.housemarque.com
|
||||||
|
# *
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# */
|
||||||
|
#
|
||||||
|
# /* Revised by Paul Mensonides (2002) */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_DEBUG_ASSERT_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_DEBUG_ASSERT_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
# include <boost/preprocessor/control/expr_iif.hpp>
|
||||||
|
# include <boost/preprocessor/control/iif.hpp>
|
||||||
|
# include <boost/preprocessor/logical/not.hpp>
|
||||||
|
# include <boost/preprocessor/tuple/eat.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ASSERT */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_ASSERT BOOST_PP_ASSERT_D
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ASSERT(cond) BOOST_PP_ASSERT_D(cond)
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ASSERT_D(cond) BOOST_PP_IIF(BOOST_PP_NOT(cond), BOOST_PP_ASSERT_ERROR, BOOST_PP_TUPLE_EAT_1)(...)
|
||||||
|
# define BOOST_PP_ASSERT_ERROR(x, y, z)
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_ASSERT_MSG */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_ASSERT_MSG BOOST_PP_ASSERT_MSG_D
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_ASSERT_MSG(cond, msg) BOOST_PP_ASSERT_MSG_D(cond, msg)
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_ASSERT_MSG_D(cond, msg) BOOST_PP_EXPR_IIF(BOOST_PP_NOT(cond), msg)
|
||||||
|
#
|
||||||
|
# endif
|
35
boost/boost/preprocessor/debug/line.hpp
Normal file
35
boost/boost/preprocessor/debug/line.hpp
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_DEBUG_LINE_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_DEBUG_LINE_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/cat.hpp>
|
||||||
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
# include <boost/preprocessor/iteration/iterate.hpp>
|
||||||
|
# include <boost/preprocessor/stringize.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_LINE */
|
||||||
|
#
|
||||||
|
# if BOOST_PP_CONFIG_EXTENDED_LINE_INFO
|
||||||
|
# define BOOST_PP_LINE(line, file) line BOOST_PP_CAT(BOOST_PP_LINE_, BOOST_PP_IS_ITERATING)(file)
|
||||||
|
# define BOOST_PP_LINE_BOOST_PP_IS_ITERATING(file) #file
|
||||||
|
# define BOOST_PP_LINE_1(file) BOOST_PP_STRINGIZE(file BOOST_PP_CAT(BOOST_PP_LINE_I_, BOOST_PP_ITERATION_DEPTH())())
|
||||||
|
# define BOOST_PP_LINE_I_1() [BOOST_PP_FRAME_ITERATION(1)]
|
||||||
|
# define BOOST_PP_LINE_I_2() BOOST_PP_LINE_I_1()[BOOST_PP_FRAME_ITERATION(2)]
|
||||||
|
# define BOOST_PP_LINE_I_3() BOOST_PP_LINE_I_2()[BOOST_PP_FRAME_ITERATION(3)]
|
||||||
|
# define BOOST_PP_LINE_I_4() BOOST_PP_LINE_I_3()[BOOST_PP_FRAME_ITERATION(4)]
|
||||||
|
# define BOOST_PP_LINE_I_5() BOOST_PP_LINE_I_4()[BOOST_PP_FRAME_ITERATION(5)]
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_LINE(line, file) line __FILE__
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# endif
|
286
boost/boost/preprocessor/detail/dmc/auto_rec.hpp
Normal file
286
boost/boost/preprocessor/detail/dmc/auto_rec.hpp
Normal file
@ -0,0 +1,286 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_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
|
30
boost/boost/preprocessor/detail/is_nullary.hpp
Normal file
30
boost/boost/preprocessor/detail/is_nullary.hpp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_DETAIL_IS_NULLARY_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_DETAIL_IS_NULLARY_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
# include <boost/preprocessor/detail/check.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_IS_NULLARY */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_IS_NULLARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_NULLARY_CHECK)
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_IS_NULLARY(x) BOOST_PP_IS_NULLARY_I(x)
|
||||||
|
# define BOOST_PP_IS_NULLARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_NULLARY_CHECK)
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_IS_NULLARY_CHECK() 1
|
||||||
|
# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_NULLARY_CHECK 0, BOOST_PP_NIL
|
||||||
|
#
|
||||||
|
# endif
|
30
boost/boost/preprocessor/detail/is_unary.hpp
Normal file
30
boost/boost/preprocessor/detail/is_unary.hpp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
# include <boost/preprocessor/detail/check.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_IS_UNARY */
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_IS_UNARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_UNARY_CHECK)
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_IS_UNARY(x) BOOST_PP_IS_UNARY_I(x)
|
||||||
|
# define BOOST_PP_IS_UNARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_UNARY_CHECK)
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_IS_UNARY_CHECK(a) 1
|
||||||
|
# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_UNARY_CHECK 0, BOOST_PP_NIL
|
||||||
|
#
|
||||||
|
# endif
|
17
boost/boost/preprocessor/detail/null.hpp
Normal file
17
boost/boost/preprocessor/detail/null.hpp
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_DETAIL_NULL_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_DETAIL_NULL_HPP
|
||||||
|
#
|
||||||
|
# /* empty file */
|
||||||
|
#
|
||||||
|
# endif
|
35
boost/boost/preprocessor/detail/split.hpp
Normal file
35
boost/boost/preprocessor/detail/split.hpp
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_DETAIL_SPLIT_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_DETAIL_SPLIT_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_SPLIT */
|
||||||
|
#
|
||||||
|
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||||
|
# define BOOST_PP_SPLIT(n, im) BOOST_PP_SPLIT_I((n, im))
|
||||||
|
# define BOOST_PP_SPLIT_I(par) BOOST_PP_SPLIT_II ## par
|
||||||
|
# define BOOST_PP_SPLIT_II(n, a, b) BOOST_PP_SPLIT_ ## n(a, b)
|
||||||
|
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
|
||||||
|
# define BOOST_PP_SPLIT(n, im) BOOST_PP_SPLIT_I(n((im)))
|
||||||
|
# define BOOST_PP_SPLIT_I(n) BOOST_PP_SPLIT_ID(BOOST_PP_SPLIT_II_ ## n)
|
||||||
|
# define BOOST_PP_SPLIT_II_0(s) BOOST_PP_SPLIT_ID(BOOST_PP_SPLIT_0 s)
|
||||||
|
# define BOOST_PP_SPLIT_II_1(s) BOOST_PP_SPLIT_ID(BOOST_PP_SPLIT_1 s)
|
||||||
|
# define BOOST_PP_SPLIT_ID(id) id
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_SPLIT(n, im) BOOST_PP_SPLIT_I(n)(im)
|
||||||
|
# define BOOST_PP_SPLIT_I(n) BOOST_PP_SPLIT_ ## n
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_SPLIT_0(a, b) a
|
||||||
|
# define BOOST_PP_SPLIT_1(a, b) b
|
||||||
|
#
|
||||||
|
# endif
|
21
boost/boost/preprocessor/facilities.hpp
Normal file
21
boost/boost/preprocessor/facilities.hpp
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_FACILITIES_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_FACILITIES_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/facilities/apply.hpp>
|
||||||
|
# include <boost/preprocessor/facilities/empty.hpp>
|
||||||
|
# include <boost/preprocessor/facilities/expand.hpp>
|
||||||
|
# include <boost/preprocessor/facilities/identity.hpp>
|
||||||
|
# include <boost/preprocessor/facilities/intercept.hpp>
|
||||||
|
#
|
||||||
|
# endif
|
34
boost/boost/preprocessor/facilities/apply.hpp
Normal file
34
boost/boost/preprocessor/facilities/apply.hpp
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# /* **************************************************************************
|
||||||
|
# * *
|
||||||
|
# * (C) Copyright Paul Mensonides 2002.
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# * *
|
||||||
|
# ************************************************************************** */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_FACILITIES_APPLY_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_FACILITIES_APPLY_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
# include <boost/preprocessor/control/expr_iif.hpp>
|
||||||
|
# include <boost/preprocessor/detail/is_unary.hpp>
|
||||||
|
# include <boost/preprocessor/tuple/rem.hpp>
|
||||||
|
#
|
||||||
|
# /* BOOST_PP_APPLY */
|
||||||
|
#
|
||||||
|
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
|
||||||
|
# define BOOST_PP_APPLY(x) BOOST_PP_APPLY_I(x)
|
||||||
|
# define BOOST_PP_APPLY_I(x) BOOST_PP_EXPR_IIF(BOOST_PP_IS_UNARY(x), BOOST_PP_TUPLE_REM_1 x)
|
||||||
|
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()
|
||||||
|
# define BOOST_PP_APPLY(x) BOOST_PP_APPLY_I(x)
|
||||||
|
# define BOOST_PP_APPLY_I(x) BOOST_PP_APPLY_ ## x
|
||||||
|
# define BOOST_PP_APPLY_(x) x
|
||||||
|
# define BOOST_PP_APPLY_BOOST_PP_NIL
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_APPLY(x) BOOST_PP_EXPR_IIF(BOOST_PP_IS_UNARY(x), BOOST_PP_TUPLE_REM_1 x)
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# endif
|
28
boost/boost/preprocessor/facilities/expand.hpp
Normal file
28
boost/boost/preprocessor/facilities/expand.hpp
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# /* Copyright (C) 2001
|
||||||
|
# * Housemarque Oy
|
||||||
|
# * http://www.housemarque.com
|
||||||
|
# *
|
||||||
|
# * Distributed under the Boost Software License, Version 1.0. (See
|
||||||
|
# * accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
# * http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
# */
|
||||||
|
#
|
||||||
|
# /* Revised by Paul Mensonides (2002) */
|
||||||
|
#
|
||||||
|
# /* See http://www.boost.org for most recent version. */
|
||||||
|
#
|
||||||
|
# ifndef BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP
|
||||||
|
# define BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP
|
||||||
|
#
|
||||||
|
# include <boost/preprocessor/config/config.hpp>
|
||||||
|
#
|
||||||
|
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
|
||||||
|
# define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_I(x)
|
||||||
|
# else
|
||||||
|
# define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_OO((x))
|
||||||
|
# define BOOST_PP_EXPAND_OO(par) BOOST_PP_EXPAND_I ## par
|
||||||
|
# endif
|
||||||
|
#
|
||||||
|
# define BOOST_PP_EXPAND_I(x) x
|
||||||
|
#
|
||||||
|
# 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