Boost logo

Boost :

From: Dietmar Kuehl (dietmar.kuehl_at_[hidden])
Date: 1999-07-26 13:42:01


Hi,
At 11:50 26.07.99 -0400, Beman Dawes wrote:
>If anyone has requests to help seed the list, please post them to the
>mailing list, or email them directly to me.

Here are some of things I would be interested in but for which I'm not
interested
in programming them (I could probably do those but I'm more interested in
creating
other stuff):

- A generic pattern matching library. That is, the alphabet on which the
  patterns are to be matched should not be restricted to be a set of
  characters. If possible, the interface should fit to typical STL interfaces.

- A networking library built upon sockets. I can provide help if there is a
  stream buffer to be created for this.

- A library for easy to use higher dimensional arrays (maybe with some fixed
  dimensions or with arbitrary dimensions only limited by the number of nested
  template levels), potentially built on top of valarray. However, I'm
speaking
  of general purpose arrays, not of matrices: For numerics, I think Blitz++
  is the way to go...

I'm interested in seeing a tree library in the Boost library which consists
probably of three parts:
- An abstraction to deal with trees.
- Tree algorithms which range from basic stuff like rotations to traversals
  (... and maybe beyond but I have no idea what algorithms are applied to
trees).
- A sample collection of tree data structures.
I have started to write something down which is intended as something like a
starting point and I'm willing to implement things for this. However, I
definitely
need some input on algorithms to be used on trees to come up with ideas for
the abstraction. Of course, ideas for the abstraction and a discussion of
all those
ideas is welcome!

Finally, some libraries I'm planning to create (sooner or later)

- A library for stream buffers like eg. stdiobuf (I/O using FILE* but C++
streams),
  teebuf (simultaneous writes to multiple destinations), nullbuf (don't do
anything
  but also don't create errors), etc. I have a list of maybe 10 stream buffers
  I want to implement, some of which are already implemented but using the
  prestandard streams interface (ie. they are not templatized). If there is
  urgent need for specific stream buffers, I'm probably able to supply an
  implementation within a reasonable time frame for this.

- A graphs library. This is, of course, a huge thing, consisting of the
following:
  - An abstraction for general graphs, building on the result of my Diploma
but
    probably using not the exact approach taken there.
  - A bunch of graph algorithms like eg. searches, flow algorithms, etc.
  - A generic GUI for easy visualization and manipulation of graphs (eg.
absolutely
    necessary for debugging algorithms). Of course, the GUI will be limited
to a
    few platforms (eg. X11 and MFC; I have a basis for X11 and I'm pretty
sure I
    can do it for MFC, too) unless Boost provides a GUI library (or should
we use
    something like QT?).
  - A collection of graph data structures containing probably both general
ones
    as well as special ones for like planar graphs ("quad edge"), DAG,
grids, etc.

- A "data accessor" library. What the hell is this? Well, data accessors
are used
  by the graph abstraction I'm using and might be useful for other things,
too.
  For example, I heard that someone uses them in image processing and the tree
  abstraction I'm envisioning also uses them. There was an article about "Data
  Access Templates" in the July 1997 issue (I think) of the C++ Report.

Of course, this is all centered around my needs and ideas :-)

Dietmar


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