A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/streambuf_8cpp_source.html below:

NCBI C++ ToolKit: src/util/compress/api/streambuf.cpp Source File

39 #define NCBI_USE_ERRCODE_X Util_Compress 46 #define THROW_FAILURE THROW1_TRACE(IOS_BASE::failure, "eStatus_Error"

)

49 #define CP CCompressionProcessor 50 #define CSP CCompressionStreamProcessor 62

: m_Stream(stream), m_Reader(read_sp), m_Writer(write_sp), m_Buf(0)

72

streamsize read_bufsize = 0, write_bufsize = 0;

119  #define msg_where "CCompressionStreambuf::~CCompressionStreambuf: " 120  #define msg_overflow "Overflow occurred, lost some processed data "

\

121

"through call Finalize()"

122  #define msg_error "Finalize() failed" 129

sp->m_Processor->End(abandon);

130

sp->m_State = CSP::eDone;

135  if

( sp->m_State == CSP::eInit ||

136

sp->m_State == CSP::eActive ) {

138  if

( sp->m_LastStatus == CP::eStatus_Overflow ) {

141  if

( sp->m_LastStatus == CP::eStatus_Error ) {

146

sp->m_Processor->End();

147

sp->m_State = CSP::eDone;

151

sp->m_Processor->End(1

);

152

sp->m_State = CSP::eDone;

172

sp->m_State != CSP::eDone &&

173

!(sp->m_State == CSP::eFinalize && sp->m_LastStatus == CP::eStatus_EndOfData)

180

status +=

m_Stream

->rdbuf()->PUBSYNC();

181  return

(status < 0 ? -1 : 0);

193  if

( sp->m_LastStatus == CP::eStatus_Error ) {

219  if

( sp->m_LastStatus == CP::eStatus_Error ) {

223  if

( sp->m_State == CSP::eFinalize ) {

233  if

( sp->m_LastStatus == CP::eStatus_Error ) {

239

sp->m_State = CSP::eFinalize;

249  if

( sp->m_LastStatus == CP::eStatus_Error ) {

253  if

( sp->m_LastStatus == CP::eStatus_EndOfData ) {

265  size_t

out_size = 0, out_available = 0;

273

out_size = sp->m_OutBuf + sp->m_OutBufSize -

buf

;

277  if

( sp->m_State == CSP::eFinalize ) {

279

sp->m_LastStatus = sp->m_Processor->Finish(

buf

, out_size, &out_available);

282  _VERIFY

(sp->m_State == CSP::eActive);

283

sp->m_LastStatus = sp->m_Processor->Flush(

buf

, out_size, &out_available);

285  if

( sp->m_LastStatus == CP::eStatus_EndOfData ) {

286

sp->m_State = CSP::eFinalize;

290  if

( sp->m_LastStatus == CP::eStatus_Error ) {

296

setg(sp->m_OutBuf, gptr(), egptr() + out_available);

299

sp->m_End += out_available;

306

}

while

(sp->m_LastStatus == CP::eStatus_Repeat ||

307

(out_available && (sp->m_LastStatus == CP::eStatus_Success ||

308

sp->m_LastStatus == CP::eStatus_Overflow))

364  size_t

in_len, in_available, out_size, out_available;

390 #ifdef NCBI_COMPILER_WORKSHOP 412

&in_available, &out_available);

420

in_available = in_len;

441

}

while

( !out_available );

449  const char

* in_buf = pbase();

450  const size_t count

= pptr() - pbase();

451  size_t

in_available =

count

;

470  while

( in_available ) {

472  size_t

out_available = 0;

477

&in_available, &out_available);

498

pbump(-(

int

)

count

);

518  if

( n_write != to_write ) {

551  size_t

block_size =

min

(

size_t

(

count

-

done

),

size_t

(epptr()-pptr()+1));

553

memcpy(pptr(),

buf

+

done

, block_size);

555

pbump((

int

)block_size);

584  size_t

block_size =

min

(

size_t

(

count

-

done

),

size_t

(egptr()-gptr()));

587

memcpy(

buf

+

done

, gptr(), block_size);

591  if

( block_size ==

size_t

(egptr() - gptr()) ) {

597

gbump((

int

)block_size);

element_type * get(void) const

Get pointer.

element_type * release(void)

Release will release ownership of pointer to caller.

CCompressionStreamProcessor * m_Writer

CT_CHAR_TYPE * m_OutBuf

Buffer of processed data.

int Finish(CCompressionStream::EDirection dir)

EState m_State

Stream processor state.

bool Process(CCompressionStream::EDirection dir)

int Flush(CCompressionStream::EDirection dir)

bool WriteOutBufToStream(bool force_write=false)

CCompressionStreamProcessor * m_Reader

streamsize m_OutBufSize

Processed data buffer size.

virtual CT_INT_TYPE underflow(void)

CT_CHAR_TYPE * m_Begin

Begin and end of the pre/post.

bool IsStreamProcessorOkay(CCompressionStream::EDirection dir) const

CCompressionStreamProcessor * GetStreamProcessor(CCompressionStream::EDirection dir) const

bool ProcessStreamRead(void)

virtual streamsize xsgetn(CT_CHAR_TYPE *buf, streamsize n)

void Init(void)

(Re)Initialize stream processor.

int Sync(CCompressionStream::EDirection dir)

int Finalize(CCompressionStream::EDirection dir=CCompressionStream::eReadWrite)

bool ProcessStreamWrite(void)

CCompressionStreambuf(CNcbiIos *stream, CCompressionStreamProcessor *read_stream_processor, CCompressionStreamProcessor *write_stream_processor)

virtual ~CCompressionStreambuf(void)

virtual streamsize xsputn(const CT_CHAR_TYPE *buf, streamsize count)

CCompressionProcessor::EStatus m_LastStatus

Last compressor status.

CCompressionProcessor * m_Processor

(De)compression processor.

virtual CT_INT_TYPE overflow(CT_INT_TYPE c)

bool IsStreamProcessorHaveData(CCompressionStream::EDirection dir) const

streamsize m_InBufSize

Unprocessed data buffer size.

EDirection

Stream processing direction.

CT_CHAR_TYPE * m_InBuf

Buffer of unprocessed data.

CT_CHAR_TYPE * m_End

processed data in the buffer.

@ eWrite

Writing into stream.

@ eRead

Reading from stream.

virtual EStatus Process(const char *in_buf, size_t in_len, char *out_buf, size_t out_size, size_t *in_avail, size_t *out_avail)=0

Compress/decompress as much data as possible, and stops when the input buffer becomes empty or the ou...

virtual EStatus Flush(char *out_buf, size_t out_size, size_t *out_avail)=0

Flush compressed/decompressed data from the output buffer.

virtual bool AllowEmptyData() const =0

Return TRUE if fAllowEmptyData flag is set for this compression.

#define ERR_COMPRESS(subcode, message)

Macro to report errors in compression API.

#define COMPRESS_HANDLE_EXCEPTIONS(subcode, message)

Macro to catch and handle exceptions (from streams in the destructor)

#define END_NCBI_SCOPE

End previously defined NCBI scope.

#define BEGIN_NCBI_SCOPE

Define ncbi namespace.

IO_PREFIX::ios CNcbiIos

Portable alias for ios.

Definition of all error codes used in util (xutil.lib).


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4