Boost logo

Boost :

Subject: Re: [boost] [spirit] Support for one-pass iterators?
From: Christian Schladetsch (christian.schladetsch_at_[hidden])
Date: 2009-10-19 11:16:21


   grammar(
       start_type const& start
     , std::string const& name_ = "unnamed-grammar")
=> : proto::extends<terminal, base_type>(terminal::make(

start.alias()))
   , name_(name_)
   {}

Here "start" is a reference to a not yet constructed object.

No, it's not. "start" is a reference to a well-formed object - or at least
to an object that is defined in user-space as well formed.

My argument is based on this premise, and this alone: 'start' is fully
created before it it used by the grammar.

If this is not true, please speak to Stroustrup. If it is true, then I am
right and I take no pleasure from it. I don't think you're unable to grasp
what I am saying, and I am sure you think there is a problem. But I just
don't see it. I don't care about the details: the fact is that if you are
taking a reference then that object has been well formed or you are doing
something silly.

Regards,
Christian


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk