| OpenMS 2.5.0

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GzipIfstream Class Reference

Decompresses files which are compressed in the gzip format (*.gzip) More...

`#include <OpenMS/FORMAT/GzipIfstream.h>`

## Public Member Functions

| GzipIfstream ()
| Default Constructor. More...
| GzipIfstream (const char *filename)
| Detailed constructor with filename. More...
virtual | ~GzipIfstream ()
| Destructor. More...
size_t | read (char *s, size_t n)
| Reads n bytes from the bzip2 compressed file into buffer s. More...
bool | streamEnd () const
| indicates whether the read function can be used safely More...
bool | isOpen () const
| returns whether a file is open. More...
void | open (const char *filename)
| opens a file for reading (decompression) More...
void | close ()
| closes current file. More...

## Protected Member Functions

| GzipIfstream (const GzipIfstream &bzip2)
| not implemented More...
GzipIfstream & | operator= (const GzipIfstream &bzip2)

## Protected Attributes

gzFile | gzfile_
| a gzFile object(void*) . Necessary for decompression More...
int | n_buffer_
| counts the last read duffer More...
int | gzerror_
| saves the last returned error by the read function More...
bool | stream_at_end_
| true if end of file is reached More...

## Detailed Description

Decompresses files which are compressed in the gzip format (*.gzip)

## Constructor & Destructor Documentation

## ◆ GzipIfstream() [1/3]

GzipIfstream | ( |  | ) |

Default Constructor.

## ◆ GzipIfstream() [2/3]

GzipIfstream | ( | const char * | filename | ) |

explicit

Detailed constructor with filename.

## ◆ ~GzipIfstream()

virtual ~GzipIfstream | ( |  | ) |

virtual

Destructor.

## ◆ GzipIfstream() [3/3]

GzipIfstream | ( | const GzipIfstream & | bzip2 | ) |

protected

not implemented

## Member Function Documentation

## ◆ close()

void close | ( |  | ) |

closes current file.

## ◆ isOpen()

bool isOpen | ( |  | ) | const

inline

returns whether a file is open.

References GzipIfstream::gzfile_.

Referenced by GzipInputStream::getIsOpen().

## ◆ open()

void open | ( | const char * | filename | ) |

opens a file for reading (decompression)

Note
  any previous open files will be closed first!

## ◆ operator=()

GzipIfstream& operator= | ( | const GzipIfstream & | bzip2 | ) |

protected

## ◆ read()

size_t read | ( | char * | s,
|  | size_t | n
| ) |  |

Reads n bytes from the bzip2 compressed file into buffer s.

Parameters

  s | Buffer to be filled with the output
  n | The size of the buffer s

Returns
  The number of actually read bytes. If it is less than n, the end of the file was reached and the stream is closed

Note
  This returns a raw byte stream that is *not* null-terminated. Be careful here.
  The length of the buffer needs to at least n
  Closes the stream if the end of file is reached. Check isOpen before reading from the file again

Exceptions

  Exception::ConversionError | is thrown if decompression fails
  Exception::IllegalArgument | is thrown if no file for decompression is given. This can happen even happen if a file was already open but read until the end.

## ◆ streamEnd()

bool streamEnd | ( |  | ) | const

inline

indicates whether the read function can be used safely

Returns
  true if end of file was reached. Otherwise false.

References GzipIfstream::stream_at_end_.

## Member Data Documentation

## ◆ gzerror_

int gzerror_

protected

saves the last returned error by the read function

## ◆ gzfile_

gzFile gzfile_

protected

a gzFile object(void*) . Necessary for decompression

Referenced by GzipIfstream::isOpen().

## ◆ n_buffer_

int n_buffer_

protected

counts the last read duffer

## ◆ stream_at_end_

bool stream_at_end_

protected

true if end of file is reached

Referenced by GzipIfstream::streamEnd().