Boost logo

Boost Users :

Subject: Re: [Boost-users] [Optional] Lazy initialized optional
From: Martijn Otto (boost_at_[hidden])
Date: 2018-11-14 10:03:43


I think using an optional for this is not the right way. Optional has a
storage overhead, because it needs to store whether or not the optional
has a value.

If you derive this class you are going to have this overhead, plus of
course the storage for your callback.

If you do it in a separate class instead, you can clear the callback
after invoking it. Then checking whether a callback exists will tell
you whether the object was initialized.

On Tue, 2018-11-13 at 12:14 -0500, Michael Powell via Boost-users
wrote:
> Hello,
>
> I am looking into deriving from boost::optional and adding lazy
> initialization capability.
>
> I can arrange a constructor, or whatever, to inject an appropriate
> factory method, functional callback, etc, that's no problem.
>
> From the boost::optional perspective, I'd like to override a key
> method (or methods, hopefully not too many) in order to inject that
> factory provided value. I'm thinking optional::get?
>
> Unless there's a better override for that?
>
> Cheers,
>
> Michael Powell
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> https://lists.boost.org/mailman/listinfo.cgi/boost-users



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