Preprocessor library is now C friendly.

[SVN r12552]
This commit is contained in:
Vesa Karvonen
2002-01-29 14:13:10 +00:00
parent 972f6222d1
commit df1244ba20
137 changed files with 1671 additions and 1272 deletions

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_HPP
#define BOOST_PREPROCESSOR_ARITHMETIC_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/arithmetic.hpp">Click here to see the header.</a>

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
#define BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/arithmetic/add.hpp">Click here to see the header.</a>
*/
@ -22,8 +23,8 @@
#include <boost/preprocessor/tuple/elem.hpp>
#include <boost/preprocessor/while.hpp>
//! Expands to the sum of X and Y.
/*!
/** Expands to the sum of X and Y.
For example, BOOST_PP_ADD(4,3) expands to 7 (a single token).
*/
#define BOOST_PP_ADD(X,Y) BOOST_PP_ADD_D(0,X,Y)
@ -39,6 +40,6 @@ For example, BOOST_PP_ADD(4,3) expands to 7 (a single token).
#endif
#endif
//! Obsolete. Use BOOST_PP_ADD().
/** Obsolete. Use BOOST_PP_ADD(). */
#define BOOST_PREPROCESSOR_ADD(X,Y) BOOST_PP_ADD(X,Y)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP
#define BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/arithmetic/div.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/comparison/less_equal.hpp>
#include <boost/preprocessor/inc.hpp>
//! Expands to the quotient of X and Y.
/*!
/** Expands to the quotient of X and Y.
For example, BOOST_PP_DIV(4,3) expands to 1 (a single token).
*/
#define BOOST_PP_DIV(X,Y) BOOST_PP_DIV_D(0,X,Y)
@ -37,6 +38,6 @@ For example, BOOST_PP_DIV(4,3) expands to 1 (a single token).
#endif
#endif
//! Obsolete. Use BOOST_PP_DIV().
/** Obsolete. Use BOOST_PP_DIV(). */
#define BOOST_PREPROCESSOR_DIV(X,Y) BOOST_PP_DIV(X,Y)
#endif

View File

@ -1,26 +1,27 @@
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
#define BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/arithmetic/mod.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/comparison/less_equal.hpp>
//! Expands to the remainder of X and Y.
/*!
/** Expands to the remainder of X and Y.
For example, BOOST_PP_MOD(4,3) expands to 1 (a single token).
*/
#define BOOST_PP_MOD(X,Y) BOOST_PP_MOD_D(0,X,Y)
@ -31,6 +32,6 @@ For example, BOOST_PP_MOD(4,3) expands to 1 (a single token).
#define BOOST_PP_MOD_F(D,P) (BOOST_PP_SUB_D(D,BOOST_PP_TUPLE2_ELEM0 P,BOOST_PP_TUPLE2_ELEM1 P),BOOST_PP_TUPLE2_ELEM1 P)
#endif
//! Obsolete. Use BOOST_PP_MOD().
/** Obsolete. Use BOOST_PP_MOD(). */
#define BOOST_PREPROCESSOR_MOD(X,Y) BOOST_PP_MOD(X,Y)
#endif

View File

@ -1,26 +1,27 @@
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP
#define BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/arithmetic/mul.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/arithmetic/add.hpp>
//! Expands to the product of X and Y.
/*!
/** Expands to the product of X and Y.
For example, BOOST_PP_MUL(4,3) expands to 12 (a single token).
*/
#define BOOST_PP_MUL(X,Y) BOOST_PP_MUL_D(0,X,Y)
@ -36,6 +37,6 @@ For example, BOOST_PP_MUL(4,3) expands to 12 (a single token).
#endif
#endif
//! Obsolete. Use BOOST_PP_MUL().
/** Obsolete. Use BOOST_PP_MUL(). */
#define BOOST_PREPROCESSOR_MUL(X,Y) BOOST_PP_MUL(X,Y)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
#define BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/arithmetic/sub.hpp">Click here to see the header.</a>
*/
@ -21,8 +22,8 @@
#include <boost/preprocessor/tuple/elem.hpp>
#include <boost/preprocessor/while.hpp>
//! Expands to the difference of X and Y.
/*!
/** Expands to the difference of X and Y.
For example, BOOST_PP_SUB(4,3) expands to 1 (a single token).
*/
#define BOOST_PP_SUB(X,Y) BOOST_PP_SUB_D(0,X,Y)
@ -38,6 +39,6 @@ For example, BOOST_PP_SUB(4,3) expands to 1 (a single token).
#endif
#endif
//! Obsolete. Use BOOST_PP_SUB(X,Y).
/** Obsolete. Use BOOST_PP_SUB(X,Y). */
#define BOOST_PREPROCESSOR_SUB(X,Y) BOOST_PP_SUB(X,Y)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_ASSERT_MSG_HPP
#define BOOST_PREPROCESSOR_ASSERT_MSG_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/assert_msg.hpp">Click here to see the header.</a>
*/
@ -20,9 +21,9 @@
#include <boost/preprocessor/empty.hpp>
#include <boost/preprocessor/if.hpp>
//! Expands to nothing if C != 0 and to MSG if C == 0.
/** Expands to nothing if C != 0 and to MSG if C == 0. */
#define BOOST_PP_ASSERT_MSG(C,MSG) BOOST_PP_IF(C,BOOST_PP_EMPTY,MSG BOOST_PP_EMPTY)()
//! Obsolete. Use BOOST_PP_ASSERT_MSG().
/** Obsolete. Use BOOST_PP_ASSERT_MSG(). */
#define BOOST_PREPROCESSOR_ASSERT_MSG(C,MSG) BOOST_PP_ASSERT_MSG(C,MSG)
#endif

View File

@ -1,24 +1,25 @@
#ifndef BOOST_PREPROCESSOR_CAT_HPP
#define BOOST_PREPROCESSOR_CAT_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/cat.hpp">Click here to see the header.</a>
*/
//! Delays the catenation of X and Y.
/*!
/** Delays the catenation of X and Y.
For example,
<PRE>\verbatim
@ -69,6 +70,6 @@ the above would expand to:
#define BOOST_PP_DO_CAT(X,Y) X##Y
#endif
//! Obsolete. Use BOOST_PP_CAT().
/** Obsolete. Use BOOST_PP_CAT(). */
#define BOOST_PREPROCESSOR_CAT(X,Y) BOOST_PP_CAT(X,Y)
#endif

View File

@ -1,28 +1,29 @@
#ifndef BOOST_PREPROCESSOR_COMMA_HPP
#define BOOST_PREPROCESSOR_COMMA_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/comma.hpp">Click here to see the header.</a>
*/
//! Expands to a comma. Can be used with BOOST_PP_IF().
/*!
/** Expands to a comma. Can be used with BOOST_PP_IF().
See BOOST_PP_COMMA_IF().
*/
#define BOOST_PP_COMMA() ,
//! Obsolete. Use BOOST_PP_COMMA().
/** Obsolete. Use BOOST_PP_COMMA(). */
#define BOOST_PREPROCESSOR_COMMA() ,
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
#define BOOST_PREPROCESSOR_COMMA_IF_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/comma_if.hpp">Click here to see the header.</a>
*/
@ -21,9 +22,10 @@
#include <boost/preprocessor/empty.hpp>
#include <boost/preprocessor/if.hpp>
//! Expands to a comma if C != 0 and nothing if C == 0.
/** Expands to a comma if C != 0 and nothing if C == 0. */
#define BOOST_PP_COMMA_IF(C) BOOST_PP_IF(C,BOOST_PP_COMMA,BOOST_PP_EMPTY)()
//! Obsolete. Use BOOST_PP_COMMA_IF().
/** Obsolete. Use BOOST_PP_COMMA_IF(). */
#define BOOST_PREPROCESSOR_COMMA_IF(C) BOOST_PP_COMMA_IF(C)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_HPP
#define BOOST_PREPROCESSOR_COMPARISON_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/comparison.hpp">Click here to see the header.</a>

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
#define BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/comparison/equal.hpp">Click here to see the header.</a>
*/
@ -20,13 +21,13 @@
#include <boost/preprocessor/comparison/not_equal.hpp>
#include <boost/preprocessor/logical/not.hpp>
//! Expands to 1 if X==Y and 0 otherwise.
/** Expands to 1 if X==Y and 0 otherwise. */
#define BOOST_PP_EQUAL(X,Y) BOOST_PP_EQUAL_D(0,X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PP_EQUAL_D(D,X,Y) BOOST_PP_NOT(BOOST_PP_NOT_EQUAL_D(D,X,Y))
#endif
//! Obsolete. Use BOOST_PP_EQUAL().
/** Obsolete. Use BOOST_PP_EQUAL(). */
#define BOOST_PREPROCESSOR_EQUAL(X,Y) BOOST_PP_EQUAL(X,Y)
#endif

View File

@ -1,31 +1,32 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP
#define BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/comparison/greater.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/comparison/less.hpp>
//! Expands to 1 if X>Y and 0 otherwise.
/** Expands to 1 if X>Y and 0 otherwise. */
#define BOOST_PP_GREATER(X,Y) BOOST_PP_GREATER_D(0,X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PP_GREATER_D(D,X,Y) BOOST_PP_LESS_D(D,Y,X)
#endif
//! Obsolete. Use BOOST_PP_GREATER().
/** Obsolete. Use BOOST_PP_GREATER(). */
#define BOOST_PREPROCESSOR_GREATER(X,Y) BOOST_PP_GREATER(X,Y)
#endif

View File

@ -1,31 +1,32 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP
#define BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/comparison/greater_equal.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/comparison/less_equal.hpp>
//! Expands to 1 if X>=Y and 0 otherwise.
/** Expands to 1 if X>=Y and 0 otherwise. */
#define BOOST_PP_GREATER_EQUAL(X,Y) BOOST_PP_GREATER_EQUAL_D(0,X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PP_GREATER_EQUAL_D(D,X,Y) BOOST_PP_LESS_EQUAL_D(D,Y,X)
#endif
//! Obsolete. Use BOOST_PP_GREATER_EQUAL().
/** Obsolete. Use BOOST_PP_GREATER_EQUAL(). */
#define BOOST_PREPROCESSOR_GREATER_EQUAL(X,Y) BOOST_PP_GREATER_EQUAL(X,Y)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
#define BOOST_PREPROCESSOR_COMPARISON_LESS_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/comparison/less.hpp">Click here to see the header.</a>
*/
@ -21,13 +22,13 @@
#include <boost/preprocessor/comparison/not_equal.hpp>
#include <boost/preprocessor/logical/and.hpp>
//! Expands to 1 if X<Y and 0 otherwise.
/** Expands to 1 if X<Y and 0 otherwise. */
#define BOOST_PP_LESS(X,Y) BOOST_PP_LESS_D(0,X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PP_LESS_D(D,X,Y) BOOST_PP_AND(BOOST_PP_NOT_EQUAL_D(D,X,Y),BOOST_PP_LESS_EQUAL_D(D,X,Y))
#endif
//! Obsolete. Use BOOST_PP_LESS().
/** Obsolete. Use BOOST_PP_LESS(). */
#define BOOST_PREPROCESSOR_LESS(X,Y) BOOST_PP_LESS(X,Y)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
#define BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/comparison/less_equal.hpp">Click here to see the header.</a>
*/
@ -20,13 +21,13 @@
#include <boost/preprocessor/arithmetic/sub.hpp>
#include <boost/preprocessor/logical/not.hpp>
//! Expands to 1 if X<=Y and 0 otherwise.
/** Expands to 1 if X<=Y and 0 otherwise. */
#define BOOST_PP_LESS_EQUAL(X,Y) BOOST_PP_LESS_EQUAL_D(0,X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PP_LESS_EQUAL_D(D,X,Y) BOOST_PP_NOT(BOOST_PP_SUB_D(D,X,Y))
#endif
//! Obsolete. Use BOOST_PP_LESS_EQUAL().
/** Obsolete. Use BOOST_PP_LESS_EQUAL(). */
#define BOOST_PREPROCESSOR_LESS_EQUAL(X,Y) BOOST_PP_LESS_EQUAL(X,Y)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
#define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/comparison/not_equal.hpp">Click here to see the header.</a>
*/
@ -21,13 +22,13 @@
#include <boost/preprocessor/arithmetic/sub.hpp>
#include <boost/preprocessor/logical/bool.hpp>
//! Expands to 1 if X!=Y and 0 otherwise.
/** Expands to 1 if X!=Y and 0 otherwise. */
#define BOOST_PP_NOT_EQUAL(X,Y) BOOST_PP_NOT_EQUAL_D(0,X,Y)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PP_NOT_EQUAL_D(D,X,Y) BOOST_PP_BOOL(BOOST_PP_ADD_D(D,BOOST_PP_SUB_D(D,X,Y),BOOST_PP_SUB_D(D,Y,X)))
#endif
//! Obsolete. Use BOOST_PP_NOT_EQUAL().
/** Obsolete. Use BOOST_PP_NOT_EQUAL(). */
#define BOOST_PREPROCESSOR_NOT_EQUAL(X,Y) BOOST_PP_NOT_EQUAL(X,Y)
#endif

View File

@ -1,24 +1,25 @@
#ifndef BOOST_PREPROCESSOR_DEC_HPP
#define BOOST_PREPROCESSOR_DEC_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/dec.hpp">Click here to see the header.</a>
*/
//! Decrements X expanding to a single token.
/*!
/** Decrements X expanding to a single token.
For example, BOOST_PP_DEC(3) expands to 2 (a single token).
BOOST_PP_DEC() uses saturation arithmetic. Decrementing 0 yeilds a 0.
@ -161,6 +162,6 @@ supported.
#define BOOST_PP_DEC128 127
#endif
//! Obsolete. Use BOOST_PP_DEC().
/** Obsolete. Use BOOST_PP_DEC(). */
#define BOOST_PREPROCESSOR_DEC(X) BOOST_PP_DEC(X)
#endif

View File

@ -1,24 +1,25 @@
#ifndef BOOST_PREPROCESSOR_EMPTY_HPP
#define BOOST_PREPROCESSOR_EMPTY_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/empty.hpp">Click here to see the header.</a>
*/
//! Expands to nothing. Used with BOOST_PP_IF() and as an unused parameter.
/*!
/** Expands to nothing. Used with BOOST_PP_IF() and as an unused parameter.
Example usage as the implementation of BOOST_PP_COMMA_IF(C):
<PRE>\verbatim
@ -71,6 +72,6 @@ implementing the subscripting operators of a random access container.
*/
#define BOOST_PP_EMPTY()
//! Obsolete. Use BOOST_PP_EMPTY().
/** Obsolete. Use BOOST_PP_EMPTY(). */
#define BOOST_PREPROCESSOR_EMPTY()
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_ENUM_HPP
#define BOOST_PREPROCESSOR_ENUM_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/enum.hpp">Click here to see the header.</a>
*/
@ -21,8 +22,8 @@
#include <boost/preprocessor/repeat.hpp>
#include <boost/preprocessor/tuple.hpp>
//! Generates a comma separated list.
/*!
/** Generates a comma separated list.
In other words, expands to the sequence:
<PRE>\verbatim

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
#define BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/enum_params.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/enum.hpp>
//! Generates a comma separated list of parameters.
/*!
/** Generates a comma separated list of parameters.
In other words, expands to the sequence:
<PRE>\verbatim
@ -36,6 +37,6 @@ NOTE: The implementation uses BOOST_PP_REPEAT().
#define BOOST_PP_ENUM_PARAMS_F(I,P) BOOST_PP_CAT(P,I)
#endif
//! Obsolete. Use BOOST_PP_ENUM_PARAMS().
/** Obsolete. Use BOOST_PP_ENUM_PARAMS(). */
#define BOOST_PREPROCESSOR_ENUM_PARAMS(N,P) BOOST_PP_ENUM_PARAMS(N,P)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/enum_params_with_a_default.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/enum.hpp>
//! Generates a comma separated list of parameters with a default.
/*!
/** Generates a comma separated list of parameters with a default.
In other words, expands to the sequence:
<PRE>\verbatim
@ -40,6 +41,6 @@ NOTE: The implementation uses BOOST_PP_REPEAT().
#endif
#endif
//! Obsolete. Use BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT().
/** Obsolete. Use BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(). */
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT(N,P,D) BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(N,P,D)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/enum_params_with_defaults.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/enum.hpp>
//! Generates a comma separated list of parameters with defaults.
/*!
/** Generates a comma separated list of parameters with defaults.
In other words, expands to the sequence:
<PRE>\verbatim
@ -40,6 +41,6 @@ NOTE: The implementation uses BOOST_PP_REPEAT().
#endif
#endif
//! Obsolete. Use BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS().
/** Obsolete. Use BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(). */
#define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS(N,P,D) BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(N,P,D)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_HPP
#define BOOST_PREPROCESSOR_ENUM_SHIFTED_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/enum_shifted.hpp">Click here to see the header.</a>
*/
@ -21,8 +22,8 @@
#include <boost/preprocessor/dec.hpp>
#include <boost/preprocessor/inc.hpp>
//! Generates a comma separated shifted list.
/*!
/** Generates a comma separated shifted list.
In other words, expands to the sequence:
<PRE>\verbatim

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
#define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/enum_shifted_params.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/enum_shifted.hpp>
//! Generates a comma separated list of shifted actual parameters.
/*!
/** Generates a comma separated list of shifted actual parameters.
In other words, expands to the sequence:
<PRE>\verbatim
@ -40,6 +41,6 @@ lists are common in template metaprograms.
#define BOOST_PP_ENUM_SHIFTED_PARAMS_F(I,P) BOOST_PP_CAT(P,I)
#endif
//! Obsolete. Use BOOST_PP_ENUM_SHIFTED_PARAMS().
/** Obsolete. Use BOOST_PP_ENUM_SHIFTED_PARAMS(). */
#define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS(N,P) BOOST_PP_ENUM_SHIFTED_PARAMS(N,P)
#endif

View File

@ -1,24 +1,25 @@
#ifndef BOOST_PREPROCESSOR_EXPAND_HPP
#define BOOST_PREPROCESSOR_EXPAND_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/expand.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/identity.hpp>
//! Essentially macro expands the parameter X twice.
/** Essentially macro expands the parameter X twice. */
#define BOOST_PP_EXPAND(X) X
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_FOR_HPP
#define BOOST_PREPROCESSOR_FOR_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/for.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/if.hpp>
#include <boost/preprocessor/tuple/eat.hpp>
//! Repeats I(R,X) and iterates F(R,X) while C(R,X) is true.
/*!
/** Repeats I(R,X) and iterates F(R,X) while C(R,X) is true.
In other words, expands to the sequence:
<PRE>\verbatim

View File

@ -1,26 +1,27 @@
#ifndef BOOST_PREPROCESSOR_IDENTITY_HPP
#define BOOST_PREPROCESSOR_IDENTITY_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/identity.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/empty.hpp>
//! Expands to X once invoked.
/*!
/** Expands to X once invoked.
Designed to be used with BOOST_PP_IF(), when one of the clauses need to be invoked.
For example,
@ -40,6 +41,6 @@ NOTE: If BOOST_PP_IDENTITY() is not invoked, the expansion will not be usable.
*/
#define BOOST_PP_IDENTITY(X) X BOOST_PP_EMPTY
//! Obsolete. Use BOOST_PP_IDENTITY().
/** Obsolete. Use BOOST_PP_IDENTITY(). */
#define BOOST_PREPROCESSOR_IDENTITY(X) BOOST_PP_IDENTITY(X)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_IF_HPP
#define BOOST_PREPROCESSOR_IF_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/if.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,7 @@
#include <boost/preprocessor/logical/bool.hpp>
#include <boost/preprocessor/tuple/elem.hpp>
//! Expands to T if C != 0 and E if C == 0.
/*!
/** Expands to T if C != 0 and E if C == 0.
BOOST_PP_IF() enables convenient generation of lists using
BOOST_PP_REPEAT().
*/
@ -32,6 +32,6 @@ BOOST_PP_REPEAT().
#define BOOST_PP_IF_BOOL_DELAY(C) BOOST_PP_TUPLE2_ELEM##C
#endif
//! Obsolete. Use BOOST_PP_IF().
/** Obsolete. Use BOOST_PP_IF(). */
#define BOOST_PREPROCESSOR_IF(C,T,E) BOOST_PP_IF(C,T,E)
#endif

View File

@ -1,24 +1,25 @@
#ifndef BOOST_PREPROCESSOR_INC_HPP
#define BOOST_PREPROCESSOR_INC_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/inc.hpp">Click here to see the header.</a>
*/
//! Increments X expanding to a single token.
/*!
/** Increments X expanding to a single token.
For example, BOOST_PP_INC(3) expands to 4 (a single token).
BOOST_PP_INC() uses saturation arithmetic. Incrementing a
@ -162,6 +163,6 @@ supported.
#define BOOST_PP_INC128 128
#endif
//! Obsolete. Use BOOST_PP_INC().
/** Obsolete. Use BOOST_PP_INC(). */
#define BOOST_PREPROCESSOR_INC(X) BOOST_PP_INC(X)
#endif

View File

@ -1,31 +1,32 @@
#ifndef BOOST_PREPROCESSOR_LIMITS_HPP
#define BOOST_PREPROCESSOR_LIMITS_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/limits.hpp">Click here to see the header.</a>
*/
//! Expands to the number of dimensions of repeat supported by the library.
/*!
/** Expands to the number of dimensions of repeat supported by the library.
The repeat macros are named BOOST_PP_REPEAT(), BOOST_PP_REPEAT_2ND(),
BOOST_PP_REPEAT_3RD(), ...
*/
#define BOOST_PP_LIMIT_DIM 3
//! Expands to the maximum straight numeric literal supported by the library.
/*!
/** Expands to the maximum straight numeric literal supported by the library.
This is also the limit of the repetition primitives (BOOST_PP_ENUM family and
BOOST_PP_REPEAT family).
@ -38,15 +39,15 @@ due to compiler limitations.
*/
#define BOOST_PP_LIMIT_MAG 128
//! Expands to the maximum tuple length supported by the library.
/** Expands to the maximum tuple length supported by the library. */
#define BOOST_PP_LIMIT_TUPLE 16
//! Obsolete. Use BOOST_PP_LIMIT_DIM.
/** Obsolete. Use BOOST_PP_LIMIT_DIM. */
#define BOOST_PREPROCESSOR_LIMIT_DIM BOOST_PP_LIMIT_DIM
//! Obsolete. Use BOOST_PP_LIMIT_MAG.
/** Obsolete. Use BOOST_PP_LIMIT_MAG. */
#define BOOST_PREPROCESSOR_LIMIT_MAG BOOST_PP_LIMIT_MAG
//! Obsolete. Use BOOST_PP_LIMIT_TUPLE.
/** Obsolete. Use BOOST_PP_LIMIT_TUPLE. */
#define BOOST_PREPROCESSOR_LIMIT_TUPLE BOOST_PP_LIMIT_TUPLE
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_LIST_HPP
#define BOOST_PREPROCESSOR_LIST_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list.hpp">Click here to see the header.</a>

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_LIST_ADT_HPP
#define BOOST_PREPROCESSOR_LIST_ADT_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/adt.hpp">Click here to see the header.</a>
@ -26,8 +27,8 @@ code that depends on the internal representation details.
#include <boost/preprocessor/tuple/elem.hpp>
#include <boost/preprocessor/logical/not.hpp>
//! List constructor.
/*!
/** List constructor.
Lists are build using list constructors BOOST_PP_LIST_NIL and
BOOST_PP_LIST_CONS(). For example,
@ -50,14 +51,14 @@ Both of the above lists contain 5 elements: 1, 2, 3, 4 and 5.
*/
#define BOOST_PP_LIST_CONS(H,T) (H,T,1)
//! List nil constructor.
/*!
/** List nil constructor.
See BOOST_PP_LIST_CONS().
*/
#define BOOST_PP_LIST_NIL (_,_,0)
//! Expands to 1 if the list is not nil and 0 otherwise.
/*!
/** Expands to 1 if the list is not nil and 0 otherwise.
See BOOST_PP_LIST_IS_NIL().
*/
#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406
@ -66,8 +67,8 @@ See BOOST_PP_LIST_IS_NIL().
# define BOOST_PP_LIST_IS_CONS(L) BOOST_PP_TUPLE3_ELEM2 L
#endif
//! Expands to 1 if the list is nil and 0 otherwise.
/*!
/** Expands to 1 if the list is nil and 0 otherwise.
See BOOST_PP_LIST_IS_CONS().
*/
#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406
@ -76,8 +77,8 @@ See BOOST_PP_LIST_IS_CONS().
# define BOOST_PP_LIST_IS_NIL(L) BOOST_PP_NOT(BOOST_PP_TUPLE3_ELEM2 L)
#endif
//! Expands to the first element of the list. The list must not be nil.
/*!
/** Expands to the first element of the list. The list must not be nil.
For example,
<PRE>\verbatim
@ -94,8 +95,8 @@ See BOOST_PP_LIST_REST().
# define BOOST_PP_LIST_FIRST(L) BOOST_PP_TUPLE3_ELEM0 L
#endif
//! Expands to a list of all but the first element of the list. The list must not be nil.
/*!
/** Expands to a list of all but the first element of the list. The list must not be nil.
For example,
<PRE>\verbatim

View File

@ -1,26 +1,27 @@
#ifndef BOOST_PREPROCESSOR_LIST_APPEND_HPP
#define BOOST_PREPROCESSOR_LIST_APPEND_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/append.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/list/fold_right.hpp>
//! Catenates two lists together.
/*!
/** Catenates two lists together.
For example,
<PRE>\verbatim

View File

@ -1,26 +1,27 @@
#ifndef BOOST_PFIRST_NPROCESSOR_LIST_AT_HPP
#define BOOST_PFIRST_NPROCESSOR_LIST_AT_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this softwaFIRST_N is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this softwaFIRST_N is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/at.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/list/rest_n.hpp>
//! Expands to the I:th element of the list L. The first element is at index 0.
/*!
/** Expands to the I:th element of the list L. The first element is at index 0.
For example,
<PRE>\verbatim

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_LIST_CAT_HPP
#define BOOST_PREPROCESSOR_LIST_CAT_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/cat.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/list/fold_left.hpp>
//! Catenates all elements of the list.
/*!
/** Catenates all elements of the list.
For example,
<PRE>\verbatim

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_LIST_ENUM_HPP
#define BOOST_PREPROCESSOR_LIST_ENUM_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/enum.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/comma_if.hpp>
#include <boost/preprocessor/list/for_each.hpp>
//! Converts the list to a comma separated list.
/*!
/** Converts the list to a comma separated list.
For example,
<PRE>\verbatim

View File

@ -1,26 +1,27 @@
#ifndef BOOST_PREPROCESSOR_LIST_FILTER_HPP
#define BOOST_PREPROCESSOR_LIST_FILTER_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/filter.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/list/fold_right.hpp>
//! Expands to a list containing all the elements X of the list for which F(D,P,X) is true.
/*!
/** Expands to a list containing all the elements X of the list for which F(D,P,X) is true.
For example,
<PRE>\verbatim

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_LIST_FIRST_N_HPP
#define BOOST_PREPROCESSOR_LIST_FIRST_N_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/first_n.hpp">Click here to see the header.</a>
*/
@ -21,8 +22,8 @@
#include <boost/preprocessor/list/adt.hpp>
#include <boost/preprocessor/while.hpp>
//! Expands to a list of the first N elements of the list.
/*!
/** Expands to a list of the first N elements of the list.
For example,
<PRE>\verbatim

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP
#define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/fold_left.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/list/adt.hpp>
#include <boost/preprocessor/while.hpp>
//! Iterates F(D,P,X) for each element X of the list L (from the left or the start of the list).
/*!
/** Iterates F(D,P,X) for each element X of the list L (from the left or the start of the list).
In other words,
<PRE>\verbatim

View File

@ -1,26 +1,27 @@
#ifndef BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP
#define BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/fold_right.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/list/reverse.hpp>
//! Iterates F(D,X,P) for each element X of the list L (from the right or the end of the list).
/*!
/** Iterates F(D,X,P) for each element X of the list L (from the right or the end of the list).
In other words,
<PRE>\verbatim

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_LIST_FOR_EACH_HPP
#define BOOST_PREPROCESSOR_LIST_FOR_EACH_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/for_each.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/list/adt.hpp>
#include <boost/preprocessor/for.hpp>
//! Repeats F(R,P,BOOST_PP_LIST_AT(L,I)) for each I = [0,BOOST_PP_LIST_SIZE(L)[.
/*!
/** Repeats F(R,P,BOOST_PP_LIST_AT(L,I)) for each I = [0,BOOST_PP_LIST_SIZE(L)[.
In other words, expands to the sequence:
<PRE>\verbatim

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_LIST_REST_N_HPP
#define BOOST_PREPROCESSOR_LIST_REST_N_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/rest_n.hpp">Click here to see the header.</a>
*/
@ -21,8 +22,8 @@
#include <boost/preprocessor/list/adt.hpp>
#include <boost/preprocessor/while.hpp>
//! Expands to a list of all but the first N elements of the list.
/*!
/** Expands to a list of all but the first N elements of the list.
For example,
<PRE>\verbatim

View File

@ -1,26 +1,27 @@
#ifndef BOOST_PREPROCESSOR_LIST_REVERSE_HPP
#define BOOST_PREPROCESSOR_LIST_REVERSE_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/reverse.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/list/fold_left.hpp>
//! List reversal.
/*!
/** List reversal.
For example,
<PRE>\verbatim

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_LIST_SIZE_HPP
#define BOOST_PREPROCESSOR_LIST_SIZE_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/size.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/list/fold_left.hpp>
#include <boost/preprocessor/inc.hpp>
//! Expands to the number of elements in the list.
/*!
/** Expands to the number of elements in the list.
For example,
<PRE>\verbatim

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_LIST_TO_TUPLE_HPP
#define BOOST_PREPROCESSOR_LIST_TO_TUPLE_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/to_tuple.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/comma_if.hpp>
#include <boost/preprocessor/list/enum.hpp>
//! Converts the list to a tuple.
/*!
/** Converts the list to a tuple.
For example,
<PRE>\verbatim

View File

@ -1,26 +1,27 @@
#ifndef BOOST_PREPROCESSOR_LIST_TRANSFORM_HPP
#define BOOST_PREPROCESSOR_LIST_TRANSFORM_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/list/transform.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/list/fold_right.hpp>
//! Applies the macro F(D,P,X) to each element X of the list producing a new list.
/*!
/** Applies the macro F(D,P,X) to each element X of the list producing a new list.
In other words, BOOST_PP_LIST_TRANSFORM(F,P,L) expands to same as:
<PRE>\verbatim

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_HPP
#define BOOST_PREPROCESSOR_LOGICAL_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/logical.hpp">Click here to see the header.</a>

View File

@ -1,30 +1,31 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP
#define BOOST_PREPROCESSOR_LOGICAL_AND_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/logical/and.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/logical/not.hpp>
//! Expands to the logical AND of the operands.
/*!
/** Expands to the logical AND of the operands.
For example, BOOST_PP_AND(0,5) expands to 0 (a single token).
*/
#define BOOST_PP_AND(X,Y) BOOST_PP_NOR(BOOST_PP_NOT(X),BOOST_PP_NOT(Y))
//! Obsolete. Use BOOST_PP_AND().
/** Obsolete. Use BOOST_PP_AND(). */
#define BOOST_PREPROCESSOR_AND(X,Y) BOOST_PP_AND(X,Y)
#endif

View File

@ -1,28 +1,30 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
#define BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/logical/bool.hpp">Click here to see the header.</a>
*/
//! Expands to 0 if X == 0 and 1 if X != 0.
/** Expands to 0 if X == 0 and 1 if X != 0. */
#define BOOST_PP_BOOL(X) BOOST_PP_BOOL_DELAY(X)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// BOOL can be implemented in O(1) tokens using saturated ADD & SUB.
// Unfortunately, it would result in significantly slower preprocessing.
/* BOOL can be implemented in O(1) tokens using saturated ADD & SUB.
* Unfortunately, it would result in significantly slower preprocessing.
*/
#define BOOST_PP_BOOL_DELAY(X) BOOST_PP_BOOL##X
#define BOOST_PP_BOOL0 0
#define BOOST_PP_BOOL1 1
@ -155,6 +157,6 @@
#define BOOST_PP_BOOL128 1
#endif
//! Obsolete. Use BOOST_PP_BOOL().
/** Obsolete. Use BOOST_PP_BOOL(). */
#define BOOST_PREPROCESSOR_BOOL(X) BOOST_PP_BOOL(X)
#endif

View File

@ -1,26 +1,27 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
#define BOOST_PREPROCESSOR_LOGICAL_NOR_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/logical/nor.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/logical/bool.hpp>
//! Expands to the logical NEITHER OR of the operands.
/*!
/** Expands to the logical NEITHER OR of the operands.
For example, BOOST_PP_NOR(0,5) expands to 0 (a single token).
*/
#define BOOST_PP_NOR(X,Y) BOOST_PP_NOR_BOOL(BOOST_PP_BOOL(X),BOOST_PP_BOOL(Y))
@ -34,6 +35,6 @@ For example, BOOST_PP_NOR(0,5) expands to 0 (a single token).
#define BOOST_PP_NOR_BOOL11 0
#endif
//! Obsolete. Use BOOST_PP_NOR().
/** Obsolete. Use BOOST_PP_NOR(). */
#define BOOST_PREPROCESSOR_NOR(X,Y) BOOST_PP_NOR(X,Y)
#endif

View File

@ -1,30 +1,31 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
#define BOOST_PREPROCESSOR_LOGICAL_NOT_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/logical/not.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/logical/nor.hpp>
//! Expands to the logical NOT of the operand.
/*!
/** Expands to the logical NOT of the operand.
For example, BOOST_PP_NOT(0) expands to 1 (a single token).
*/
#define BOOST_PP_NOT(X) BOOST_PP_NOR(X,X)
//! Obsolete. Use BOOST_PP_NOT().
/** Obsolete. Use BOOST_PP_NOT(). */
#define BOOST_PREPROCESSOR_NOT(X) BOOST_PP_NOT(X)
#endif

View File

@ -1,30 +1,31 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_OR_HPP
#define BOOST_PREPROCESSOR_LOGICAL_OR_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/logical/or.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/logical/not.hpp>
//! Expands to the logical OR of the operands.
/*!
/** Expands to the logical OR of the operands.
For example, BOOST_PP_OR(0,2) expands to 1 (a single token).
*/
#define BOOST_PP_OR(X,Y) BOOST_PP_NOT(BOOST_PP_NOR(X,Y))
//! Obsolete. Use BOOST_PP_OR().
/** Obsolete. Use BOOST_PP_OR(). */
#define BOOST_PREPROCESSOR_OR(X,Y) BOOST_PP_OR(X,Y)
#endif

View File

@ -1,30 +1,31 @@
#ifndef BOOST_PREPROCESSOR_LOGICAL_XOR_HPP
#define BOOST_PREPROCESSOR_LOGICAL_XOR_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/logical/xor.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/logical/and.hpp>
//! Expands to the logical EXCLUSIVE OR of the operands.
/*!
/** Expands to the logical EXCLUSIVE OR of the operands.
For example, BOOST_PP_XOR(1,2) expands to 0 (a single token).
*/
#define BOOST_PP_XOR(X,Y) BOOST_PP_NOR(BOOST_PP_NOR(X,Y),BOOST_PP_AND(X,Y))
//! Obsolete. Use BOOST_PP_XOR().
/** Obsolete. Use BOOST_PP_XOR(). */
#define BOOST_PREPROCESSOR_XOR(X,Y) BOOST_PP_XOR(X,Y)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_MAX_HPP
#define BOOST_PREPROCESSOR_MAX_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/max.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/comparison/less_equal.hpp>
#include <boost/preprocessor/if.hpp>
//! Expands to the maximum of X and Y.
/*!
/** Expands to the maximum of X and Y.
For example, BOOST_PP_MAX(5,7) expands to 7 (a single token).
*/
#define BOOST_PP_MAX(X,Y) BOOST_PP_MAX_D(0,X,Y)
@ -30,6 +31,6 @@ For example, BOOST_PP_MAX(5,7) expands to 7 (a single token).
#define BOOST_PP_MAX_D(D,X,Y) BOOST_PP_IF(BOOST_PP_LESS_EQUAL_D(D,X,Y),Y,X)
#endif
//! Obsolete. Use BOOST_PP_MAX().
/** Obsolete. Use BOOST_PP_MAX(). */
#define BOOST_PREPROCESSOR_MAX(X,Y) BOOST_PP_MAX(X,Y)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_MIN_HPP
#define BOOST_PREPROCESSOR_MIN_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/min.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/comparison/less_equal.hpp>
#include <boost/preprocessor/if.hpp>
//! Expands to the minimum of X and Y.
/*!
/** Expands to the minimum of X and Y.
For example, BOOST_PP_MIN(5,7) expands to 5 (a single token).
*/
#define BOOST_PP_MIN(X,Y) BOOST_PP_MIN_D(0,X,Y)
@ -30,6 +31,6 @@ For example, BOOST_PP_MIN(5,7) expands to 5 (a single token).
#define BOOST_PP_MIN_D(D,X,Y) BOOST_PP_IF(BOOST_PP_LESS_EQUAL_D(D,Y,X),Y,X)
#endif
//! Obsolete. Use BOOST_PP_MIN().
/** Obsolete. Use BOOST_PP_MIN(). */
#define BOOST_PREPROCESSOR_MIN(X,Y) BOOST_PP_MIN(X,Y)
#endif

View File

@ -1,24 +1,25 @@
#ifndef BOOST_PREPROCESSOR_REPEAT_HPP
#define BOOST_PREPROCESSOR_REPEAT_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/repeat.hpp">Click here to see the header.</a>
*/
//! Repeats the macro M(I,P) for I = 0 to N-1.
/*!
/** Repeats the macro M(I,P) for I = 0 to N-1.
In other words, expands to the sequence:
<PRE>\verbatim
@ -33,7 +34,7 @@ See BOOST_PP_LIMIT_MAG.
BOOST_PP_REPEAT_3RD() macros. For example,
<PRE>\verbatim
// A generalized macro for generating 2D arrays
* A generalized macro for generating 2D arrays
#define ARRAY_2D(W,H,M,P)\
BOOST_PP_REPEAT_2ND\
( H\
@ -60,7 +61,7 @@ BOOST_PP_REPEAT_3RD() macros. For example,
)\
)
// Here we use the above macro to generate something
* Here we use the above macro to generate something
#define ELEM(X,Y,W,H,E) BOOST_PP_COMMA_IF(BOOST_PP_OR(X,Y)) E##_##X##_##Y
ARRAY_2D(3,4,ELEM,elem)
@ -216,6 +217,6 @@ See BOOST_PP_FOR().
#define BOOST_PP_REPEAT128(M,P) BOOST_PP_REPEAT127(M,P) M(127,P)
#endif
//! Obsolete. Use BOOST_PP_REPEAT().
/** Obsolete. Use BOOST_PP_REPEAT(). */
#define BOOST_PREPROCESSOR_REPEAT(N,M,P) BOOST_PP_REPEAT(N,M,P)
#endif

View File

@ -1,23 +1,24 @@
#ifndef BOOST_PREPROCESSOR_REPEAT_2ND_HPP
#define BOOST_PREPROCESSOR_REPEAT_2ND_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/repeat_2nd.hpp">Click here to see the header.</a>
*/
//! Same as BOOST_PP_REPEAT(), but implemented independently.
/** Same as BOOST_PP_REPEAT(), but implemented independently. */
#define BOOST_PP_REPEAT_2ND(N,M,P) BOOST_PP_REPEAT_2ND_DELAY(N,M,P)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
@ -153,6 +154,6 @@
#define BOOST_PP_REPEAT_2ND128(M,P) BOOST_PP_REPEAT_2ND127(M,P) M(127,P)
#endif
//! Obsolete. Use BOOST_PP_REPEAT_2ND().
/** Obsolete. Use BOOST_PP_REPEAT_2ND(). */
#define BOOST_PREPROCESSOR_REPEAT_2ND(N,M,P) BOOST_PP_REPEAT_2ND(N,M,P)
#endif

View File

@ -1,23 +1,24 @@
#ifndef BOOST_PREPROCESSOR_REPEAT_3RD_HPP
#define BOOST_PREPROCESSOR_REPEAT_3RD_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/repeat_3rd.hpp">Click here to see the header.</a>
*/
//! Same as BOOST_PP_REPEAT(), but implemented independently.
/** Same as BOOST_PP_REPEAT(), but implemented independently. */
#define BOOST_PP_REPEAT_3RD(N,M,P) BOOST_PP_REPEAT_3RD_DELAY(N,M,P)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
@ -153,6 +154,6 @@
#define BOOST_PP_REPEAT_3RD128(M,P) BOOST_PP_REPEAT_3RD127(M,P) M(127,P)
#endif
//! Obsolete. Use BOOST_PP_REPEAT_3RD().
/** Obsolete. Use BOOST_PP_REPEAT_3RD(). */
#define BOOST_PREPROCESSOR_REPEAT_3RD(N,M,P) BOOST_PP_REPEAT_3RD(N,M,P)
#endif

View File

@ -1,24 +1,25 @@
#ifndef BOOST_PREPROCESSOR_STRINGIZE_HPP
#define BOOST_PREPROCESSOR_STRINGIZE_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/stringize.hpp">Click here to see the header.</a>
*/
//! Delays the stringization of X.
/*!
/** Delays the stringization of X.
For example,
<PRE>\verbatim
@ -51,6 +52,6 @@ expand to:
#define BOOST_PP_DO_STRINGIZE(X) #X
#endif
//! Obsolete. Use BOOST_PP_STRINGIZE().
/** Obsolete. Use BOOST_PP_STRINGIZE(). */
#define BOOST_PREPROCESSOR_STRINGIZE(E) BOOST_PP_STRINGIZE(E)
#endif

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_TUPLE_HPP
#define BOOST_PREPROCESSOR_TUPLE_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/tuple.hpp">Click here to see the header.</a>

View File

@ -1,24 +1,25 @@
#ifndef BOOST_PREPROCESSOR_TUPLE_EAT_HPP
#define BOOST_PREPROCESSOR_TUPLE_EAT_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/tuple/eat.hpp">Click here to see the header.</a>
*/
//! Expands to a macro that eats a tuple of the specified length.
/*!
/** Expands to a macro that eats a tuple of the specified length.
BOOST_PP_TUPLE_EAT() is designed to be used with BOOST_PP_IF() like
BOOST_PP_EMPTY().

View File

@ -1,24 +1,25 @@
#ifndef BOOST_PREPROCESSOR_TUPLE_ELEM_HPP
#define BOOST_PREPROCESSOR_TUPLE_ELEM_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/tuple/elem.hpp">Click here to see the header.</a>
*/
//! Expands to the I:th element of an N-tuple.
/*!
/** Expands to the I:th element of an N-tuple.
For example,
<PRE>\verbatim
@ -43,21 +44,23 @@ See BOOST_PP_LIMIT_TUPLE.
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406
// This is a workaround for a CodeWarrior PP bug. Strictly speaking
// this workaround invokes undefined behavior, but it works as desired.
/* This is a workaround for a CodeWarrior PP bug. Strictly speaking
* this workaround invokes undefined behavior, but it works as desired.
*/
# define BOOST_PP_TUPLE_ELEM_DELAY(N,I,T) BOOST_PP_TUPLE##N##_ELEM##I##T
#elif !defined(BOOST_NO_COMPILER_CONFIG) && defined(_MSC_VER)
# include <boost/preprocessor/expand.hpp>
// This is a workaround for a MSVC++ PP bug. It should not be necessary
// to use BOOST_PP_EXPAND(). Works on standard conforming compilers, too.
/* This is a workaround for a MSVC++ PP bug. It should not be necessary
* to use BOOST_PP_EXPAND(). Works on standard conforming compilers, too.
*/
# define BOOST_PP_TUPLE_ELEM_DELAY(N,I,T) BOOST_PP_EXPAND(BOOST_PP_TUPLE##N##_ELEM##I T)
#else
# define BOOST_PP_TUPLE_ELEM_DELAY(N,I,T) BOOST_PP_TUPLE##N##_ELEM##I T
#endif
// NOTE: TUPLE_ELEM can be implemented in O(N*N) space and O(N) time instead
// of O(N*N*N) space and O(1) time. The current trade-off seems better.
/* NOTE: TUPLE_ELEM can be implemented in O(N*N) space and O(N) time instead
* of O(N*N*N) space and O(1) time. The current trade-off seems better.
*/
#define BOOST_PP_TUPLE1_ELEM0(A) A
#define BOOST_PP_TUPLE2_ELEM0(A,B) A
@ -211,6 +214,6 @@ See BOOST_PP_LIMIT_TUPLE.
#define BOOST_PP_TUPLE16_ELEM15(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P) P
#endif
//! Obsolete. Use BOOST_PP_TUPLE_ELEM().
/** Obsolete. Use BOOST_PP_TUPLE_ELEM(). */
#define BOOST_PREPROCESSOR_TUPLE_ELEM(N,I,T) BOOST_PP_TUPLE_ELEM(N,I,T)
#endif

View File

@ -1,26 +1,27 @@
#ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP
#define BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/tuple/to_list.hpp">Click here to see the header.</a>
*/
#include <boost/preprocessor/list/adt.hpp>
//! Converts a tuple to a list.
/*!
/** Converts a tuple to a list.
See BOOST_PP_LIST_CONS() for an example.
See BOOST_PP_LIMIT_TUPLE.

View File

@ -1,18 +1,19 @@
#ifndef BOOST_PREPROCESSOR_WHILE_HPP
#define BOOST_PREPROCESSOR_WHILE_HPP
// Copyright (C) 2001
// Housemarque Oy
// http://www.housemarque.com
//
// Permission to copy, use, modify, sell and distribute this software is
// granted provided this copyright notice appears in all copies. This
// software is provided "as is" without express or implied warranty, and
// with no claim as to its suitability for any purpose.
/* Copyright (C) 2001
* Housemarque Oy
* http://www.housemarque.com
*
* Permission to copy, use, modify, sell and distribute this software is
* granted provided this copyright notice appears in all copies. This
* software is provided "as is" without express or implied warranty, and
* with no claim as to its suitability for any purpose.
*
* See http://www.boost.org for most recent version.
*/
// See http://www.boost.org for most recent version.
/*! \file
/** \file
<a href="../../../../boost/preprocessor/while.hpp">Click here to see the header.</a>
*/
@ -20,8 +21,8 @@
#include <boost/preprocessor/if.hpp>
#include <boost/preprocessor/tuple/eat.hpp>
//! Iterates F(D,X) while C(D,X) is true.
/*!
/** Iterates F(D,X) while C(D,X) is true.
<H3>Legend</H3>
<B>X</B> is the current state of iteration. The state is usually a tuple.