[Boost-bugs] [Boost C++ Libraries] #12887: I had a problem with boost.log when set the filter with & operator

Subject: [Boost-bugs] [Boost C++ Libraries] #12887: I had a problem with boost.log when set the filter with & operator
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-03-08 03:27:29


#12887: I had a problem with boost.log when set the filter with & operator
-------------------------+------------------------------
 Reporter: 136002018@… | Type: Bugs
   Status: new | Milestone: To Be Determined
Component: None | Version: Boost 1.62.0
 Severity: Problem | Keywords:
-------------------------+------------------------------
 First I defined keyword:

 BOOST_LOG_ATTRIBUTE_KEYWORD(attr_appenders, "Appenders", uint64)

 Then I set the filter like this:
    void _onSetFilter(SinkTypePtr sink) const {
         uint64 mask = 0x01ul << _id;
         sink->set_filter(attr_appenders & mask);
     }

 and the error info:
 /usr/local/include/boost/log/sinks/basic_sink_frontend.hpp:90:18:
 required from ‘void
 boost::log::v2_mt_posix::sinks::basic_sink_frontend::set_filter(const
 FunT&) [with FunT =
 boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::bitwise_and,
 boost::proto::argsns_::list2<boost::log::v2_mt_posix::expressions::attribute_actor<long
 unsigned int, boost::log::v2_mt_posix::fallback_to_none,
 tag::attr_appenders, boost::phoenix::actor>,
 boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,
 boost::proto::argsns_::term<long unsigned int>, 0l> > >, 2l> >]’
 /home/yuwenyong/ClionProjects/tinycore/src/tinycore/logging/appender.h:111:47:
 required from here
 /usr/local/include/boost/proto/transform/default.hpp:150:9: error:no match
 for ‘operator&’ (operand types are
 â€˜boost::log::v2_mt_posix::value_ref<long unsigned int,
 tag::attr_appenders>’ and ‘const long unsigned int’)
          BOOST_PROTO_BINARY_DEFAULT_EVAL(&, bitwise_and, make, make)

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/12887>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-03-08 03:31:45 UTC