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

CDR.h File Reference

#include "ace/pre.h"
#include "tao/corbafwd.h"
#include "ace/CDR_Stream.h"
#include "ace/post.h"

Include dependency graph for CDR.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.

Compounds

class  TAO_InputCDR
 A CDR stream for reading, i.e. for demarshalling. More...

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


Functions

TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, CORBA::Short x)
TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, CORBA::UShort x)
TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, CORBA::Long x)
TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, CORBA::ULong x)
TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, CORBA::LongLong x)
TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, CORBA::ULongLong x)
TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, CORBA::LongDouble x)
TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, CORBA::Float x)
TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, CORBA::Double x)
TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, const CORBA::Char *x)
TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &os, const CORBA::WChar *x)
TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &is, CORBA::Short &x)
TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &is, CORBA::UShort &x)
TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &is, CORBA::Long &x)
TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &is, CORBA::ULong &x)
TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &is, CORBA::LongLong &x)
TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &is, CORBA::ULongLong &x)
TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &is, CORBA::LongDouble &x)
TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &is, CORBA::Float &x)
TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &is, CORBA::Double &x)
TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &is, CORBA::Char *&x)
TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &is, CORBA::WChar *&x)
TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CORBA::ParameterMode &)
TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, CORBA::ParameterMode &)


Detailed Description

Id:
CDR.h,v 1.1.1.3.64.1 2003/04/10 14:04:02 phil Exp

Common Data Representation (CDR) marshaling streams.

This implementation assumes that the native numeric representation is two's complement for integers, IEEE single/double for floats. Also that characters are in ISO Latin/1.

Note that CDR itself makes no such assumptions, but this implementation makes such assumptions for reasons of efficiency. Careful enhancements could preserve that efficiency where the assumptions are true, yet still allow the code to work when they aren't true.

The implementation expects that buffers are aligned according to the strongest CDR alignment restriction.

NOTE: this does everything "CDR 1.1" does ... that is, it supports the five extended OMG-IDL data types in UNO Appendix A, which provide richer arithmetic types (64 bit integers, "quad precision" FP) and UNICODE-based characters and strings. Those types are not standard parts of OMG-IDL at this time.

THREADING NOTE: CDR data structures must be protected against concurrent access by their owning thread.

Author:
Copyright 1994-1995 by Sun Microsystems , Inc. Many enhancements added by Aniruddha Gokhale and Carlos O'Ryan.

Definition in file CDR.h.


Function Documentation

TAO_Export CORBA::Boolean operator<< TAO_OutputCDR  ,
const CORBA::ParameterMode  
 

Definition at line 274 of file CDR.i.

References TAO_Export.

00275 {
00276   CORBA::ULong _tao_temp = _tao_enumval;
00277   return strm << _tao_temp;
00278 }

TAO_Export CORBA::Boolean operator<< TAO_OutputCDR   os,
const CORBA::WChar   x
 

Definition at line 199 of file CDR.i.

References ACE_Message_Block::Message_Flags, ACE_CDR::Octet, and TAO_DEF_GIOP_MINOR.

00201 {
00202   return ACE_static_cast (ACE_OutputCDR &, os) << x;
00203 }

TAO_Export CORBA::Boolean operator<< TAO_OutputCDR   os,
const CORBA::Char   x
 

Definition at line 193 of file CDR.i.

References ACE_CDR_BYTE_ORDER, ACE_Message_Block::Message_Flags, ACE_CDR::Octet, and TAO_DEF_GIOP_MAJOR.

00195 {
00196   return ACE_static_cast (ACE_OutputCDR &, os) << x;
00197 }

TAO_Export CORBA::Boolean operator<< TAO_OutputCDR   os,
CORBA::Double    x
 

Definition at line 187 of file CDR.i.

References ACE_CDR::Octet, TAO_DEF_GIOP_MAJOR, and TAO_DEF_GIOP_MINOR.

00189 {
00190   return ACE_static_cast (ACE_OutputCDR &, os) << x;
00191 }

TAO_Export CORBA::Boolean operator<< TAO_OutputCDR   os,
CORBA::Float    x
 

Definition at line 181 of file CDR.i.

References ACE_CDR_BYTE_ORDER, and TAO_DEF_GIOP_MINOR.

00183 {
00184   return ACE_static_cast (ACE_OutputCDR &, os) << x;
00185 }

TAO_Export CORBA::Boolean operator<< TAO_OutputCDR   os,
CORBA::LongDouble    x
 

Definition at line 175 of file CDR.i.

References ACE_CDR_BYTE_ORDER, ACE_CDR::Octet, and TAO_DEF_GIOP_MAJOR.

00177 {
00178   return ACE_static_cast (ACE_OutputCDR &, os) << x;
00179 }

TAO_Export CORBA::Boolean operator<< TAO_OutputCDR   os,
CORBA::ULongLong    x
 

Definition at line 169 of file CDR.i.

References ACE_CDR::Octet, TAO_DEF_GIOP_MAJOR, and TAO_DEF_GIOP_MINOR.

00171 {
00172   return ACE_static_cast (ACE_OutputCDR &, os) << x;
00173 }

TAO_Export CORBA::Boolean operator<< TAO_OutputCDR   os,
CORBA::LongLong    x
 

Definition at line 163 of file CDR.i.

References ACE_CDR_BYTE_ORDER, and ACE_CDR::Octet.

00165 {
00166   return ACE_static_cast (ACE_OutputCDR &, os) << x;
00167 }

TAO_Export CORBA::Boolean operator<< TAO_OutputCDR   os,
CORBA::ULong    x
 

Definition at line 157 of file CDR.i.

References TAO_Export.

00159 {
00160   return ACE_static_cast (ACE_OutputCDR &, os) << x;
00161 }

TAO_Export CORBA::Boolean operator<< TAO_OutputCDR   os,
CORBA::Long    x
 

Definition at line 151 of file CDR.i.

00153 {
00154   return ACE_static_cast (ACE_OutputCDR &, os) << x;
00155 }

TAO_Export CORBA::Boolean operator<< TAO_OutputCDR   os,
CORBA::UShort    x
 

Definition at line 145 of file CDR.i.

00147 {
00148   return ACE_static_cast (ACE_OutputCDR &, os) << x;
00149 }

TAO_Export CORBA::Boolean operator<< TAO_OutputCDR   os,
CORBA::Short    x
 

Definition at line 139 of file CDR.i.

00141 {
00142   return ACE_static_cast (ACE_OutputCDR &, os) << x;
00143 }

TAO_Export CORBA::Boolean operator>> TAO_InputCDR  ,
CORBA::ParameterMode  
 

Definition at line 281 of file CDR.i.

References TAO_Export.

00282 {
00283   CORBA::ULong _tao_temp = 0;
00284   CORBA::Boolean _tao_result = strm >> _tao_temp;
00285 
00286   if (_tao_result == 1)
00287     {
00288       _tao_enumval = ACE_static_cast (CORBA::ParameterMode, _tao_temp);
00289     }
00290 
00291   return _tao_result;
00292 }

TAO_Export CORBA::Boolean operator>> TAO_InputCDR   is,
CORBA::WChar *&    x
 

Definition at line 267 of file CDR.i.

00269 {
00270   return ACE_static_cast (ACE_InputCDR &, is) >> x;
00271 }

TAO_Export CORBA::Boolean operator>> TAO_InputCDR   is,
CORBA::Char *&    x
 

Definition at line 261 of file CDR.i.

References ACE_ENV_ARG_DECL.

00263 {
00264   return ACE_static_cast (ACE_InputCDR &, is) >> x;
00265 }

TAO_Export CORBA::Boolean operator>> TAO_InputCDR   is,
CORBA::Double   x
 

Definition at line 255 of file CDR.i.

References ACE_ENV_ARG_DECL.

00257 {
00258   return ACE_static_cast (ACE_InputCDR &, is) >> x;
00259 }

TAO_Export CORBA::Boolean operator>> TAO_InputCDR   is,
CORBA::Float   x
 

Definition at line 249 of file CDR.i.

00251 {
00252   return ACE_static_cast (ACE_InputCDR &, is) >> x;
00253 }

TAO_Export CORBA::Boolean operator>> TAO_InputCDR   is,
CORBA::LongDouble   x
 

Definition at line 243 of file CDR.i.

00245 {
00246   return ACE_static_cast (ACE_InputCDR &, is) >> x;
00247 }

TAO_Export CORBA::Boolean operator>> TAO_InputCDR   is,
CORBA::ULongLong   x
 

Definition at line 237 of file CDR.i.

00239 {
00240   return ACE_static_cast (ACE_InputCDR &, is) >> x;
00241 }

TAO_Export CORBA::Boolean operator>> TAO_InputCDR   is,
CORBA::LongLong   x
 

Definition at line 231 of file CDR.i.

00233 {
00234   return ACE_static_cast (ACE_InputCDR &, is) >> x;
00235 }

TAO_Export CORBA::Boolean operator>> TAO_InputCDR   is,
CORBA::ULong   x
 

Definition at line 225 of file CDR.i.

References ACE_CDR::Long.

00227 {
00228   return ACE_static_cast (ACE_InputCDR &, is) >> x;
00229 }

TAO_Export CORBA::Boolean operator>> TAO_InputCDR   is,
CORBA::Long   x
 

Definition at line 219 of file CDR.i.

00221 {
00222   return ACE_static_cast(ACE_InputCDR&,is) >> x;
00223 }

TAO_Export CORBA::Boolean operator>> TAO_InputCDR   is,
CORBA::UShort   x
 

Definition at line 213 of file CDR.i.

00215 {
00216   return ACE_static_cast (ACE_InputCDR &, is) >> x;
00217 }

TAO_Export CORBA::Boolean operator>> TAO_InputCDR   is,
CORBA::Short   x
 

Definition at line 207 of file CDR.i.

References ACE_CDR_BYTE_ORDER, ACE_CDR::Octet, TAO_DEF_GIOP_MAJOR, and TAO_DEF_GIOP_MINOR.

00209 {
00210   return ACE_static_cast (ACE_InputCDR &, is) >> x;
00211 }


Generated on Mon Jun 16 13:54:46 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002