ios.hxx

00001 // ios.hxx: this file is part of the Vaucanson project.
00002 //
00003 // Vaucanson, a generic library for finite state machines.
00004 //
00005 // Copyright (C) 2004, 2005, 2006 The Vaucanson Group.
00006 //
00007 // This program is free software; you can redistribute it and/or
00008 // modify it under the terms of the GNU General Public License
00009 // as published by the Free Software Foundation; either version 2
00010 // of the License, or (at your option) any later version.
00011 //
00012 // The complete GNU General Public Licence Notice can be found as the
00013 // `COPYING' file in the root directory.
00014 //
00015 // The Vaucanson Group consists of people listed in the `AUTHORS' file.
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         // istream::readsome does not seem to work on SunOS
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

Generated on Thu Oct 9 20:22:35 2008 for Vaucanson by  doxygen 1.5.1