|
Public Methods |
| ACE_OutputCDR (size_t size=0, int byte_order=ACE_CDR_BYTE_ORDER, ACE_Allocator *buffer_allocator=0, ACE_Allocator *data_block_allocator=0, ACE_Allocator *message_block_allocator=0, size_t memcpy_tradeoff=ACE_DEFAULT_CDR_MEMCPY_TRADEOFF, ACE_CDR::Octet major_version=ACE_CDR_GIOP_MAJOR_VERSION, ACE_CDR::Octet minor_version=ACE_CDR_GIOP_MINOR_VERSION) |
| ACE_OutputCDR (char *data, size_t size, int byte_order=ACE_CDR_BYTE_ORDER, ACE_Allocator *buffer_allocator=0, ACE_Allocator *data_block_allocator=0, ACE_Allocator *message_block_allocator=0, size_t memcpy_tradeoff=ACE_DEFAULT_CDR_MEMCPY_TRADEOFF, ACE_CDR::Octet giop_major_version=ACE_CDR_GIOP_MAJOR_VERSION, ACE_CDR::Octet giop_minor_version=ACE_CDR_GIOP_MINOR_VERSION) |
| ACE_OutputCDR (ACE_Message_Block *data, int byte_order=ACE_CDR_BYTE_ORDER, size_t memcpy_tradeoff=ACE_DEFAULT_CDR_MEMCPY_TRADEOFF, ACE_CDR::Octet giop_major_version=ACE_CDR_GIOP_MAJOR_VERSION, ACE_CDR::Octet giop_minor_version=ACE_CDR_GIOP_MINOR_VERSION) |
| ~ACE_OutputCDR (void) |
| destructor
|
int | good_bit (void) const |
void | reset (void) |
| Reuse the CDR stream to write on the old buffer.
|
size_t | total_length (void) const |
| Add the length of each message block in the chain.
|
const ACE_Message_Block * | begin (void) const |
const ACE_Message_Block * | end (void) const |
| Return the last message in the chain that is is use.
|
const ACE_Message_Block * | current (void) const |
| Return the <current_> message block in chain.
|
const char * | buffer (void) const |
size_t | length (void) const |
int | align_write_ptr (size_t alignment) |
ACE_Char_Codeset_Translator * | char_translator (void) const |
| Access the codeset translators. They can be null!
|
ACE_WChar_Codeset_Translator * | wchar_translator (void) const |
void | char_translator (ACE_Char_Codeset_Translator *) |
| Set the char codeset translator.
|
void | wchar_translator (ACE_WChar_Codeset_Translator *) |
| Set the wchar codeset translator.
|
size_t | current_alignment (void) const |
int | adjust (size_t size, char *&buf) |
int | adjust (size_t size, size_t align, char *&buf) |
int | do_byte_swap (void) const |
void | reset_byte_order (int byte_order) |
int | set_version (ACE_CDR::Octet major, ACE_CDR::Octet minor) |
| set GIOP version info
|
int | get_version (ACE_CDR::Octet &major, ACE_CDR::Octet &minor) |
| Set the underlying GIOP version..
|
|
ACE_CDR::Boolean | write_boolean (ACE_CDR::Boolean x) |
ACE_CDR::Boolean | write_char (ACE_CDR::Char x) |
ACE_CDR::Boolean | write_wchar (ACE_CDR::WChar x) |
ACE_CDR::Boolean | write_octet (ACE_CDR::Octet x) |
ACE_CDR::Boolean | write_short (ACE_CDR::Short x) |
ACE_CDR::Boolean | write_ushort (ACE_CDR::UShort x) |
ACE_CDR::Boolean | write_long (ACE_CDR::Long x) |
ACE_CDR::Boolean | write_ulong (ACE_CDR::ULong x) |
ACE_CDR::Boolean | write_longlong (const ACE_CDR::LongLong &x) |
ACE_CDR::Boolean | write_ulonglong (const ACE_CDR::ULongLong &x) |
ACE_CDR::Boolean | write_float (ACE_CDR::Float x) |
ACE_CDR::Boolean | write_double (const ACE_CDR::Double &x) |
ACE_CDR::Boolean | write_longdouble (const ACE_CDR::LongDouble &x) |
ACE_CDR::Boolean | write_string (const ACE_CDR::Char *x) |
| For string we offer methods that accept a precomputed length.
|
ACE_CDR::Boolean | write_string (ACE_CDR::ULong len, const ACE_CDR::Char *x) |
ACE_CDR::Boolean | write_string (const ACE_CString &x) |
ACE_CDR::Boolean | write_wstring (const ACE_CDR::WChar *x) |
ACE_CDR::Boolean | write_wstring (ACE_CDR::ULong length, const ACE_CDR::WChar *x) |
|
ACE_CDR::Boolean | write_boolean_array (const ACE_CDR::Boolean *x, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_char_array (const ACE_CDR::Char *x, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_wchar_array (const ACE_CDR::WChar *x, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_octet_array (const ACE_CDR::Octet *x, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_short_array (const ACE_CDR::Short *x, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_ushort_array (const ACE_CDR::UShort *x, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_long_array (const ACE_CDR::Long *x, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_ulong_array (const ACE_CDR::ULong *x, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_longlong_array (const ACE_CDR::LongLong *x, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_ulonglong_array (const ACE_CDR::ULongLong *x, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_float_array (const ACE_CDR::Float *x, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_double_array (const ACE_CDR::Double *x, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_longdouble_array (const ACE_CDR::LongDouble *x, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_octet_array_mb (const ACE_Message_Block *mb) |
|
ACE_CDR::Boolean | append_boolean (ACE_InputCDR &) |
ACE_CDR::Boolean | append_char (ACE_InputCDR &) |
ACE_CDR::Boolean | append_wchar (ACE_InputCDR &) |
ACE_CDR::Boolean | append_octet (ACE_InputCDR &) |
ACE_CDR::Boolean | append_short (ACE_InputCDR &) |
ACE_CDR::Boolean | append_ushort (ACE_InputCDR &) |
ACE_CDR::Boolean | append_long (ACE_InputCDR &) |
ACE_CDR::Boolean | append_ulong (ACE_InputCDR &) |
ACE_CDR::Boolean | append_longlong (ACE_InputCDR &) |
ACE_CDR::Boolean | append_ulonglong (ACE_InputCDR &) |
ACE_CDR::Boolean | append_float (ACE_InputCDR &) |
ACE_CDR::Boolean | append_double (ACE_InputCDR &) |
ACE_CDR::Boolean | append_longdouble (ACE_InputCDR &) |
ACE_CDR::Boolean | append_wstring (ACE_InputCDR &) |
ACE_CDR::Boolean | append_string (ACE_InputCDR &) |
Static Public Methods |
void | wchar_maxbytes (int) |
int | wchar_maxbytes (void) |
| access the serialized size of wchars.
|
Protected Attributes |
ACE_CDR::Octet | major_version_ |
| GIOP version information.
|
ACE_CDR::Octet | minor_version_ |
ACE_Char_Codeset_Translator * | char_translator_ |
| If not nil, invoke for translation of character and string data.
|
ACE_WChar_Codeset_Translator * | wchar_translator_ |
Static Protected Attributes |
int | wchar_maxbytes_ = sizeof (ACE_CDR::WChar) |
Private Methods |
| ACE_OutputCDR (const ACE_OutputCDR &rhs) |
| disallow copying...
|
ACE_OutputCDR & | operator= (const ACE_OutputCDR &rhs) |
ACE_CDR::Boolean | write_1 (const ACE_CDR::Octet *x) |
ACE_CDR::Boolean | write_2 (const ACE_CDR::UShort *x) |
ACE_CDR::Boolean | write_4 (const ACE_CDR::ULong *x) |
ACE_CDR::Boolean | write_8 (const ACE_CDR::ULongLong *x) |
ACE_CDR::Boolean | write_16 (const ACE_CDR::LongDouble *x) |
ACE_CDR::Boolean | write_array (const void *x, size_t size, size_t align, ACE_CDR::ULong length) |
ACE_CDR::Boolean | write_wchar_array_i (const ACE_CDR::WChar *x, ACE_CDR::ULong length) |
int | grow_and_adjust (size_t size, size_t align, char *&buf) |
Private Attributes |
ACE_Message_Block | start_ |
| The start of the chain of message blocks.
|
ACE_Message_Block * | current_ |
| The current block in the chain were we are writing.
|
int | current_is_writable_ |
size_t | current_alignment_ |
int | do_byte_swap_ |
int | good_bit_ |
| Set to 0 when an error ocurrs.
|
size_t | memcpy_tradeoff_ |
| Break-even point for copying.
|
Friends |
class | ACE_Char_Codeset_Translator |
class | ACE_WChar_Codeset_Translator |
class | ACE_InputCDR |
This class is based on the the CORBA spec for Java (98-02-29), java class omg.org.CORBA.portable.OutputStream. It diverts in a few ways: + Operations taking arrays don't have offsets, because in C++ it is easier to describe an array starting from x+offset. + Operations return an error status, because exceptions are not widely available in C++ (yet).