|
Boost Users : |
Subject: Re: [Boost-users] ASIO async_read_until...
From: Zachary Turner (divisortheory_at_[hidden])
Date: 2009-07-23 16:05:45
On Thu, Jul 23, 2009 at 1:27 PM, Etienne Philip
Pretorius<icewolfhunter_at_[hidden]> wrote:
> Hello list,
>
> I have a set of inherited classes as follows:
>
> client [parent of] stream [parent of]
> parser [parent of]
> grammar
>
> When I perform the following call:
>
> boost::asio::async_read_until(
> socket_,
> streambuf_,
> stream::parse(),
> boost::bind(
> &client::handle_read,
> this,
> boost::asio::placeholders::error,
> boost::asio::placeholders::bytes_transferred
> )
> );
>
> The xml::parser::operator() call for the match condition is a copy of the
> classes:
>
> parser [parent of]
> grammar
>
> I need to know if someone could suggest a client way for me to use (shared)
> pointers to the classes so that the xml::parser::operator() can keep its
> state changes over successive calls for async_read_until.
I should throw in a disclaimer that I have no experience at all with
the xml parsing classes you're using so this may not apply.
Can you store a single instance of parser inside client and then call
async_read_until with boost::ref(parser_) instead of stream::parse()?
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