
From: Jeff Flinn [mailto:TriumphSprint2000@hotmail.com]
My reading of the docs states that array_sink models the concept sink, meaning that the following should compile:
[snip]
io::array_sink lSink(x,4);
const char* y = "abc";
io::write( lSink, y, 4 );
[snip]
I must be doing something obviously wrong, on VC7.1 I get:
c:\boost\boost_1_33_1\boost\iostreams\write.hpp(118) : error C2039: 'write' : is not a member of 'boost::iostreams::basic_array_sink<Ch>'
[snip] Hi Jeff, I think this is related to the fact that array_sink is a "direct" sink. At the bottom of this page: http://www.boost.org/libs/iostreams/doc/?path=4.1.1.7 there is mention that "io::write()" is subject the the precondition that the sink is *not* convertible to "direct_tag". BTW, in the "details" of the iostreams library, there is a "direct_adapter" which seems to allow one to expose a "direct" Device as an "indirect" one. HTH, Éric Malenfant