Boost logo

Boost :

From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2008-02-12 11:46:15


AMDG

John Torjo wrote:
> Steven Watanabe wrote:
>
>> Gather: What exactly are the requirements? The docs say "a function
>> that will
>> gather the data - called .out()" What are the requirements on the
>> return type? Further in scenarios_code.html#scenarios_code_mon
>> there
>> is the definition void *out(const char* msg) { m_msg = msg;
>> return this; }
>> Is out() called implicitly or not? Why is "this" returned as a
>> void*?
>> Confused...
>>
>>
> The requirements are to return a void* pointer.
> This is needed when http://torjo.com/log2/doc/html/caching.html and you
> want to cache the filter as well.
>
> If I remove the usage of
> http://torjo.com/log2/doc/html/caching.html#caching_BOOST_LOG_BEFORE_INIT_CACHE_FILTER
> then you can return anything you like.
> For more details, please take a look at cache_before_init_macros.hpp,
> line 50
>

I just thought of a way to avoid this requirement.

if(!is_enabled); else
for(int i = 0; i == 0;)
    for(bool (*f)(); i < 3; ++i)
        if(i == 0) {
            struct local {
                bool do_filter() { return(/is_enabled/); }
            };
            f = &local::is_enabled;
        } else if(i == 2) {
            // cache filter.
        } else //do logging

In Christ,
Steven Watanabe


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk