CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t > Class Template Reference

#include <zstream.h>

Inheritance diagram for ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >:

Public Types

typedef unsigned char byte_type
 
typedef Item_t char_type
 
typedef Traits_t::int_type int_type
 
typedef std::basic_istream< Item_t, Traits_t > IStream_t
 
typedef Traits_t::off_type off_type
 
typedef Traits_t::pos_type pos_type
 
typedef std::basic_streambuf< Item_t, Traits_t > StreamBuf_t
 
typedef Traits_t traits_type
 

Public Member Functions

 basic_izstreambuf (IStream_t *is)
 
int_type underflow () override
 
 ~basic_izstreambuf () override
 

Private Member Functions

size_t fillInputBuffer ()
 
void putbackFromZStream ()
 
std::streamsize unzipFromStream (char_type *buf, std::streamsize size)
 

Private Attributes

std::vector< char_type, Allocator_t > buffer
 
int err
 
std::vector< byte_typeinputBuffer
 
IStream_tis
 
z_stream zipStream
 

Detailed Description

template<typename Item_t, typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
class ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >

Definition at line 63 of file zstream.h.

Member Typedef Documentation

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
typedef unsigned char ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::byte_type

Definition at line 72 of file zstream.h.

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
typedef Item_t ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::char_type

Definition at line 68 of file zstream.h.

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
typedef Traits_t::int_type ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::int_type

Definition at line 69 of file zstream.h.

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
typedef std::basic_istream<Item_t, Traits_t> ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::IStream_t

Definition at line 65 of file zstream.h.

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
typedef Traits_t::off_type ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::off_type

Definition at line 71 of file zstream.h.

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
typedef Traits_t::pos_type ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::pos_type

Definition at line 70 of file zstream.h.

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
typedef std::basic_streambuf<Item_t, Traits_t> ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::StreamBuf_t

Definition at line 66 of file zstream.h.

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
typedef Traits_t ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::traits_type

Definition at line 73 of file zstream.h.

Constructor & Destructor Documentation

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::basic_izstreambuf ( IStream_t is)
template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::~basic_izstreambuf ( )
override

Member Function Documentation

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
size_t ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::fillInputBuffer ( )
private
template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
void ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::putbackFromZStream ( )
private
template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
int_type ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::underflow ( )
override
template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
std::streamsize ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::unzipFromStream ( char_type buf,
std::streamsize  size 
)
private

Member Data Documentation

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
std::vector<char_type, Allocator_t> ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::buffer
private

Definition at line 93 of file zstream.h.

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
int ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::err
private

Definition at line 91 of file zstream.h.

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
std::vector<byte_type> ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::inputBuffer
private

Definition at line 92 of file zstream.h.

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
IStream_t* ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::is
private

Definition at line 89 of file zstream.h.

template<typename Item_t , typename Traits_t = std::char_traits<Item_t>, typename Allocator_t = std::allocator<Item_t>>
z_stream ext::basic_izstreambuf< Item_t, Traits_t, Allocator_t >::zipStream
private

Definition at line 90 of file zstream.h.