$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: EMalenfant_at_[hidden]
Date: 2006-03-01 11:34:15
From: Jeff Flinn [mailto:TriumphSprint2000_at_[hidden]] 
> 
> 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