Boost logo

Boost :

From: scleary_at_[hidden]
Date: 2000-06-23 12:00:22


Pool is back!

In the files section, under pool/pool.zip

New issues resolved:
  . Thread-safe singleton management, with the precondition that only one
thread is running before main() starts and after main() ends.
  . Thread-safe allocator. The instance-based allocator was removed, since
it really can't be used with pool<>s.
  . Also fixed test progam -- thanks for pointing that out, Dave!

TODO:
  . Clean up the #ifndef DEBUG's
  . Remove or standardize the tracing statements
  . Clean up docs and put in separate files
  . Provide examples of class new/delete and global new/delete
  . Provide freeing of memory (i.e., set_new_handler support)
  . Change the size of the allocated blocks to a run-time value
  . Allow contiguous allocation of multiple chunks (i.e., fully support
allocator abstraction)
  . Translate m4 generation script to Python

Note that pool<> is now dependant on 5 other headers that I think should be
(parts of) other libraries:
  . trace.h provides simple tracing facilities. Anyone know of a better way
to do this???
  . postulate.h provides compile-time assertions.
  . singleton.h provides very simple and limited singleton support.
  . mutex.h provides a simple mutex class, either CRITICAL_SECTIONs,
pthread_mutex_t's (untested), or no-ops.
  . guard.h provides a simple mutex guard class.

Advice on what to do with these headers would be appreciated.

        -Steve

P.S. Dave or Beman - go ahead and delete the "pool_allocator" folder. The
newest version of pool<> is under the "pool" folder instead.


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