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 acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk