$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] Interest in breakable labeled scope emulation?
From: TONGARI (tongari95_at_[hidden])
Date: 2013-01-13 07:30:52
Hi all,
One of the few things I appreciate in Java is the labeled-break feature.
I think C++ would provide it as well in future standard but it seems that
there's no even such a proposal.
In lack of the language feature, a simple emulation can be used:
---------------------------------------------------
#define BOOST_SCOPE(name) \
if (const bool LABELED_SCOPE_##name = false){break(name); name:;} else
#define break(name) \
(void)LABELED_SCOPE_##name; goto name;
---------------------------------------------------
Now we can write:
BOOST_SCOPE(a)
{
break(a);
cout << "123\n";
}
The real world usage would reside in nested loop&switch where labeled-break
really shines.
Thoughts? Sorry if this idea is too simple and somewhat rejected before...