|
BDE 4.39.x Production Release
|
#include <bslstl_syncbuf.h>
This class implements a standard stream buffer providing an internal buffer to accumulate the written data in order to atomically transmit its entire contents to the wrapped buffer on destruction (or emit call).
Public Types | |
| typedef CHAR_TYPE | char_type |
| typedef CHAR_TRAITS::int_type | int_type |
| typedef CHAR_TRAITS::pos_type | pos_type |
| typedef CHAR_TRAITS::off_type | off_type |
| typedef CHAR_TRAITS | traits_type |
| typedef ALLOCATOR | allocator_type |
| typedef std::basic_streambuf< CHAR_TYPE, CHAR_TRAITS > | streambuf_type |
Public Member Functions | |
| basic_syncbuf (const ALLOCATOR &allocator=ALLOCATOR()) | |
| basic_syncbuf (streambuf_type *wrapped, const ALLOCATOR &allocator=ALLOCATOR()) | |
| ~basic_syncbuf () BSLS_KEYWORD_OVERRIDE | |
| bool | emit () |
| void | set_emit_on_sync (bool value) BSLS_KEYWORD_NOEXCEPT |
| allocator_type | get_allocator () const BSLS_KEYWORD_NOEXCEPT |
| streambuf_type * | get_wrapped () const BSLS_KEYWORD_NOEXCEPT |
Protected Member Functions | |
| int_type | overflow (int_type character=traits_type::eof()) BSLS_KEYWORD_OVERRIDE |
| int | sync () BSLS_KEYWORD_OVERRIDE |
| std::streamsize | xsputn (const char_type *inputString, std::streamsize count) BSLS_KEYWORD_OVERRIDE |
| typedef ALLOCATOR bsl::basic_syncbuf< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::allocator_type |
| typedef CHAR_TYPE bsl::basic_syncbuf< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::char_type |
| typedef CHAR_TRAITS::int_type bsl::basic_syncbuf< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::int_type |
| typedef CHAR_TRAITS::off_type bsl::basic_syncbuf< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::off_type |
| typedef CHAR_TRAITS::pos_type bsl::basic_syncbuf< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::pos_type |
| typedef std::basic_streambuf<CHAR_TYPE, CHAR_TRAITS> bsl::basic_syncbuf< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::streambuf_type |
| typedef CHAR_TRAITS bsl::basic_syncbuf< CHAR_TYPE, CHAR_TRAITS, ALLOCATOR >::traits_type |
|
explicit |
Create a basic_syncbuf object without a wrapped buffer. Optionally specify an allocator used to supply memory.
|
explicit |
Create a basic_syncbuf object. Set the specified wrapped as a wrapped buffer. Optionally specify an allocator used to supply memory.
| bsl::basic_syncbuf< CHAR, TRAITS, ALLOCATOR >::~basic_syncbuf | ( | ) |
Call emit. Any exceptions thrown by emit are ignored.
| bool bsl::basic_syncbuf< CHAR, TRAITS, ALLOCATOR >::emit | ( | ) |
Atomically transfer any characters buffered by this object to the wrapped stream buffer, so that it appears in the output stream as a contiguous sequence of characters. The wrapped stream buffer is flushed if and only if a call was made to sync since the most recent call to emit or construction. Return true if get_wrapped() != nullptr, and all of the characters in the associated output were successfully transferred, and the flush (if any) succeeded; return false otherwise.
|
inline |
Return the allocator used to supply memory.
|
inline |
Return the wrapped buffer supplied at construction.
|
protected |
|
inline |
Call the emit function by each sync call if the specified value is true.
|
protected |
Request the wrapped streambuf flush on the next emit call, then call emit if the "emit-on-sync" flag is true. Return 0 on success and -1 if the emit call has failed.
|
protected |
Write the specified inputString array of the specified count characters to the internal buffer. Return the number of characters successfully written.