Boost logo

Boost :

From: Joe Gottman (jgottman_at_[hidden])
Date: 2007-05-22 20:21:49

Jeffrey Faust wrote:
> My only complaint about boost::optional is that it is very difficult to
> see values in the debugger. I brought this up in a discussion at
> BoostCon, and Jeff Garland suggested I submit a patch.
> Well, I have a patch. The change introduces a new private T* m_value
> and protected method update_debug() which sets this variable. The
> variable is only visible when building debug, and the method is empty in
> non-debug. From there, I simply call update_debug() in each public
> method that changes the storage.
> The final result is that debuggers can see the variable data by looking
> at opt.m_value. When not set, the value is null.
> Any thoughts?

If I want to see the result of an optional, I often write code that
looks like the following:

optional<int> opt;
/// Time passes...
if (opt) {
    const int &i = *opt;

Then I can just watch i. I do the same thing with iterators, especially
into sets and maps.

Joe Gottman

Boost list run by bdawes at, gregod at, cpdaniel at, john at