|
Boost Users : |
From: Geoff Worboys (geoff_at_[hidden])
Date: 2006-09-17 19:00:11
Yuval Ronen wrote:
> As I explained in another post in this thread, I think
> boost::optional is the ultimate solution to the active/inactive
> state problem, so the class itself can still have single phase
> construction.
There is a lot about boost::optional that I am not entirely
happy about, but we dont really want to get into that on this
thread, however the general idea of using optional or a similar
facility is still very interesting.
I imagine that the idea would be to refactor the current class
with active/inactive state into two separate classes. The long
lived object (needed for complex structural reasons) that would
operate as normal, but all the active-dependent interface would
be moved to the new/separate class and accessed through a
member function returning an optional<T> (or similar).
I can see where this would make excellent sense in several of
my applications. To optimise access inside tight loops you
could assign the optional<T> to a T& - and so only be checking
existence at the start... as opposed to my present problem of
having to choose between assertion or exception checking at the
top of each top-level class function.
Yes, I like the thought very much. Thank you.
-- Geoff Worboys Telesis Computing
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net