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

Inheritance graph
[legend]
Collaboration diagram for TAO_OutputCDR:

Collaboration graph
[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:
Generated at Wed Nov 21 11:45:11 2001 for TAO by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000