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 namespace vcsn
00021 {
00022     namespace xml
00023     {
00024       inline
00025       unsigned
00026       BinCxxInputStream::readBytes (XMLByte *const toFill,
00027                                     const unsigned int maxToRead)
00028       {
00029         
00030         unsigned s = _in->rdbuf()->sgetn((char *)toFill, maxToRead);
00031         _pos += s;
00032         return s;
00033       }
00034 
00035       inline
00036       unsigned int
00037       BinCxxInputStream::curPos() const
00038       {
00039         return _pos;
00040       }
00041 
00042       inline
00043       BinCxxInputStream*
00044       CxxInputSource::makeStream() const
00045       {
00046         return new BinCxxInputStream(_in);
00047       }
00048   }
00049 }
00050 
00051 #endif // ! VCSN_XML_IOS_HXX