$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Roman Perepelitsa (roman.perepelitsa_at_[hidden])
Date: 2007-06-18 02:55:50
Tobias Schwinger <tschwinger <at> isonews2.com> writes:
> Yep, here's another dirty trick :
>
> #include <boost/preprocessor/detail/is_unary.hpp>
>
> #define SPECIAL (whatever)
> #define IS_SPECIAL BOOST_PP_IS_UNARY
>
> IS_SPECIAL(a) // 0
> IS_SPECIAL(b) // 0
> IS_SPECIAL(SPECIAL) // 1
>
> It isn't entirely portable to older preprocessors (that's why this code
> lives in preprocessor/detail) but should work with latest versions of
> the widely-used compilers.
This also works:
#include <boost/preprocessor/facilities/is_empty.hpp>
#include <boost/preprocessor/empty.hpp>
#define SPECIAL
#define IS_SPECIAL(x) BOOST_PP_IS_EMPTY(BOOST_PP_EMPTY() x)
Roman Perepelitsa