libzypp  17.24.1
zypp::detail::fXstream< TBStream, TStreamBuf > Class Template Reference

Common template to define ifgzstream/ofgzstream reading/writing compressed files. More...

#include <fXstream.h>

Inheritance diagram for zypp::detail::fXstream< TBStream, TStreamBuf >:

Public Types

using ZlibError = typename TStreamBuf::error_type
 
using stream_type = TBStream
 
using streambuf_type = TStreamBuf
 

Public Member Functions

 fXstream ()
 
 fXstream (const char *file_r)
 
virtual ~fXstream ()
 
bool is_open () const
 
void open (const char *file_r)
 
void close ()
 
ZlibError zError () const
 The last error returned retuned from zlib. More...
 
const streambuf_typegetbuf () const
 Similar to ios::rdbuf. More...
 

Private Member Functions

std::ios_base::openmode defMode (const std::istream &)
 
std::ios_base::openmode defMode (const std::ostream &)
 

Private Attributes

streambuf_type _streambuf
 

Detailed Description

template<class TBStream, class TStreamBuf>
class zypp::detail::fXstream< TBStream, TStreamBuf >

Common template to define ifgzstream/ofgzstream reading/writing compressed files.

Don't use fXstream directly, but ifgzstream or ofgzstream. fXstream is just to avoid almost duplicate code.

Definition at line 26 of file fXstream.h.

Member Typedef Documentation

◆ ZlibError

template<class TBStream , class TStreamBuf >
using zypp::detail::fXstream< TBStream, TStreamBuf >::ZlibError = typename TStreamBuf::error_type

Definition at line 30 of file fXstream.h.

◆ stream_type

template<class TBStream , class TStreamBuf >
using zypp::detail::fXstream< TBStream, TStreamBuf >::stream_type = TBStream

Definition at line 31 of file fXstream.h.

◆ streambuf_type

template<class TBStream , class TStreamBuf >
using zypp::detail::fXstream< TBStream, TStreamBuf >::streambuf_type = TStreamBuf

Definition at line 32 of file fXstream.h.

Constructor & Destructor Documentation

◆ fXstream() [1/2]

template<class TBStream , class TStreamBuf >
zypp::detail::fXstream< TBStream, TStreamBuf >::fXstream ( )
inline

Definition at line 34 of file fXstream.h.

◆ fXstream() [2/2]

template<class TBStream , class TStreamBuf >
zypp::detail::fXstream< TBStream, TStreamBuf >::fXstream ( const char *  file_r)
inlineexplicit

Definition at line 39 of file fXstream.h.

◆ ~fXstream()

template<class TBStream , class TStreamBuf >
virtual zypp::detail::fXstream< TBStream, TStreamBuf >::~fXstream ( )
inlinevirtual

Definition at line 44 of file fXstream.h.

Member Function Documentation

◆ is_open()

template<class TBStream , class TStreamBuf >
bool zypp::detail::fXstream< TBStream, TStreamBuf >::is_open ( ) const
inline

Definition at line 48 of file fXstream.h.

◆ open()

template<class TBStream , class TStreamBuf >
void zypp::detail::fXstream< TBStream, TStreamBuf >::open ( const char *  file_r)
inline

Definition at line 52 of file fXstream.h.

◆ close()

template<class TBStream , class TStreamBuf >
void zypp::detail::fXstream< TBStream, TStreamBuf >::close ( )
inline

Definition at line 61 of file fXstream.h.

◆ zError()

template<class TBStream , class TStreamBuf >
ZlibError zypp::detail::fXstream< TBStream, TStreamBuf >::zError ( ) const
inline

The last error returned retuned from zlib.

Definition at line 71 of file fXstream.h.

◆ getbuf()

template<class TBStream , class TStreamBuf >
const streambuf_type& zypp::detail::fXstream< TBStream, TStreamBuf >::getbuf ( ) const
inline

Similar to ios::rdbuf.

But it returns our specific type, not the generic streambuf *.

Definition at line 77 of file fXstream.h.

◆ defMode() [1/2]

template<class TBStream , class TStreamBuf >
std::ios_base::openmode zypp::detail::fXstream< TBStream, TStreamBuf >::defMode ( const std::istream &  )
inlineprivate

Definition at line 85 of file fXstream.h.

◆ defMode() [2/2]

template<class TBStream , class TStreamBuf >
std::ios_base::openmode zypp::detail::fXstream< TBStream, TStreamBuf >::defMode ( const std::ostream &  )
inlineprivate

Definition at line 89 of file fXstream.h.

Member Data Documentation

◆ _streambuf

template<class TBStream , class TStreamBuf >
streambuf_type zypp::detail::fXstream< TBStream, TStreamBuf >::_streambuf
private

Definition at line 82 of file fXstream.h.


The documentation for this class was generated from the following file: