Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TAO::TypeCode::Struct_Field< StringType, TypeCodeType > Struct Template Reference

Name/type pair for fields of an OMG IDL defined structure or exception. More...

#include <TypeCode_Struct_Field.h>

Collaboration diagram for TAO::TypeCode::Struct_Field< StringType, TypeCodeType >:

Collaboration graph
[legend]
List of all members.

Public Attributes

StringType name
 The name of the field.
TypeCodeType type
 The CORBA::TypeCode of the field.

Detailed Description

template<typename StringType, typename TypeCodeType>
struct TAO::TypeCode::Struct_Field< StringType, TypeCodeType >

Name/type pair for fields of an OMG IDL defined structure or exception.

A Struct_Field contains the corresponding name and pointer to the CORBA::TypeCode for a given OMG IDL defined type. For example, the fields in following OMG IDL structure:

   struct Foo
   {
     long   the_number;
     string the_string;
   };

would be represented using the following statically instantiated TAO::TypeCode::Struct_Field array:

   TAO::TypeCode::Struct_Field<char const *> _tao_fields_Foo[] =
     {
       { "the_number", &CORBA::_tc_long },
       { "the_string", &CORBA::_tc_string },
     };

The template parameter STRING_TYPE is either char const * or CORBA::String_var. The latter is only used when creating CORBA::tk_struct or CORBA::tk_except TypeCodes dynamically, such as through the TypeCodeFactory.


Member Data Documentation

template<typename StringType, typename TypeCodeType>
StringType TAO::TypeCode::Struct_Field< StringType, TypeCodeType >::name
 

The name of the field.

template<typename StringType, typename TypeCodeType>
TypeCodeType TAO::TypeCode::Struct_Field< StringType, TypeCodeType >::type
 

The CORBA::TypeCode of the field.


The documentation for this struct was generated from the following file:
Generated on Sun May 15 13:11:49 2005 for TAO by  doxygen 1.3.9.1