Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# TAO_OutputCDR Class Reference

A CDR stream for writing, i.e. for marshalling. More...

`#include <CDR.h>`

Inheritance diagram for TAO_OutputCDR

[legend]
Collaboration diagram for TAO_OutputCDR:

[legend]
List of all members.

## Public Methods
| TAO_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 = 0, ACE_CDR::Octet major_version = TAO_DEF_GIOP_MAJOR, ACE_CDR::Octet minor_version = TAO_DEF_GIOP_MINOR, ACE_Char_Codeset_Translator *char_translator = 0, ACE_WChar_Codeset_Translator *wchar_translator = 0)
| Default constructor, allocates <size> bytes in the internal buffer, if <size> == 0 it allocates the default size.
| TAO_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 = 0, ACE_CDR::Octet major_version = TAO_DEF_GIOP_MAJOR, ACE_CDR::Octet minor_version = TAO_DEF_GIOP_MINOR, ACE_Char_Codeset_Translator *char_translator = 0, ACE_WChar_Codeset_Translator *wchar_translator = 0)
| Build a CDR stream with an initial buffer, it will *not* remove <data>, since it did not allocated it.
| TAO_OutputCDR (ACE_Message_Block *data, int byte_order = ACE_CDR_BYTE_ORDER, size_t memcpy_tradeoff = 0, ACE_CDR::Octet major_version = TAO_DEF_GIOP_MAJOR, ACE_CDR::Octet minor_version = TAO_DEF_GIOP_MINOR, ACE_Char_Codeset_Translator *char_translator = 0, ACE_WChar_Codeset_Translator *wchar_translator = 0)
| Build a CDR stream with an initial Message_Block chain, it will *not* remove <data>, since it did not allocate it.
| ~TAO_OutputCDR (void)
| Destructor.
## Private Methods
| TAO_OutputCDR (const TAO_OutputCDR& rhs)
| disallow copying...
TAO_OutputCDR& | operator= (const TAO_OutputCDR& rhs)
## Friends
class | TAO_InputCDR

## Detailed Description

A CDR stream for writing, i.e. for marshalling.

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). A particularly useful static member function for this buffer is an interpretive encoding routine, usable as a typecode interpreter callback. Ditto for decoding. These are used to support all OMG-IDL datatypes, even those not supported directly by put/get primitives.

## Constructor & Destructor Documentation

TAO_OutputCDR::TAO_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 = 0,
| ACE_CDR::Octet major_version = TAO_DEF_GIOP_MAJOR,
| ACE_CDR::Octet minor_version = TAO_DEF_GIOP_MINOR,
| ACE_Char_Codeset_Translator * char_translator = 0,
| ACE_WChar_Codeset_Translator * wchar_translator = 0 )`[inline]`

| Default constructor, allocates <size> bytes in the internal buffer, if <size> == 0 it allocates the default size.

TAO_OutputCDR::TAO_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 = 0,
| ACE_CDR::Octet major_version = TAO_DEF_GIOP_MAJOR,
| ACE_CDR::Octet minor_version = TAO_DEF_GIOP_MINOR,
| ACE_Char_Codeset_Translator * char_translator = 0,
| ACE_WChar_Codeset_Translator * wchar_translator = 0 )

| Build a CDR stream with an initial buffer, it will *not* remove <data>, since it did not allocated it.

TAO_OutputCDR::TAO_OutputCDR ( | ACE_Message_Block * data,
| int byte_order = ACE_CDR_BYTE_ORDER,
| size_t memcpy_tradeoff = 0,
| ACE_CDR::Octet major_version = TAO_DEF_GIOP_MAJOR,
| ACE_CDR::Octet minor_version = TAO_DEF_GIOP_MINOR,
| ACE_Char_Codeset_Translator * char_translator = 0,
| ACE_WChar_Codeset_Translator * wchar_translator = 0 )

| Build a CDR stream with an initial Message_Block chain, it will *not* remove <data>, since it did not allocate it.

ACE_INLINE TAO_OutputCDR::~TAO_OutputCDR ( | void )

| Destructor.

TAO_OutputCDR::TAO_OutputCDR ( | const TAO_OutputCDR & rhs )`[private]`

| disallow copying...

## Member Function Documentation

TAO_OutputCDR& TAO_OutputCDR::operator= ( | const TAO_OutputCDR & rhs )`[private]`

## Friends And Related Function Documentation

class TAO_InputCDR`[friend]`

| For reading from a output CDR stream.

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

- CDR.h
- CDR.cpp
- CDR.i