((digit = (
unsigned) *
m_Buffer-
'0') > 9) {
75 while((digit = (
unsigned) *
m_Buffer-
'0') <= 9) {
137 "to raw data mode after reading a control character.");
168 size_tbuffer_size,
size_tmax_buffer_size)
171max_buffer_size >= buffer_size &&
172 "Buffer sizes must be consistent.");
184 "Must be in the state of filling the output buffer.");
185 _ASSERT((symbol < '0' || symbol >
'9') &&
186 "Control symbol cannot be a digit.");
193 size_tchunk_length,
boolto_be_continued)
197 "Must be in the state of filling the output buffer.");
201*
result= to_be_continued ?
'+':
' ';
212 if(string_len < free_buf_size) {
214memcpy(free_buffer,
result, string_len);
215free_buffer += string_len;
216free_buf_size -= string_len;
217 if(chunk_length < free_buf_size) {
218memcpy(free_buffer, chunk, chunk_length);
222memcpy(free_buffer, chunk, free_buf_size);
239 "Must be in the state of filling the output buffer.");
257 if(string_len < free_buf_size) {
273 "Must be in the state of filling the output buffer.");
278 if(data_size < free_buf_size) {
279memcpy(free_buffer,
data, data_size);
283memcpy(free_buffer,
data, free_buf_size);
285 m_ChunkPart=
reinterpret_cast<const char*
>(
data) + free_buf_size;
EStreamParsingEvent GetNextEvent()
Parse the input buffer until a parsing event occurs.
EStreamParsingEvent ReadRawData(size_t data_size)
Tell the reader to switch to reading raw data of the specified length.
EStreamParsingState m_State
EStreamParsingEvent
Enumeration of the input stream parsing events.
@ eChunk
Notify that the last part of the chunk has been read.
@ eEndOfBuffer
Notify that the end of the input buffer has been reached.
@ eChunkPart
Notify that a part of a chunk has been read and can be fetched by a call to the GetChunkPart() method...
@ eControlSymbol
Notify that a control symbol has been read.
@ eFormatError
Indicate a format error in the input stream.
@ eNumber
Notify that a number has been read.
bool SendControlSymbol(char symbol)
Send a control symbol over the output buffer.
bool SendNumber(Int8 number)
Send an integer over the output buffer.
bool SendRawData(const void *data, size_t data_size)
Mix a chunk of raw data right in the output stream.
bool NextOutputBuffer()
Proceed to the next output buffer.
const char * m_OutputBuffer
size_t m_OutputBufferSize
size_t m_InternalBufferSize
bool SendChunk(const char *chunk, size_t chunk_length, bool to_be_continued)
Send a chunk of data to the output buffer.
char m_InternalBuffer[(sizeof(Int8) >> 1) *5+1]
void Reset(char *buffer, size_t buffer_size)
Initialize or reinitialize this object.
int64_t Int8
8-byte (64-bit) signed integer
uint64_t Uint8
8-byte (64-bit) unsigned integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
NCBI C++ auxiliary debug macros.
This file contains declaration of the CDiscreteDistribution class.
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