Re: Ambiguous call to overloaded function

Larry Evans <[email protected]>
Newsgroups gmane.comp.parsers.spirit.general
Message-ID <[email protected]>
On 11/24/2017 01:01 PM, Michael Powell wrote:
> On Fri, Nov 24, 2017 at 1:03 PM, Michael Powell <[email protected]> wrote:
>> I'm not positive, this may be a similar situation as with:
>>
>> http://boost.2283326.n4.nabble.com/Spirit-X3-employee-cpp-compile-error-td4687704.html
>>
>> Related to VS2015 Update 3 support.
>>
>> With solutions that seem to revolve around necessity of BOOST_SPIRIT_DEFINE (?).
> 
> And if I just take the error on its face, just what is the difference
> between Attribute& and ActualAttribute&, other than in name only?
> 
>> Can someone clarify?
>>
>> Thank you.
>>
>> Cheers,
>>
>> Michael Powell
>>
Hi Michael,

I think ( I'm not real sure) that  Attribute is the Attribute as
declared in the rule, but the ActualAttribute is the actual type
of the attribute passed to the parse function. AFAICT, the
attribute transform done in the call_rule_definition here:

https://github.com/boostorg/spirit/blob/develop/include/boost/spirit/home/x3/nonterminal/detail/rule.hpp#L297

converts the ActualAttribute to the Attribute required by the rule.

HOWEVER, that conclusion is just based on my many hours examining the
code and running the code in the get_rhs branch here:

https://github.com/cppljevans/spirit-experiments/blob/get_rhs/include/boost/spirit/home/x3/nonterminal/detail/rule.hpp

I'm still trying to understand the attribute code and still trying
to document the rationale for the get_rhs changes.

HTH.

-regards,
Larry



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.