Boost logo

Boost :

Subject: Re: [boost] Interest in breakable labeled scope emulation?
From: Klaim - Joël Lamotte (mjklaim_at_[hidden])
Date: 2013-01-13 18:51:41


On Sun, Jan 13, 2013 at 8:30 PM, Vicente J. Botet Escriba <
vicente.botet_at_[hidden]> wrote:
>
> Exiting from nested loops is something that could be quite complex using
> structured programming.
>
> Named blocks try to make more structured a goto based solution, by
> allowing only to restart/leave a block from inside it.
>
> BOOST_NAMED_BLOCK(L)
> for(;;)
> {
> while (cnd)
> {
>
> if (cnd2) BOOST_BREAK(L); // go to [1]
> }
> }
> // [1]
>
> Of course in order to be really structired the jumping to the underlying
> label should be forbiden (by the compiler), but I don't think that a
> preprocessor solution could take care of this. So the following not desired
> and not structured code could compile even if we would like an compile
> error.
>
>
Ok but then what's the difference with goto and a label? Doesn't it
already work like that in C++?
Sorry if it should be obvious...

Joel Lamotte


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