Boost logo

Boost Users :

From: Joshua Perry (josh_at_[hidden])
Date: 2008-07-08 03:49:18


I apologize if this is a beginner question, but I can't find much on
how something like this is supposed to work.

I am using boost::iostreams to abstract away a couple of different
methods of talking to our hardware devices. So I've created a device
for each transport, each of which derive from device<bidirectional>;
ip_device, serial_device, and usb_device. I then declare streams for
each as stream<ip_device>, etc...

Now that I have the streams, I have a class that communicates with the
device and I would like to construct or initialize an object of that
class with any one of the streams. I have yet to figure out how to
form the constructor/function parameter to allow this.

I've tried something like this, a stream of the base type of my devices:
void init( stream< device<bidirectional> > str);

I think something like this may work but I'm not sure if I want to
template the function:
template< typename T>
void init(stream<T> str);

A reference to any kind of discussion about using templates in such a
way would help me in more than just this instance.

Thanks for any input,

Josh



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net