|
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