CDR_Stream.h File Reference

#include "ace/CDR_Base.h"
#include "ace/SStringfwd.h"
#include "ace/Message_Block.h"
#include "ace/CDR_Stream.inl"

Include dependency graph for CDR_Stream.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.


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

struct  ACE_OutputCDR::from_boolean
struct  ACE_OutputCDR::from_octet
struct  ACE_OutputCDR::from_char
struct  ACE_OutputCDR::from_wchar
struct  ACE_OutputCDR::from_string
struct  ACE_OutputCDR::from_wstring
class  ACE_InputCDR
 A CDR stream for reading, i.e. for demarshalling. More...

struct  ACE_InputCDR::Transfer_Contents
struct  ACE_InputCDR::to_boolean
struct  ACE_InputCDR::to_char
struct  ACE_InputCDR::to_wchar
struct  ACE_InputCDR::to_octet
struct  ACE_InputCDR::to_string
struct  ACE_InputCDR::to_wstring
class  ACE_Char_Codeset_Translator
 Codeset translation routines common to both Output and Input CDR streams. More...

class  ACE_WChar_Codeset_Translator
 Codeset translation routines common to both Output and Input CDR streams. More...


#define ACE_CDR_BYTE_ORDER   0


ACE_Export ACE_CDR::Boolean operator<< (ACE_OutputCDR &os, const ACE_CString &x)
ACE_Export ACE_CDR::Boolean operator>> (ACE_InputCDR &is, ACE_CString &x)



Detailed Description

CDR_Stream.h,v 1.93 2006/04/25 16:49:26 mesnier_p Exp

ACE Common Data Representation (CDR) marshaling and demarshaling classes.

This implementation was inspired in the CDR class in SunSoft's IIOP engine, but has a completely different implementation and a different interface too.

The current implementation assumes that the host has 1-byte, 2-byte and 4-byte integral types, and that it has single precision and double precision IEEE floats. Those assumptions are pretty good these days, with Crays beign the only known exception.

Optimizations ------------- ACE_LACKS_CDR_ALIGNMENT

Arvind S. Krishna <>
CDR stream ignores alignment when marshaling data. Use this option only when ACE_DISABLE_SWAP_ON_READ can be enabled. This option requires ACE CDR engine to do both marshaling and demarshaling.

TAO version by Aniruddha Gokhale <>

Carlos O'Ryan <>

ACE version by Jeff Parsons <>

Istvan Buki <>

Codeset translation by Jim Rogers <>

Definition in file CDR_Stream.h.

Define Documentation

#define ACE_CDR_BYTE_ORDER   0

Definition at line 60 of file CDR_Stream.h.

Referenced by ACE_InputCDR::ACE_InputCDR(), ACE_OutputCDR::ACE_OutputCDR(), ACE_InputCDR::byte_order(), ACE_OutputCDR::byte_order(), ACE_Log_Msg_IPC::log(), ACE_InputCDR::reset_byte_order(), and ACE_OutputCDR::reset_byte_order().

Function Documentation

ACE_Export ACE_CDR::Boolean operator<< ACE_OutputCDR os,
const ACE_CString x

Definition at line 1703 of file CDR_Stream.cpp.

References ACE_CString, ACE_OutputCDR::good_bit(), and ACE_OutputCDR::write_string().

01704 {
01705   os.write_string (x);
01706   return os.good_bit ();
01707 }

ACE_Export ACE_CDR::Boolean operator>> ACE_InputCDR is,
ACE_CString x

Definition at line 1710 of file CDR_Stream.cpp.

References ACE_CString, ACE_InputCDR::good_bit(), and ACE_InputCDR::read_string().

01711 {
01712   is.read_string (x);
01713   return is.good_bit ();
01714 }

Variable Documentation


The Codeset translators need access to some private members to efficiently marshal arrays For reading from an output CDR stream.

Definition at line 67 of file CDR_Stream.h.

Generated on Thu Nov 9 09:59:44 2006 for ACE by doxygen 1.3.6