- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

# 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 # 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         // istream::readsome does not seem to work on SunOS
    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