---
name: "zipios_ZipOutputStreambuf"
section: "3"
platform: "linux"
package: "libzipios++-dev"
version: "0.1.5.9+cvs.2007.04.28-6"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/zipios_ZipOutputStreambuf"
---

# zipios\_ZipOutputStreambuf(3)

ZipOutputStreambuf is a zip output streambuf filter.

## NAME

zipios::ZipOutputStreambuf - **ZipOutputStreambuf** is a zip output streambuf filter.

## SYNOPSIS

`#include <zipoutputstreambuf.h>`

Inherits **zipios::DeflateOutputStreambuf**.

### Public Types

enum **CompressionLevels** { **NO\_COMPRESSION** = Z\_NO\_COMPRESSION, **BEST\_SPEED** = Z\_BEST\_SPEED, **BEST\_COMPRESSION** = Z\_BEST\_COMPRESSION, **DEFAULT\_COMPRESSION** = Z\_DEFAULT\_COMPRESSION }\

### Public Member Functions

**ZipOutputStreambuf** (streambuf \*outbuf, bool del\_outbuf=false)\
 **ZipOutputStreambuf** *constructor.*  void **closeEntry** ()\
 *Closes the current entry, and positions the stream read pointer at the beginning of the next entry (if there is one).*  void **close** ()\
 *Calls finish.*  void **finish** ()\
 *Closes the current entry (if one is open), then writes the Zip Central Directory Structure closing the* **ZipOutputStream***.*  void **putNextEntry** (const **ZipCDirEntry** &entry)\
 *Begins writing the next entry.*  void **setComment** (const string &comment)\
 *Sets the global comment for the Zip archive.*  void **setLevel** (int level)\
 *Sets the compression level to be used for subsequent entries.*  void **setMethod** (**StorageMethod** method)\
 *Sets the compression method to be used.*  virtual **~ZipOutputStreambuf** ()\
 *Destructor.*

### Protected Member Functions

virtual int **overflow** (int c=EOF)\
 virtual int **sync** ()\
 void **setEntryClosedState** ()\
 void **updateEntryHeaderInfo** ()\

### Static Protected Member Functions

static void **writeCentralDirectory** (const vector\< **ZipCDirEntry** \> &entries, **EndOfCentralDirectory** eocd, ostream &os)\

### Additional Inherited Members

## Detailed Description

**ZipOutputStreambuf** is a zip output streambuf filter.

Definition at line 17 of file zipoutputstreambuf.h.

## Constructor & Destructor Documentation

### zipios::ZipOutputStreambuf::ZipOutputStreambuf (streambuf \* outbuf, bool del\_outbuf = `false`)` [explicit]`

**ZipOutputStreambuf** constructor. A newly constructed **ZipOutputStreambuf** is not ready to accept data, **putNextEntry()** must be invoked first.

**Parameters:**

*outbuf* the streambuf to use for input. \
 *del\_outbuf* if true is specified outbuf will be deleted, when the **ZipOutputStreambuf** is destructed.

Definition at line 20 of file zipoutputstreambuf.cpp.

### zipios::ZipOutputStreambuf::~ZipOutputStreambuf ()` [virtual]`

Destructor.

Definition at line 56 of file zipoutputstreambuf.cpp.

## Member Function Documentation

### void zipios::ZipOutputStreambuf::close ()

Calls finish.

Definition at line 41 of file zipoutputstreambuf.cpp.

### void zipios::ZipOutputStreambuf::closeEntry ()

Closes the current entry, and positions the stream read pointer at the beginning of the next entry (if there is one).

Definition at line 30 of file zipoutputstreambuf.cpp.

### void zipios::ZipOutputStreambuf::finish ()

Closes the current entry (if one is open), then writes the Zip Central Directory Structure closing the **ZipOutputStream**. The output stream that the zip archive is being written to is not closed.

Definition at line 46 of file zipoutputstreambuf.cpp.

### void zipios::ZipOutputStreambuf::putNextEntry (const ZipCDirEntry & entry)

Begins writing the next entry. Opens the next entry in the zip archive and returns a const pointer to a **FileEntry** object for the entry.

**Returns:**

a const **FileEntry** \* containing information about the (now) current entry.

Definition at line 61 of file zipoutputstreambuf.cpp.

### void zipios::ZipOutputStreambuf::setComment (const string & comment)

Sets the global comment for the Zip archive.

Definition at line 83 of file zipoutputstreambuf.cpp.

### void zipios::ZipOutputStreambuf::setLevel (int level)

Sets the compression level to be used for subsequent entries.

Definition at line 88 of file zipoutputstreambuf.cpp.

### void zipios::ZipOutputStreambuf::setMethod (StorageMethod method)

Sets the compression method to be used. only STORED and DEFLATED are supported.

Definition at line 93 of file zipoutputstreambuf.cpp.

## Author

Generated automatically by Doxygen for Zipios++ from the source code.
