mirror of
https://github.com/boostorg/preprocessor.git
synced 2025-07-16 14:02:17 +02:00
Working on docs
[SVN r12619]
This commit is contained in:
@ -15,9 +15,12 @@
|
|||||||
|
|
||||||
/** <P>This header defines the fundamental list operations.</P>
|
/** <P>This header defines the fundamental list operations.</P>
|
||||||
|
|
||||||
<P>NOTE: The internal representation of lists is hidden. Although there
|
<H3>Note</H3>
|
||||||
aren't compelling reasons to change the representation, you should avoid
|
<UL>
|
||||||
|
<LI>The internal representation of lists is hidden. Although there aren't
|
||||||
|
compelling reasons to change the representation, you should avoid
|
||||||
writing code that depends on the internal representation details.</P>
|
writing code that depends on the internal representation details.</P>
|
||||||
|
</UL>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <boost/preprocessor/tuple/elem.hpp>
|
#include <boost/preprocessor/tuple/elem.hpp>
|
||||||
@ -47,35 +50,17 @@ BOOST_PP_LIST_CONS(). For example,</P>
|
|||||||
*/
|
*/
|
||||||
#define BOOST_PP_LIST_CONS(H,T) (H,T,1)
|
#define BOOST_PP_LIST_CONS(H,T) (H,T,1)
|
||||||
|
|
||||||
/** <P>List nil constructor.</P>
|
/** <P>List nil constructor.</P> */
|
||||||
|
|
||||||
<H3>See</H3>
|
|
||||||
<UL>
|
|
||||||
<LI>BOOST_PP_LIST_CONS()
|
|
||||||
</UL>
|
|
||||||
*/
|
|
||||||
#define BOOST_PP_LIST_NIL (_,_,0)
|
#define BOOST_PP_LIST_NIL (_,_,0)
|
||||||
|
|
||||||
/** <P>Expands to 1 if the list is not nil and 0 otherwise.</P>
|
/** <P>Expands to 1 if the list is not nil and 0 otherwise.</P> */
|
||||||
|
|
||||||
<H3>See</H3>
|
|
||||||
<UL>
|
|
||||||
<LI>BOOST_PP_LIST_IS_NIL()
|
|
||||||
</UL>
|
|
||||||
*/
|
|
||||||
#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406
|
#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406
|
||||||
# define BOOST_PP_LIST_IS_CONS(L) BOOST_PP_TUPLE_ELEM(3,2,L)
|
# define BOOST_PP_LIST_IS_CONS(L) BOOST_PP_TUPLE_ELEM(3,2,L)
|
||||||
#else
|
#else
|
||||||
# define BOOST_PP_LIST_IS_CONS(L) BOOST_PP_TUPLE3_ELEM2 L
|
# define BOOST_PP_LIST_IS_CONS(L) BOOST_PP_TUPLE3_ELEM2 L
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** <P>Expands to 1 if the list is nil and 0 otherwise.</P>
|
/** <P>Expands to 1 if the list is nil and 0 otherwise.</P> */
|
||||||
|
|
||||||
<H3>See</H3>
|
|
||||||
<UL>
|
|
||||||
<LI>BOOST_PP_LIST_IS_CONS()
|
|
||||||
</UL>
|
|
||||||
*/
|
|
||||||
#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406
|
#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406
|
||||||
# define BOOST_PP_LIST_IS_NIL(L) BOOST_PP_NOT(BOOST_PP_TUPLE_ELEM(3,2,L))
|
# define BOOST_PP_LIST_IS_NIL(L) BOOST_PP_NOT(BOOST_PP_TUPLE_ELEM(3,2,L))
|
||||||
#else
|
#else
|
||||||
@ -91,11 +76,6 @@ BOOST_PP_LIST_CONS(). For example,</P>
|
|||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<P>expands to 1.</P>
|
<P>expands to 1.</P>
|
||||||
|
|
||||||
<H3>See</H3>
|
|
||||||
<UL>
|
|
||||||
<LI>BOOST_PP_LIST_REST()
|
|
||||||
</UL>
|
|
||||||
*/
|
*/
|
||||||
#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406
|
#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406
|
||||||
# define BOOST_PP_LIST_FIRST(L) BOOST_PP_TUPLE_ELEM(3,0,L)
|
# define BOOST_PP_LIST_FIRST(L) BOOST_PP_TUPLE_ELEM(3,0,L)
|
||||||
@ -112,11 +92,6 @@ BOOST_PP_LIST_CONS(). For example,</P>
|
|||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<P>expands to a list containing 2, 3, 4 and 5.</P>
|
<P>expands to a list containing 2, 3, 4 and 5.</P>
|
||||||
|
|
||||||
<H3>See</H3>
|
|
||||||
<UL>
|
|
||||||
<LI>BOOST_PP_LIST_FIRST()
|
|
||||||
</UL>
|
|
||||||
*/
|
*/
|
||||||
#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406
|
#if !defined(BOOST_NO_COMPILER_CONFIG) && defined(__MWERKS__) && __MWERKS__ <= 0x2406
|
||||||
# define BOOST_PP_LIST_REST(L) BOOST_PP_TUPLE_ELEM(3,1,L)
|
# define BOOST_PP_LIST_REST(L) BOOST_PP_TUPLE_ELEM(3,1,L)
|
||||||
|
@ -34,8 +34,11 @@
|
|||||||
)
|
)
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
<P>Note that folding, or accumulation, is a very general pattern of computation.
|
<H3>Note</H3>
|
||||||
Most list operations can be implemented in terms of folding.</P>
|
<UL>
|
||||||
|
<LI>Folding, or accumulation, is a very general pattern of computation.
|
||||||
|
Most list operations can be implemented in terms of folding.
|
||||||
|
</UL>
|
||||||
|
|
||||||
<H3>See</H3>
|
<H3>See</H3>
|
||||||
<UL>
|
<UL>
|
||||||
|
@ -22,9 +22,11 @@
|
|||||||
|
|
||||||
<P>This macro is useful for generating code to avoid combinatorial explosion.</P>
|
<P>This macro is useful for generating code to avoid combinatorial explosion.</P>
|
||||||
|
|
||||||
|
<H3>Legend</H3>
|
||||||
<UL>
|
<UL>
|
||||||
<LI><B>LL</B> is a list of lists.
|
<LI><B>LL</B> is a list of lists.
|
||||||
<LI><B>X</B> is an element of the cartesian product of the lists LL.
|
<LI><B>X</B> is a list of the elements of an element of the cartesian product of
|
||||||
|
the lists LL.
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<H3>Example</H3>
|
<H3>Example</H3>
|
||||||
|
@ -26,8 +26,11 @@
|
|||||||
|
|
||||||
<P>expands to (A,B,C).</P>
|
<P>expands to (A,B,C).</P>
|
||||||
|
|
||||||
<P>NOTE: The supported size of the list being converted to a tuple is limited by
|
<H3>Note</H3>
|
||||||
|
<UL>
|
||||||
|
<LI>The supported size of the list being converted to a tuple is limited by
|
||||||
BOOST_PP_LIMIT_MAG rather than BOOST_PP_LIMIT_TUPLE.</P>
|
BOOST_PP_LIMIT_MAG rather than BOOST_PP_LIMIT_TUPLE.</P>
|
||||||
|
</UL>
|
||||||
|
|
||||||
<H3>Uses</H3>
|
<H3>Uses</H3>
|
||||||
<UL>
|
<UL>
|
||||||
|
Reference in New Issue
Block a user