Hi list:

I’m in the process of using boost::fusion::vector, with the following definition:

typedef boost::fusion::vector<PmStream*, MIDIInputThread, boost::shared_ptr<boost::asio::io_service>, boost::shared_ptr<boost::thread> > InputType;  

I’m then constructing this using the following code:

PmStream* Port;

MIDIInputThread cl;

InputType NewInput =InputType(Port, cl, boost::make_shared<boost::asio::io_service>, boost::make_shared<boost::thread>(boost::bind(&boost::asio::io_service::run, io.get())));

What I’m wondering is is there a way to refer to a previously declared argument in this case, I’d like to refer to the shared pointer containing the boost::asio::io_service. Given that I’ve not actually named this argument, could I use anything from either boost.fusion or boost.mpl to do what I require.

Any help appreciated.

Regards

Sean.