Panda3D
zStream.I
1 // Filename: zStream.I
2 // Created by: drose (05Aug02)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 
16 ////////////////////////////////////////////////////////////////////
17 // Function: IDecompressStream::Constructor
18 // Access: Public
19 // Description:
20 ////////////////////////////////////////////////////////////////////
21 INLINE IDecompressStream::
22 IDecompressStream() : istream(&_buf) {
23 }
24 
25 ////////////////////////////////////////////////////////////////////
26 // Function: IDecompressStream::Constructor
27 // Access: Public
28 // Description:
29 ////////////////////////////////////////////////////////////////////
30 INLINE IDecompressStream::
31 IDecompressStream(istream *source, bool owns_source) : istream(&_buf) {
32  open(source, owns_source);
33 }
34 
35 ////////////////////////////////////////////////////////////////////
36 // Function: IDecompressStream::open
37 // Access: Public
38 // Description:
39 ////////////////////////////////////////////////////////////////////
40 INLINE IDecompressStream &IDecompressStream::
41 open(istream *source, bool owns_source) {
42  clear((ios_iostate)0);
43  _buf.open_read(source, owns_source);
44  return *this;
45 }
46 
47 ////////////////////////////////////////////////////////////////////
48 // Function: IDecompressStream::close
49 // Access: Public
50 // Description: Resets the ZStream to empty, but does not actually
51 // close the source istream unless owns_source was true.
52 ////////////////////////////////////////////////////////////////////
53 INLINE IDecompressStream &IDecompressStream::
54 close() {
55  _buf.close_read();
56  return *this;
57 }
58 
59 
60 ////////////////////////////////////////////////////////////////////
61 // Function: OCompressStream::Constructor
62 // Access: Public
63 // Description:
64 ////////////////////////////////////////////////////////////////////
65 INLINE OCompressStream::
66 OCompressStream() : ostream(&_buf) {
67 }
68 
69 ////////////////////////////////////////////////////////////////////
70 // Function: OCompressStream::Constructor
71 // Access: Public
72 // Description:
73 ////////////////////////////////////////////////////////////////////
74 INLINE OCompressStream::
75 OCompressStream(ostream *dest, bool owns_dest, int compression_level) :
76  ostream(&_buf)
77 {
78  open(dest, owns_dest, compression_level);
79 }
80 
81 ////////////////////////////////////////////////////////////////////
82 // Function: OCompressStream::open
83 // Access: Public
84 // Description:
85 ////////////////////////////////////////////////////////////////////
86 INLINE OCompressStream &OCompressStream::
87 open(ostream *dest, bool owns_dest, int compression_level) {
88  clear((ios_iostate)0);
89  _buf.open_write(dest, owns_dest, compression_level);
90  return *this;
91 }
92 
93 ////////////////////////////////////////////////////////////////////
94 // Function: OCompressStream::close
95 // Access: Public
96 // Description: Resets the ZStream to empty, but does not actually
97 // close the dest ostream unless owns_dest was true.
98 ////////////////////////////////////////////////////////////////////
99 INLINE OCompressStream &OCompressStream::
100 close() {
101  _buf.close_write();
102  return *this;
103 }
104