Boost logo

Boost Users :

Subject: [Boost-users] Boost.Iostreams devices and unsigned char character types
From: laanan fisher (stylinize_at_[hidden])
Date: 2011-01-04 21:45:07


Hi,

I'm having some trouble using boost::iostreams::basic_file (and other
devices) with unsigned char character types. It's likely a lack of
understanding on my part, so any help is greatly appreciated. Here is
what I'd like to do, and the results from my g++ v4.5.0 compilation.
Thanks for your time.

# include <boost/iostreams/device/file.hpp>
# include <boost/iostreams/get.hpp>

int main()
{
    namespace io = boost::iostreams;

    io::basic_file_source< unsigned char > file( "us.cpp" );

    int ch = io::get( file );

    return 0;
}

/*
In file included from d:/boost_1_45_0/boost/iostreams/detail/adapter/non_blockin
g_adapter.hpp:12:0,
                 from d:/boost_1_45_0/boost/iostreams/close.hpp:19,
                 from d:/boost_1_45_0/boost/iostreams/operations.hpp:16,
                 from d:/boost_1_45_0/boost/iostreams/device/file.hpp:23,
                 from us.cpp:1:
d:/boost_1_45_0/boost/iostreams/read.hpp: In static member function 'static type
name boost::iostreams::int_type_of<T>::type boost::iostreams::detail::read_devic
e_impl<boost::iostreams::input>::get(T&) [with T = boost::iostreams::basic_file_
source<unsigned char>, typename boost::iostreams::int_type_of<T>::type = long un
signed int]':
d:/boost_1_45_0/boost/iostreams/read.hpp:47:60: instantiated from 'typename bo
ost::iostreams::int_type_of<T>::type boost::iostreams::get(T&) [with T = boost::
iostreams::basic_file_source<unsigned char>, typename boost::iostreams::int_type
_of<T>::type = long unsigned int]'
us.cpp:10:28: instantiated from here
d:/boost_1_45_0/boost/iostreams/read.hpp:180:42: error: incomplete type 'boost::
iostreams::detail::read_device_impl<boost::iostreams::input>::get(T&) [with T =
boost::iostreams::basic_file_source<unsigned char>, typename boost::iostreams::i
nt_type_of<T>::type = long unsigned int]::traits_type' used in nested name speci
fier
d:/boost_1_45_0/boost/iostreams/read.hpp:180:42: error: incomplete type 'boost::
iostreams::detail::read_device_impl<boost::iostreams::input>::get(T&) [with T =
boost::iostreams::basic_file_source<unsigned char>, typename boost::iostreams::i
nt_type_of<T>::type = long unsigned int]::traits_type' used in nested name speci
fier
d:/boost_1_45_0/boost/iostreams/read.hpp:180:42: error: incomplete type 'boost::
iostreams::detail::read_device_impl<boost::iostreams::input>::get(T&) [with T =
boost::iostreams::basic_file_source<unsigned char>, typename boost::iostreams::i
nt_type_of<T>::type = long unsigned int]::traits_type' used in nested name speci
fier
*/


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