Hello to all.

I need some help using the Boost.Coroutine lib.
I wanted to use the coroutines as objects and for that, I tried to build a simple object and inherit the boost::coroutines::coroutine template.

ex:

class SimpleObj : public boost::coroutines::coroutine<SimpleObj>{
private:
std::unique_ptr<boost::asio::ip::tcp::socket> tcpSkt_uPtr;
std::unique_ptr<boost::asio::ip::tcp::acceptor> acc_uPtr;

public:
SimpleObj(std::shared_ptr<boost::asio::io_service> ioService_ptr, boost::asio::ip::tcp::endpoint &endPoint);
~SimpleObj();
void run();
};


Is this right? Can I actually inherit from the boost::coroutines::coroutine template ?
If yes, how can I proceed from here, to use the run() object method as the coroutine itself, with an io_service  provided  through the constructor ?


Thanks for any assistance!

--

Carlos Miguel Ferreira
Researcher at Telecommunications Institute
Aveiro - Portugal
Work E-mail - cmf@av.it.pt
Skype & GTalk -> carlosmf.pt@gmail.com
LinkedIn -> http://www.linkedin.com/in/carlosmferreira