$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Yossi.Itzkovich_at_[hidden]
Date: 2004-07-14 23:24:29
Thanks all for your fast (and good) answers.
Yossi
                                                                                                                                     
                      "Paul Mensonides"                                                                                              
                      <pmenso57_at_comcast.         To:      <boost_at_[hidden]>                                                    
                      net>                       cc:                                                                                 
                      Sent by:                   Subject: RE: [boost] BOOST_PP_REPEAT with internal macro problem                    
                      boost-bounces_at_list                                                                                             
                      s.boost.org                                                                                                    
                                                                                                                                     
                                                                                                                                     
                      07/15/2004 07:00                                                                                               
                      Please respond to                                                                                              
                      boost                                                                                                          
                                                                                                                                     
                                                                                                                                     
> -----Original Message-----
> [mailto:boost-bounces_at_[hidden]] On Behalf Of
> BOOST_PP_REPEAT works great for me when used like:
>
> #define MAX  5
> #define  CODE    my_code_goes_here
> BOOST_PP_REPEAT(MAX, CODE,  )
                            ^^
Passing nothing as a macro argument is undefined in C++.  You should use a
dummie argument instead--preferably not an identifier.  I usually use ~ or
?.
>
> But it gets confused when used like:
>
> #define MAX  (4+1)
Arkadiy is correct.  The library cannot understand the expression (4+1).
It can
only understand unadorned integer literals (such as 1, 2, 3, etc.) from 0
to
256.  If you need to do arithmetic, you have to use the arithmetic
primitives of
the library, such as BOOST_PP_ADD or, in this case, BOOST_PP_INC (which is
more
efficient).
Thus, if you want to do a repetition of MAX + 1, you need to say:
BOOST_PP_REPEAT(BOOST_PP_INC(MAX), CODE, ~)
Regards,
Paul Mensonides
_______________________________________________
Unsubscribe & other changes:
http://listarchives.boost.org/mailman/listinfo.cgi/boost