00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 #ifndef VCSN_XML_IOS_HXX
00018 # define VCSN_XML_IOS_HXX
00019 
00020 # include <vaucanson/xml/ios.hh>
00021 
00022 namespace vcsn
00023 {
00024     namespace xml
00025     {
00026       inline
00027       unsigned
00028       BinCxxInputStream::readBytes (XMLByte *const toFill,
00029                                     const unsigned int maxToRead)
00030       {
00031         
00032         unsigned s = _in->rdbuf()->sgetn((char *)toFill, maxToRead);
00033         _pos += s;
00034         return s;
00035       }
00036 
00037       inline
00038       unsigned int
00039       BinCxxInputStream::curPos() const
00040       {
00041         return _pos;
00042       }
00043 
00044       inline
00045       BinCxxInputStream*
00046       CxxInputSource::makeStream() const
00047       {
00048         return new BinCxxInputStream(_in);
00049       }
00050   }
00051 }
00052 
00053 #endif // ! VCSN_XML_IOS_HXX