Loading...
Searching...
No Matches
icu::StringByteSink< StringClass > Class Template Reference

Implementation of ByteSink that writes to a "string". More...

`#include <bytestream.h>`

Inheritance diagram for icu::StringByteSink< StringClass >:

## Public Member Functions

| StringByteSink (StringClass *dest)
| Constructs a ByteSink that will append bytes to the dest string.
| StringByteSink (StringClass *dest, int32_t initialAppendCapacity)
| Constructs a ByteSink that reserves append capacity and will append bytes to the dest string.
virtual void | Append (const char *data, int32_t n) override
| Append "bytes[0,n-1]" to this.
Public Member Functions inherited from icu::ByteSink
| ByteSink ()
| Default constructor.
virtual | ~ByteSink ()
| Virtual destructor.
void | AppendU8 (const char *bytes, int32_t n)
| Appends n bytes to this.
void | AppendU8 (const char8_t *bytes, int32_t n)
| Appends n bytes 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.
virtual void | Flush ()
| Flush internal buffers.

## Detailed Description

template<typename StringClass>
class icu::StringByteSink< StringClass >

Implementation of ByteSink that writes to a "string".

The StringClass is usually instantiated with a std::string or a std::u8string. StringClass must have public member functions reserve(integer type), capacity(), length(), and append(value type, integer type) with the same semantics as those of std::basic_string, and must have an 8-bit value type. If the value type is not char, it must be a public member type StringClass::value_type.

Stable
  ICU 4.2

Definition at line 291 of file bytestream.h.

## Constructor & Destructor Documentation

## StringByteSink() [1/2]

template<typename StringClass>

icu::StringByteSink< StringClass >::StringByteSink | ( | StringClass * | dest | ) |

inline

Constructs a ByteSink that will append bytes to the dest string.

Parameters

  dest | pointer to string object to append to

Stable
  ICU 4.2

Definition at line 299 of file bytestream.h.

## StringByteSink() [2/2]

template<typename StringClass>

icu::StringByteSink< StringClass >::StringByteSink | ( | StringClass * | dest,
|  | int32_t | initialAppendCapacity )

inline

Constructs a ByteSink that reserves append capacity and will append bytes to the dest string.

Parameters

  dest | pointer to string object to append to
  initialAppendCapacity | capacity beyond dest->length() to be reserve()d

Stable
  ICU 60

Definition at line 307 of file bytestream.h.

## Member Function Documentation

## Append()

template<typename StringClass>

virtual void icu::StringByteSink< StringClass >::Append | ( | const char * | data,
|  | int32_t | n )

inline override virtual

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

Parameters

  data | the pointer to the bytes
  n | the number of bytes; must be non-negative

Stable
  ICU 4.2

Implements icu::ByteSink.

Definition at line 319 of file bytestream.h.

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

- common/unicode/bytestream.h