$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: shunsuke (pstade.mb_at_[hidden])
Date: 2008-04-02 17:59:48
Giovanni Piero Deretta wrote:
> Hum, if you want to have guaranteed static initialization, you need to
> statically know the function pointer value:
>
> template<typename Sig, Sig * p>
> static_function_ptr {
> typedef typename result_of_sig<Sig>::type result_type;
>
> template<typename Args...>
> result_type operator()(Args.... args) {
> return p(args);
> }
> };
>
> Substitute the pseudo-variadic syntax with proper preprocessor magic :).
Egg secretly has the feature.
See "egg/inlined.hpp".
>> I'm really afraid that those macros may keep users away from the library.
>>
>
> Hey, maybe it is just me, maybe others won't have any problems with
> them. I just find the macro based initialization ugly and unnecessary
> complex.
You expect something like this?:
static_result_of<T_curry2(F)>::type c = BOOST_EGG_CURRY2({}); // static
boost::result_of<T_curry2(F const &)>::type c = curry2(f); // dynamic
stateless_result_of<T_curry2(F)>::type c = BOOST_EGG_STATELESS(); // for stateless one.
Regards,
-- Shunsuke Sogame