A CDR stream for marshalling data, most often for transmission to another system which may or may not have the same byte order.
More...
|
| ACE_OutputCDR (size_t size=0, int byte_order=ACE_CDR::BYTE_ORDER_NATIVE, 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_NATIVE, 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_Data_Block *data_block, int byte_order=ACE_CDR::BYTE_ORDER_NATIVE, 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_NATIVE, 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 () |
| destructor
|
|
|
Return 0 on failure and 1 on success.
|
ACE_CDR::Boolean | write_boolean (ACE_CDR::Boolean x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_char (ACE_CDR::Char x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_wchar (ACE_CDR::WChar x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_octet (ACE_CDR::Octet x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_short (ACE_CDR::Short x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_ushort (ACE_CDR::UShort x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_long (ACE_CDR::Long x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_ulong (ACE_CDR::ULong x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_longlong (const ACE_CDR::LongLong &x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_ulonglong (const ACE_CDR::ULongLong &x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_float (ACE_CDR::Float x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_double (const ACE_CDR::Double &x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_longdouble (const ACE_CDR::LongDouble &x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_fixed (const ACE_CDR::Fixed &x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_int8 (ACE_CDR::Int8 x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_uint8 (ACE_CDR::UInt8 x) |
| For string we offer methods that accept a precomputed length.
|
|
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) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_string (const ACE_CString &x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_wstring (const ACE_CDR::WChar *x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_wstring (ACE_CDR::ULong length, const ACE_CDR::WChar *x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_string (const std::string &x) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_wstring (const std::wstring &x) |
| For string we offer methods that accept a precomputed length.
|
|
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) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_wchar_array (const ACE_CDR::WChar *x, ACE_CDR::ULong length) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_octet_array (const ACE_CDR::Octet *x, ACE_CDR::ULong length) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_short_array (const ACE_CDR::Short *x, ACE_CDR::ULong length) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_ushort_array (const ACE_CDR::UShort *x, ACE_CDR::ULong length) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_long_array (const ACE_CDR::Long *x, ACE_CDR::ULong length) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_ulong_array (const ACE_CDR::ULong *x, ACE_CDR::ULong length) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_longlong_array (const ACE_CDR::LongLong *x, ACE_CDR::ULong length) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_ulonglong_array (const ACE_CDR::ULongLong *x, ACE_CDR::ULong length) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_float_array (const ACE_CDR::Float *x, ACE_CDR::ULong length) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_double_array (const ACE_CDR::Double *x, ACE_CDR::ULong length) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_longdouble_array (const ACE_CDR::LongDouble *x, ACE_CDR::ULong length) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_int8_array (const ACE_CDR::Int8 *x, ACE_CDR::ULong length) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_uint8_array (const ACE_CDR::UInt8 *x, ACE_CDR::ULong length) |
| For string we offer methods that accept a precomputed length.
|
|
ACE_CDR::Boolean | write_octet_array_mb (const ACE_Message_Block *mb) |
|
|
Facilitates writing a placeholder into a CDR stream to be replaced later with a different value.
- Note
- An example use for this facility is:
...
char * pos = strm.write_long_placeholder ();
...
ACE_INT32 Long Definition CDR_Base.h:206
A CDR stream for marshalling data, most often for transmission to another system which may or may not... Definition CDR_Stream.h:83
This class inherits the interface of the abstract ACE_Dumpable class and is instantiated with the imp... Definition Dump_T.h:39
|
ACE_Message_Block | start_ |
| The start of the chain of message blocks.
|
|
ACE_Message_Block * | current_ |
| The current block in the chain where we are writing.
|
|
size_t | current_alignment_ |
|
bool | current_is_writable_ |
|
bool | do_byte_swap_ |
|
bool | good_bit_ |
| Set to false when an error ocurrs.
|
|
size_t const | memcpy_tradeoff_ |
| Break-even point for copying.
|
|
ACE_CDR::Octet | major_version_ |
| GIOP version information.
|
|
ACE_CDR::Octet | minor_version_ |
| The start of the chain of message blocks.
|
|
ACE_Char_Codeset_Translator * | char_translator_ |
| If not nil, invoke for translation of character and string data.
|
|
ACE_WChar_Codeset_Translator * | wchar_translator_ |
| The start of the chain of message blocks.
|
|
static size_t | wchar_maxbytes_ = sizeof (ACE_CDR::WChar) |
|
char * | write_long_placeholder () |
|
char * | write_short_placeholder () |
| The start of the chain of message blocks.
|
|
char * | write_boolean_placeholder () |
| The start of the chain of message blocks.
|
|
char * | write_char_placeholder () |
| The start of the chain of message blocks.
|
|
char * | write_longlong_placeholder () |
| The start of the chain of message blocks.
|
|
char * | write_octet_placeholder () |
| The start of the chain of message blocks.
|
|
char * | write_float_placeholder () |
| The start of the chain of message blocks.
|
|
char * | write_double_placeholder () |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | replace (ACE_CDR::Long x, char *loc) |
|
ACE_CDR::Boolean | replace (ACE_CDR::ULong x, char *loc) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | replace (ACE_CDR::Short x, char *loc) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | replace (ACE_CDR::UShort x, char *loc) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | replace (ACE_CDR::Boolean x, char *loc) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | replace (ACE_CDR::Char x, char *loc) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | replace (ACE_CDR::LongLong x, char *loc) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | replace (ACE_CDR::ULongLong x, char *loc) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | replace (ACE_CDR::Octet x, char *loc) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | replace (ACE_CDR::Float x, char *loc) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | replace (ACE_CDR::Double x, char *loc) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_boolean (ACE_InputCDR &) |
|
ACE_CDR::Boolean | append_char (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_wchar (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_octet (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_short (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_ushort (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_long (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_ulong (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_longlong (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_ulonglong (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_float (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_double (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_longdouble (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_fixed (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_wstring (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | append_string (ACE_InputCDR &) |
| The start of the chain of message blocks.
|
|
bool | good_bit () const |
| Returns false if an error has occurred.
|
|
void | reset () |
| Reuse the CDR stream to write on the old buffer.
|
|
size_t | total_length () const |
| Add the length of each message block in the chain.
|
|
const ACE_Message_Block * | begin () const |
|
const ACE_Message_Block * | end () const |
| Return the last message in the chain that is is use.
|
|
const ACE_Message_Block * | current () const |
| Return the <current_> message block in chain.
|
|
int | consolidate () |
| Replace the message block chain with a single message block.
|
|
const char * | buffer () const |
|
size_t | length () const |
|
int | align_write_ptr (size_t alignment) |
|
ACE_Char_Codeset_Translator * | char_translator () const |
| Access the codeset translators. They can be null!
|
|
ACE_WChar_Codeset_Translator * | wchar_translator () const |
| The start of the chain of message blocks.
|
|
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 () const |
|
void | current_alignment (size_t current_alignment) |
| The start of the chain of message blocks.
|
|
int | adjust (size_t size, char *&buf) |
|
int | adjust (size_t size, size_t align, char *&buf) |
|
bool | do_byte_swap () const |
|
int | byte_order () const |
|
void | reset_byte_order (int byte_order) |
|
void | set_version (ACE_CDR::Octet major, ACE_CDR::Octet minor) |
| Set GIOP version info.
|
|
void | get_version (ACE_CDR::Octet &major, ACE_CDR::Octet &minor) |
| Set the underlying GIOP version..
|
|
static void | wchar_maxbytes (size_t max_bytes) |
|
static size_t | wchar_maxbytes () |
| access the serialized size of wchars.
|
|
ACE_Message_Block * | find (char *loc) |
| The start of the chain of message blocks.
|
|
| ACE_OutputCDR (const ACE_OutputCDR &)=delete |
| The start of the chain of message blocks.
|
|
ACE_OutputCDR & | operator= (const ACE_OutputCDR &)=delete |
| The start of the chain of message blocks.
|
|
| ACE_OutputCDR (ACE_OutputCDR &&)=delete |
| The start of the chain of message blocks.
|
|
ACE_OutputCDR & | operator= (ACE_OutputCDR &&)=delete |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | write_1 (const ACE_CDR::Octet *x) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | write_2 (const ACE_CDR::UShort *x) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | write_4 (const ACE_CDR::ULong *x) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | write_8 (const ACE_CDR::ULongLong *x) |
| The start of the chain of message blocks.
|
|
ACE_CDR::Boolean | write_16 (const ACE_CDR::LongDouble *x) |
| The start of the chain of message blocks.
|
|
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) |
| The start of the chain of message blocks.
|
|
int | grow_and_adjust (size_t size, size_t align, char *&buf) |
|
A CDR stream for marshalling data, most often for transmission to another system which may or may not have the same byte order.
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).