00001 // Filename: zStream.I 00002 // Created by: drose (05Aug02) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) Carnegie Mellon University. All rights reserved. 00008 // 00009 // All use of this software is subject to the terms of the revised BSD 00010 // license. You should have received a copy of this license along 00011 // with this source code in a file named "LICENSE." 00012 // 00013 //////////////////////////////////////////////////////////////////// 00014 00015 00016 //////////////////////////////////////////////////////////////////// 00017 // Function: IDecompressStream::Constructor 00018 // Access: Public 00019 // Description: 00020 //////////////////////////////////////////////////////////////////// 00021 INLINE IDecompressStream:: 00022 IDecompressStream() : istream(&_buf) { 00023 } 00024 00025 //////////////////////////////////////////////////////////////////// 00026 // Function: IDecompressStream::Constructor 00027 // Access: Public 00028 // Description: 00029 //////////////////////////////////////////////////////////////////// 00030 INLINE IDecompressStream:: 00031 IDecompressStream(istream *source, bool owns_source) : istream(&_buf) { 00032 open(source, owns_source); 00033 } 00034 00035 //////////////////////////////////////////////////////////////////// 00036 // Function: IDecompressStream::open 00037 // Access: Public 00038 // Description: 00039 //////////////////////////////////////////////////////////////////// 00040 INLINE IDecompressStream &IDecompressStream:: 00041 open(istream *source, bool owns_source) { 00042 clear((ios_iostate)0); 00043 _buf.open_read(source, owns_source); 00044 return *this; 00045 } 00046 00047 //////////////////////////////////////////////////////////////////// 00048 // Function: IDecompressStream::close 00049 // Access: Public 00050 // Description: Resets the ZStream to empty, but does not actually 00051 // close the source istream unless owns_source was true. 00052 //////////////////////////////////////////////////////////////////// 00053 INLINE IDecompressStream &IDecompressStream:: 00054 close() { 00055 _buf.close_read(); 00056 return *this; 00057 } 00058 00059 00060 //////////////////////////////////////////////////////////////////// 00061 // Function: OCompressStream::Constructor 00062 // Access: Public 00063 // Description: 00064 //////////////////////////////////////////////////////////////////// 00065 INLINE OCompressStream:: 00066 OCompressStream() : ostream(&_buf) { 00067 } 00068 00069 //////////////////////////////////////////////////////////////////// 00070 // Function: OCompressStream::Constructor 00071 // Access: Public 00072 // Description: 00073 //////////////////////////////////////////////////////////////////// 00074 INLINE OCompressStream:: 00075 OCompressStream(ostream *dest, bool owns_dest, int compression_level) : 00076 ostream(&_buf) 00077 { 00078 open(dest, owns_dest, compression_level); 00079 } 00080 00081 //////////////////////////////////////////////////////////////////// 00082 // Function: OCompressStream::open 00083 // Access: Public 00084 // Description: 00085 //////////////////////////////////////////////////////////////////// 00086 INLINE OCompressStream &OCompressStream:: 00087 open(ostream *dest, bool owns_dest, int compression_level) { 00088 clear((ios_iostate)0); 00089 _buf.open_write(dest, owns_dest, compression_level); 00090 return *this; 00091 } 00092 00093 //////////////////////////////////////////////////////////////////// 00094 // Function: OCompressStream::close 00095 // Access: Public 00096 // Description: Resets the ZStream to empty, but does not actually 00097 // close the dest ostream unless owns_dest was true. 00098 //////////////////////////////////////////////////////////////////// 00099 INLINE OCompressStream &OCompressStream:: 00100 close() { 00101 _buf.close_write(); 00102 return *this; 00103 } 00104