Re: [Boost-bugs] [Boost C++ Libraries] #7996: phoenix::bind does not protoify the bound arguments

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7996: phoenix::bind does not protoify the bound arguments
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-02-08 22:04:15


#7996: phoenix::bind does not protoify the bound arguments
-----------------------------------+----------------------------------------
  Reporter: andysem | Owner: theller
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: phoenix
   Version: Boost Release Branch | Severity: Problem
Resolution: | Keywords: phoenix bind proto log
-----------------------------------+----------------------------------------

Comment (by andysem):

 Replying to [comment:1 theller]:

 I'm by far not an expert in Boost.Proto but as far as I understand
 protoify is used internally by Boost.Proto to envelop objects
 participating in template expressions into Boost.Proto expression tree
 structures. In particular this is done to all terminals, and this behavior
 is used by Boost.Log to transparently convert all attribute_keywords to
 attribute_actors.

 Boost.Phoenix doesn't use protoify directly, but it does so through some
 public interface of Boost.Proto (which is probably make_expr, I don't know
 for sure). My guess is that phoenix::bind doesn't treat the bound
 arguments the same way Boost.Phoenix treats other terminals in template
 expressions. This results in bound arguments not being enveloped into
 Boost.Proto terminal structures and consequently it doesn't invoke
 protoify and breaks Boost.Log.

 I will be happy to use a public interface of Boost.Proto or Boost.Phoenix
 to achieve what I need. I just didn't find such an interface. Please, tell
 me if there is one.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7996#comment:2>
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-02-16 18:50:11 UTC