$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Paul Mensonides (pmenso57_at_[hidden])
Date: 2004-12-01 19:00:07
> -----Original Message-----
> From: boost-bounces_at_[hidden]
> [mailto:boost-bounces_at_[hidden]] On Behalf Of Ryan Saunders
Hi Ryan.
> typedef typename meta_func< typename T0::inner_type,
> typename T1::inner_type, typename T2::inner_type>::type;
>
> I don't see a way to do this with any of the ENUM_XXX macros.
> Maybe something like ENUM_SPLIT_PARAMS(COUNT, PREF, SUFF)
> that would generate PREF ## n ## SUFF?
The ENUM_BINARY_PARAMS is the general form for this kind of stuff. You
typically use it with INTERCEPT, such as:
#include <boost/preprocessor/facilities/intercept.hpp>
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
BOOST_PP_ENUM_BINARY_PARAMS(
3, typename T, ::inner_type BOOST_PP_INTERCEPT
)
INTERCEPT (unsurpisingly) intercepts the numeric concatenation and expands to
nothing.
Normally the library avoids macros that have very specific uses. In fact,
ENUM_PARAMS and ENUM_BINARY_PARAMS are probably the two most domain-specific
macros in the library. If the usage scenario is too complex for ENUM_PARAMS or
ENUM_BINARY_PARAMS (possibly with INTERCEPT), then you need to use the much more
general form, ENUM.
Regards,
Paul Mensonides