Any.h File Reference

#include "tao/AnyTypeCode/TAO_AnyTypeCode_Export.h"
#include "tao/AnyTypeCode/AnyTypeCode_methods.h"
#include "tao/Pseudo_VarOut_T.h"
#include "tao/Arg_Traits_T.h"
#include "tao/Object.h"
#include "ace/CDR_Stream.h"
#include "tao/AnyTypeCode/Any.inl"

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

Namespaces

namespace  TAO
namespace  CORBA

Functions

TAO_AnyTypeCode_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CORBA::Any &)
TAO_AnyTypeCode_Export CORBA::Boolean operator>> (TAO_InputCDR &, CORBA::Any &)
TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, CORBA::Short)
 Typesafe insertion.

TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, CORBA::UShort)
TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, CORBA::Long)
TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, CORBA::ULong)
TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, CORBA::Float)
TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, CORBA::Double)
TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, const CORBA::Any &)
TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, CORBA::Any *)
TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, const char *)
TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, const CORBA::WChar *)
TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, CORBA::TypeCode_ptr)
TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, CORBA::TypeCode_ptr *)
TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, const CORBA::Object_ptr)
TAO_AnyTypeCode_Export void operator<<= (CORBA::Any &, CORBA::Object_ptr *)
TAO_AnyTypeCode_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::Short &)
 Typesafe extraction.

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::UShort &)
TAO_AnyTypeCode_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::Long &)
TAO_AnyTypeCode_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::ULong &)
TAO_AnyTypeCode_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::LongLong &)
TAO_AnyTypeCode_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::ULongLong &)
TAO_AnyTypeCode_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::Float &)
TAO_AnyTypeCode_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::Double &)
TAO_AnyTypeCode_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::LongDouble &)
TAO_AnyTypeCode_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CORBA::Any *&)
TAO_AnyTypeCode_Export CORBA::Boolean operator>>= (const CORBA::Any &, CORBA::TypeCode_ptr &)
TAO_AnyTypeCode_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CORBA::Char *&)
TAO_AnyTypeCode_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CORBA::WChar *&)


Detailed Description

Id
Any.h 78809 2007-07-06 10:24:12Z parsons

Author:
Carlos O'Ryan

Jeff Parsons

Definition in file Any.h.


Function Documentation

TAO_AnyTypeCode_Export CORBA::Boolean operator<< TAO_OutputCDR ,
const CORBA::Any
 

Definition at line 253 of file Any.cpp.

References CORBA::Any::impl(), and TAO::Any_Impl::marshal().

00254 {
00255   TAO::Any_Impl *impl = any.impl ();
00256 
00257   if (impl != 0)
00258     {
00259       return impl->marshal (cdr);
00260     }
00261 
00262   return (cdr << CORBA::_tc_null);
00263 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
CORBA::Object_ptr
 

Definition at line 480 of file Any.cpp.

References TAO::Any_Impl_T< T >::insert().

00481 {
00482   TAO::Any_Impl_T<CORBA::Object>::insert (any,
00483                                           CORBA::Object::_tao_any_destructor,
00484                                           CORBA::_tc_Object,
00485                                           *objptr);
00486 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
const CORBA::Object_ptr 
 

Definition at line 472 of file Any.cpp.

References CORBA::Object::_duplicate().

00473 {
00474   CORBA::Object_ptr dup = CORBA::Object::_duplicate (obj);
00475   any <<= &dup;
00476 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
CORBA::TypeCode_ptr
 

Definition at line 460 of file Any.cpp.

References TAO::Any_Impl_T< T >::insert().

00461 {
00462   TAO::Any_Impl_T<CORBA::TypeCode>::insert (
00463       any,
00464       CORBA::TypeCode::_tao_any_destructor,
00465       CORBA::_tc_TypeCode,
00466       *tc
00467     );
00468 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
CORBA::TypeCode_ptr 
 

Definition at line 452 of file Any.cpp.

References CORBA::TypeCode::_duplicate().

00453 {
00454   CORBA::TypeCode_ptr dup = CORBA::TypeCode::_duplicate (tc);
00455   any <<= &dup;
00456 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
const CORBA::WChar
 

Definition at line 506 of file Any.cpp.

References CORBA::Any::from_wstring, CORBA::Any::to_wstring, and CORBA::wstring_dup().

00507 {
00508   TAO::Any_Special_Impl_T<
00509       CORBA::WChar,
00510       CORBA::Any::from_wstring,
00511       CORBA::Any::to_wstring
00512     >::insert (any,
00513                TAO::Any_Impl::_tao_any_wstring_destructor,
00514                CORBA::_tc_wstring,
00515                CORBA::wstring_dup (ws),
00516                0);
00517 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
const char * 
 

Definition at line 492 of file Any.cpp.

References CORBA::Any::from_string, CORBA::string_dup(), and CORBA::Any::to_string.

00493 {
00494   TAO::Any_Special_Impl_T<
00495       char,
00496       CORBA::Any::from_string,
00497       CORBA::Any::to_string
00498     >::insert (any,
00499                TAO::Any_Impl::_tao_any_string_destructor,
00500                CORBA::_tc_string,
00501                CORBA::string_dup (s),
00502                0);
00503 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
CORBA::Any
 

Definition at line 442 of file Any.cpp.

References TAO::Any_Dual_Impl_T< T >::insert().

00443 {
00444   TAO::Any_Dual_Impl_T<CORBA::Any>::insert (any,
00445                                             CORBA::Any::_tao_any_destructor,
00446                                             CORBA::_tc_any,
00447                                             a);
00448 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
const CORBA::Any
 

Definition at line 427 of file Any.cpp.

References TAO::Any_Dual_Impl_T< T >::insert_copy().

00428 {
00429   if (0 == &a) // Trying to de-reference NULL Any
00430     any <<= static_cast<CORBA::Any *>( 0 ); // Use non-copying insertion of a NULL
00431   else
00432     TAO::Any_Dual_Impl_T<CORBA::Any>::insert_copy (
00433         any,
00434         CORBA::Any::_tao_any_destructor,
00435         CORBA::_tc_any,
00436         a
00437       );
00438 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
CORBA::Double 
 

Definition at line 414 of file Any.cpp.

References TAO::Any_Basic_Impl::insert().

00415 {
00416   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_double, &d);
00417 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
CORBA::Float 
 

Definition at line 408 of file Any.cpp.

References TAO::Any_Basic_Impl::insert().

00409 {
00410   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_float, &f);
00411 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
CORBA::ULong 
 

Definition at line 390 of file Any.cpp.

References TAO::Any_Basic_Impl::insert().

00391 {
00392   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_ulong, &ul);
00393 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
CORBA::Long 
 

Definition at line 384 of file Any.cpp.

References TAO::Any_Basic_Impl::insert().

00385 {
00386   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_long, &l);
00387 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
CORBA::UShort 
 

Definition at line 378 of file Any.cpp.

References TAO::Any_Basic_Impl::insert().

00379 {
00380   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_ushort, &us);
00381 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any ,
CORBA::Short 
 

Typesafe insertion.

Definition at line 372 of file Any.cpp.

References TAO::Any_Basic_Impl::insert().

00373 {
00374   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_short, &s);
00375 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>> TAO_InputCDR ,
CORBA::Any
 

Definition at line 266 of file Any.cpp.

References TAO::Unknown_IDL_Type::_tao_decode(), ACE_NEW_RETURN, and CORBA::Any::replace().

00267 {
00268   CORBA::TypeCode_var tc;
00269 
00270   if ((cdr >> tc.out ()) == 0)
00271     {
00272       return false;
00273     }
00274 
00275   try
00276     {
00277       TAO::Unknown_IDL_Type *impl = 0;
00278       ACE_NEW_RETURN (impl,
00279                       TAO::Unknown_IDL_Type (tc.in ()),
00280                       false);
00281 
00282       any.replace (impl);
00283       impl->_tao_decode (cdr);
00284     }
00285   catch (const ::CORBA::Exception&)
00286     {
00287       return false;
00288     }
00289 
00290   return true;
00291 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= const CORBA::Any ,
const CORBA::WChar *& 
 

Definition at line 699 of file Any.cpp.

References CORBA::Any::from_wstring, and CORBA::Any::to_wstring.

00700 {
00701   return
00702     TAO::Any_Special_Impl_T<
00703         CORBA::WChar,
00704         CORBA::Any::from_wstring,
00705         CORBA::Any::to_wstring
00706       >::extract (any,
00707                   TAO::Any_Impl::_tao_any_wstring_destructor,
00708                   CORBA::_tc_wstring,
00709                   ws,
00710                   0);
00711 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= const CORBA::Any ,
const CORBA::Char *& 
 

Definition at line 684 of file Any.cpp.

References CORBA::Any::from_string, and CORBA::Any::to_string.

00685 {
00686   return
00687     TAO::Any_Special_Impl_T<
00688         char,
00689         CORBA::Any::from_string,
00690         CORBA::Any::to_string
00691       >::extract (any,
00692                   TAO::Any_Impl::_tao_any_string_destructor,
00693                   CORBA::_tc_string,
00694                   s,
00695                   0);
00696 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= const CORBA::Any ,
CORBA::TypeCode_ptr
 

Definition at line 714 of file Any.cpp.

References TAO::Any_Impl_T< T >::extract().

00715 {
00716   return TAO::Any_Impl_T<CORBA::TypeCode>::extract (
00717       any,
00718       CORBA::TypeCode::_tao_any_destructor,
00719       CORBA::_tc_TypeCode,
00720       tc
00721     );
00722 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= const CORBA::Any ,
const CORBA::Any *& 
 

Definition at line 673 of file Any.cpp.

References TAO::Any_Dual_Impl_T< T >::extract().

00674 {
00675   return TAO::Any_Dual_Impl_T<CORBA::Any>::extract (
00676       any,
00677       CORBA::Any::_tao_any_destructor,
00678       CORBA::_tc_any,
00679       a
00680     );
00681 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= const CORBA::Any ,
CORBA::LongDouble
 

Definition at line 664 of file Any.cpp.

References TAO::Any_Basic_Impl::extract().

00665 {
00666   return
00667     TAO::Any_Basic_Impl::extract (any,
00668                                   CORBA::_tc_longdouble,
00669                                   &ld);
00670 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= const CORBA::Any ,
CORBA::Double
 

Definition at line 656 of file Any.cpp.

References TAO::Any_Basic_Impl::extract().

00657 {
00658   return TAO::Any_Basic_Impl::extract (any,
00659                                        CORBA::_tc_double,
00660                                        &d);
00661 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= const CORBA::Any ,
CORBA::Float
 

Definition at line 648 of file Any.cpp.

References TAO::Any_Basic_Impl::extract().

00649 {
00650   return TAO::Any_Basic_Impl::extract (any,
00651                                        CORBA::_tc_float,
00652                                        &f);
00653 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= const CORBA::Any ,
CORBA::ULongLong
 

Definition at line 639 of file Any.cpp.

References TAO::Any_Basic_Impl::extract().

00640 {
00641   return
00642     TAO::Any_Basic_Impl::extract (any,
00643                                   CORBA::_tc_ulonglong,
00644                                   &ull);
00645 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= const CORBA::Any ,
CORBA::LongLong
 

Definition at line 630 of file Any.cpp.

References TAO::Any_Basic_Impl::extract().

00631 {
00632   return
00633     TAO::Any_Basic_Impl::extract (any,
00634                                   CORBA::_tc_longlong,
00635                                   &ll);
00636 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= const CORBA::Any ,
CORBA::ULong
 

Definition at line 622 of file Any.cpp.

References TAO::Any_Basic_Impl::extract().

00623 {
00624   return TAO::Any_Basic_Impl::extract (any,
00625                                        CORBA::_tc_ulong,
00626                                        &ul);
00627 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= const CORBA::Any ,
CORBA::Long
 

Definition at line 614 of file Any.cpp.

References TAO::Any_Basic_Impl::extract().

00615 {
00616   return TAO::Any_Basic_Impl::extract (any,
00617                                        CORBA::_tc_long,
00618                                        &l);
00619 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= const CORBA::Any ,
CORBA::UShort
 

Definition at line 606 of file Any.cpp.

References TAO::Any_Basic_Impl::extract().

00607 {
00608   return TAO::Any_Basic_Impl::extract (any,
00609                                        CORBA::_tc_ushort,
00610                                        &us);
00611 }

TAO_AnyTypeCode_Export CORBA::Boolean operator>>= const CORBA::Any ,
CORBA::Short
 

Typesafe extraction.

Definition at line 600 of file Any.cpp.

References TAO::Any_Basic_Impl::extract().

00601 {
00602   return TAO::Any_Basic_Impl::extract (any, CORBA::_tc_short, &s);
00603 }


Generated on Sun Jan 27 13:21:09 2008 for TAO_AnyTypeCode by doxygen 1.3.6