Boost logo

Boost :

From: Calum Grant (calum_at_[hidden])
Date: 2005-07-15 14:37:56


I've been following this dual_state vs optional discussion for a while.
It seems to me that one should really have a policy class that defines
the default behaviour when the value is unassigned. This policy should
define whether to

  - throw an exception
  - construct an object on the fly
  - return a default
  - return a null pointer
  - whether to return by value or by reference

A second point, can't all this be achieved by adding policies to smart
pointers?

Also, I can't quite see the benefit of having a dual-state that returns
a default value. I mean, why use

        boost::dual_state<std::string> data;

when you can simply use

        std::string data;

?

Calum


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk