]> git.donarmstrong.com Git - flightcrew.git/blob - src/zipios/zipios++/filteroutputstreambuf.h
update changelog, target experimental
[flightcrew.git] / src / zipios / zipios++ / filteroutputstreambuf.h
1 #ifndef FILTEROUTPUTSTREAMBUF_H
2 #define FILTEROUTPUTSTREAMBUF_H
3
4 #include "zipios++/zipios-config.h"
5
6 #include "zipios++/meta-iostreams.h"
7
8 namespace zipios {
9
10 using std::streambuf ;
11
12 /** A FilterOutputStreambuf is a streambuf that filters the data that is written
13     to it before it passes it on to the output streambuf it is connected to. */
14 class FilterOutputStreambuf : public streambuf {
15 public:
16
17   /** Constructor.
18       @param outbuf the streambuf to pass the filtered data on to.
19       @param del_outbuf if true is specified outbuf will be deleted, when 
20       the FilterOutputStreambuf is destructed.  */
21   explicit FilterOutputStreambuf( streambuf *outbuf, bool del_outbuf = false ) ;
22
23   /** Destructor. */
24   virtual ~FilterOutputStreambuf() ;
25
26 protected:
27   streambuf *_outbuf ;
28   bool _del_outbuf ;
29 };
30
31
32 } // namespace 
33
34
35 #endif
36
37 /** \file
38     Header file that defines FilterOutputStreambuf.
39 */
40
41 /*
42   Zipios++ - a small C++ library that provides easy access to .zip files.
43   Copyright (C) 2000  Thomas Søndergaard
44   
45   This library is free software; you can redistribute it and/or
46   modify it under the terms of the GNU Lesser General Public
47   License as published by the Free Software Foundation; either
48   version 2 of the License, or (at your option) any later version.
49   
50   This library is distributed in the hope that it will be useful,
51   but WITHOUT ANY WARRANTY; without even the implied warranty of
52   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
53   Lesser General Public License for more details.
54   
55   You should have received a copy of the GNU Lesser General Public
56   License along with this library; if not, write to the Free Software
57   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
58 */