From: Stefan Seefeld (seefeld_at_[hidden])
Date: 2005-03-17 11:47:45
Don G wrote:
> I think we should start by asking a different question: can we write
> a portable asynchronous delivery mechanism? Answer: yes. We would
> have to define what is a "message" (my choice is a function<void ()>
> object), how is it queued and how is the queue drained. There are
> other picky details, but that's the start.
Following a discussion started by Aaron W. LaFramboise about extensibility
I'd like to suggest not to start with the highest level of abstraction,
or at least to start from both ends.
I think for many programmers it would be highly desirable to have a robust
C++ API to deal with the various system APIs, even if they are not fully
portable. Once a set of such platform-specific modules exist, the high
level API you are referring to could be made to choose at compile-time
(traits ?) to which low level library it maps.
Thus, once I know the platform I'm coding for (i.e. the level of
abstraction I need) I may or may not plug right into the underlaying
low-level API to get access to the rich features each platform-independent
API has to trade against portability.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk