#include <iostream.h>
#include <stl.h>

class X
{
  public:
    X (int i_ = 0) : i (i_) {}
    operator int () const { return i; }
 
  private:
    int i;
};

int main ()
{
  os_heap_allocator<X> a;
  // Allocate (but do not construct) storage for 5 elements.
  os_heap_allocator<X>::pointer p = a.allocate (5); 
  raw_storage_iterator<X*, X> r (p);
  for (int i = 0; i < 5; i++)
    *r++ = X (i);
  for (i = 0; i < 5; i++)
    cout << *p++ << endl;
  return 0;
}
ÿ