$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: John Torjo (john.groups_at_[hidden])
Date: 2008-02-12 12:37:26
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
Wow, that's brilliant!
Thanks!
Best,
John
-- http://John.Torjo.com -- C++ expert http://blog.torjo.com ... call me only if you want things done right