From: Moore, Paul (Paul.Moore_at_[hidden])
Date: 1999-12-13 10:12:28
From: James Grandy [mailto:jgrandy_at_[hidden]]
> - a message-passing facility that can tunnel OS-specific events. The
> design pattern I use is the one in the Be OS Application Framework,
> with the following general class structure:
Yes, that's the bit I think is critical (and critically missing from
interfaces derived from C). I'd love to see your implementation of this.
> - classes for point, and rectangle. I template by scalar
> type, to support "device" coordinates, which are usually
> integers, as well as "view" coordinates, which can be
> integers (shorts or longs), fixed point numbers, or floats.
> Conversion to platform-specific structures is
> efficient here (even if coordinates have to be swapped),
> since the data structures are so small.
This is the sort of little class that gets reinvented over and over (either
that or people just use whatever vendor-specific implementation is to hand).
A bit like my rational number class, it's getting the details right that
makes the difference, and doing that once and for all as part of something
like boost is well worth it.
> - types that support keyboard state
> - a class that encapsulates what I call "input state"
> - a standard (XML?) way of describing control hierarchies
> - a cross-platform way of storing strings
I'm less interested in these, but I'm sure there are many people who would
I think your point that providing building blocks is more important than
frameworks is key. I see boost as just that - a library of small,
independent, low-level building block style components, using C++ idioms to
as much advantage as possible.
> ps I might be willing to submit my implementation of the messaging
> library and the point/rectangle classes, if there is interest.
I'd like to see them...
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk