Boost logo

Boost :

From: Aaron W. LaFramboise (aaronrabiddog51_at_[hidden])
Date: 2007-06-03 11:11:33


Does Boost have some sort of uninitialized storage container?
Presently, I use this pattern if I want to delay construction of a
sub-object.

class my_class {
   public:
     my_class() {
       // ...
       subobject = auto_ptr<type>(new type(params));
     }
   private:
     auto_ptr<type> subobject;
};

But I'd like something similar that didn't use the heap, but instead
allocated the storage for the sub-object within the class object itself.
  Perhaps it would look like this.

class my_class2 {
   public:
     my_class2() {
       // ...
       subobject.construct(params);
     }
   private:
     uninitialized_container<type> subobject;
};

A TR1 array<T, sizeof(T)> almost works, except for these points:
   (1) It doesn't provide proper alignment guarantees.
   (2) It doesn't call the destructor when it is destroyed.

So, does Boost have any such thing?


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