|
Boost Users : |
Subject: Re: [Boost-users] refering to objects when constructing a boost::fusion::vector
From: Robert Jones (robertgbjones_at_[hidden])
Date: 2011-03-21 09:01:00
On Mon, Mar 21, 2011 at 12:51 PM, Sean Farrow
<sean.farrow_at_[hidden]>wrote:
> Hi list:
>
> Im 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;
>
> Im 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 Im wondering is is there a way to refer to a previously declared
> argument in this case, Id like to refer to the shared pointer containing
> the boost::asio::io_service. Given that Ive 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.
>
>
>
How about something like mpl::at_c<InputType, 1> ?
(I daresay they'll be a proper expert along in a while!)
- Rob.
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