
troy d. straszheim wrote:
appears in *two* different places: one in construct.hpp (where I see a sensible-looking wall of overloads for primitive type, some of which call parse(), as you say), and also at the top of assign_to.hpp, which looks to my untrained eye like it might be a placeholder.
Or not. Naturally a light bulb went on at the moment I hit 'send': Hartmut wrote:
- The assign_to() functions use construct overloads to do the conversion from an iterator range to the requested type (if appropriate). This distinction has been made decouple Spirit specifics from the conversion itself and to allow the user to provide his/her own construct() overloads for custom parsers (to be found via ADL).
I can get things working by pulling the construct.hpp overloads into namespace std: namespace std { using boost::spirit::qi::detail::construct_::construct; } at the top of example4.cpp. Not especially pretty. Guessing there are some ADL tricks here that I don't know about. Continuing to poke at it. Best, -t