CheckedArrayByteSink Class Reference

Implementation of ByteSink that writes to a flat byte array, with bounds-checking: This sink will not write more than capacity bytes to outbuf. More...

#include <bytestream.h>

Inheritance diagram for CheckedArrayByteSink:
ByteSink UMemory

Public Member Functions

 CheckedArrayByteSink (char *outbuf, int32_t capacity)
 Constructs a ByteSink that will write to outbuf[0..capacity-1].
virtual void Append (const char *bytes, int32_t n)
 Append "bytes[0,n-1]" to this.
virtual char * GetAppendBuffer (int32_t min_capacity, int32_t desired_capacity_hint, char *scratch, int32_t scratch_capacity, int32_t *result_capacity)
 Returns a writable buffer for appending and writes the buffer's capacity to *result_capacity.
int32_t NumberOfBytesWritten () const
 Returns the number of bytes actually written to the sink.
UBool Overflowed () const
 Returns true if any bytes were discarded, i.e., if there was an attempt to write more than 'capacity' bytes.

Detailed Description

Implementation of ByteSink that writes to a flat byte array, with bounds-checking: This sink will not write more than capacity bytes to outbuf.

If more than capacity bytes are Append()ed, then excess bytes are ignored, and Overflowed() will return true. Overflow does not cause a runtime error.

Stable:
ICU 4.4

Definition at line 142 of file bytestream.h.


Constructor & Destructor Documentation

CheckedArrayByteSink::CheckedArrayByteSink ( char *  outbuf,
int32_t  capacity 
)

Constructs a ByteSink that will write to outbuf[0..capacity-1].

Parameters:
outbuf buffer to write to
capacity size of the buffer
Stable:
ICU 4.4

Member Function Documentation

virtual void CheckedArrayByteSink::Append ( const char *  bytes,
int32_t  n 
) [virtual]

Append "bytes[0,n-1]" to this.

Parameters:
bytes the pointer to the bytes
n the number of bytes; must be non-negative
Stable:
ICU 4.4

Implements ByteSink.

virtual char* CheckedArrayByteSink::GetAppendBuffer ( int32_t  min_capacity,
int32_t  desired_capacity_hint,
char *  scratch,
int32_t  scratch_capacity,
int32_t *  result_capacity 
) [virtual]

Returns a writable buffer for appending and writes the buffer's capacity to *result_capacity.

For details see the base class documentation.

Parameters:
min_capacity required minimum capacity of the returned buffer; must be non-negative
desired_capacity_hint desired capacity of the returned buffer; must be non-negative
scratch default caller-owned buffer
scratch_capacity capacity of the scratch buffer
result_capacity pointer to an integer which will be set to the capacity of the returned buffer
Returns:
a buffer with *result_capacity>=min_capacity
Stable:
ICU 4.4

Reimplemented from ByteSink.

int32_t CheckedArrayByteSink::NumberOfBytesWritten (  )  const [inline]

Returns the number of bytes actually written to the sink.

Returns:
number of bytes written to the buffer
Stable:
ICU 4.4

Definition at line 181 of file bytestream.h.

UBool CheckedArrayByteSink::Overflowed (  )  const [inline]

Returns true if any bytes were discarded, i.e., if there was an attempt to write more than 'capacity' bytes.

Returns:
TRUE if more than 'capacity' bytes were Append()ed
Stable:
ICU 4.4

Definition at line 188 of file bytestream.h.


The documentation for this class was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Sat Jan 23 15:17:42 2010 for ICU 4.3.4 by  doxygen 1.6.1