Boost logo

Boost :

From: Andrew J Bromage (ajb_at_[hidden])
Date: 2002-08-06 19:50:01

G'day all.

In retrospect I shouldn't have brought up a "more powerful"
call_once function, because that's not what I want at all. What
I "really" want is this:

        class once

On Tue, Aug 06, 2002 at 09:13:26AM -0400, Pete Becker wrote:

> The one place where they seem useful is in lazy initialization. But rather
> than thinking in C terms and prolonging the life of the inside-out
> interface to once functions, think C++ and design a more suitable solution:
> class lazy_initializer
> {
> public:
> lazy_initializer();
> ~lazy_initializer();
> void init_once();
> private:
> virtual void do_init() = 0;
> };

This is in fact exactly what I wanted to use the once operation for,
except that my class needs more than one piece of data which is lazily
evaluated. Admittedly composing with more than one lazy_initializer
class would work, but it seems less clean than just dropping a few once
objects into the class.

Andrew Bromage

Boost list run by bdawes at, gregod at, cpdaniel at, john at