Boost logo

Boost :

From: Vesa Karvonen (vesa.karvonen_at_[hidden])
Date: 2001-06-15 08:32:04

From: <svanechel_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Monday, June 11, 2001 21:34
Subject: [boost] Resource managment

> Hi,
> Recently I grew tired always having to write the same boiler plate
> code when I wanted to manage a resource using the "resource
> acquisition is initialization" technique.

Yes. I've also got tired to the same process. The smart pointer concept
simply isn't generic enough for all situations.

I'm currently working on a generative programming implementation of a
resource concept that I've been developing for some time now (a few
months). I'm hoping to offer the resource library to Boost in the near
future. Unfortunately I've been sick lately (really bad flu - and it isn't
over yet), so I've not been able to work on the library as much as I had
hoped. (We also have multiple project deadlines, so my time is obviously
limited for the next two or so weeks.)

Anyway, the feature model of the resource library I'm working on,
literally has millions of configurations (although many combinations are
obviously useless). The following is an incomplete overview of the kind of
aspects that are configurable in the model:
- plain resource:
  - type of "plain resource"
  - adt (i.e. which adt (nullable, pointer, array, udt) should be
  - ownership releaser, copier, acquirer
  - instance cloner
  - ordering predicate [optional]
  - allowing implicit type conversion between plain resources
- ownership model of the resulting handle
  - parameter
  - scoped
  - single (like auto_ptr)
  - cloned
  - multi (linked, counted, mapped, direct, indirect, threading)
  - cyclic
- checking
  - null checking
  - morphology checking
  - failure response
- convenience
  - address of operator (and semantics)
  - implicit conversion to plain resource
  - implicit null test

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