RTI Connext C API Version 7.3.0
DDS_TypeCodePrintFormatProperty Struct Reference

A collection of attributes used to configure how a TypeCode appears when converted to a string. More...

Data Fields

DDS_Long indent
 Configures how much indent should be added to the string representation of a DDS_TypeCode. More...
 
DDS_Boolean print_ordinals
 Configures whether or not to print the ordinal value of each enumerator within a DDS_TypeCode. More...
 
DDS_TypeCodePrintFormatKind print_kind
 Configures whether the type should be printed in XML or IDL format. More...
 
DDS_Boolean print_complete_type
 Configures whether or not to print the complete type. More...
 

Detailed Description

A collection of attributes used to configure how a TypeCode appears when converted to a string.

To ensure that new objects are initialized to a known value, assign them with the static initializer DDS_TypeCode_PrintFormat_INITIALIZER.

Field Documentation

◆ indent

DDS_Long DDS_TypeCodePrintFormatProperty::indent

Configures how much indent should be added to the string representation of a DDS_TypeCode.

Configures how much additional indent is applied when converting a TypeCode to a string. This value acts as a total offset on the string, increasing the indent applied to all elements by the same amount. With an indent of 0, a string representation of a TypeCode may appear as:

 struct myType {
  
     long x;
  
 };

Using an indent of 1, the same TypeCode would be printed as:

     struct myType {
  
         long x;
  
     };

I.e., the entire structure is indented.

◆ print_ordinals

DDS_Boolean DDS_TypeCodePrintFormatProperty::print_ordinals

Configures whether or not to print the ordinal value of each enumerator within a DDS_TypeCode.

When set to true, the ordinal value of each enumerator within an enum will be printed, otherwise only non-default ordinals are printed. Take for example the following enum:

 enum myEnum {
  
     RED,
  
     GREEN = 3,
  
     BLUE,
  
 };

When print_ordinals is set to false it would be printed as:

 enum myEnum {
  
     RED,
  
     GREEN = 3,
  
     BLUE,
  
 };

But with print_ordinals set to true it would be printed as:

 enum myEnum {
  
     RED = 0,
  
     GREEN = 3,
  
     BLUE = 4,
  
 };

◆ print_kind

DDS_TypeCodePrintFormatKind DDS_TypeCodePrintFormatProperty::print_kind

Configures whether the type should be printed in XML or IDL format.

When print_kind is DDS_TYPE_CODE_PRINT_KIND_IDL, the type will be printed in IDL format. For example:

 struct Foo {
  
     float32 bar;
  
 };

When print_kind is DDS_TYPE_CODE_PRINT_KIND_XML, the type will be printed in XML format. For example:

 <struct name="Foo">
  
     <member name="bar" type="float32"/>
  
 </struct>

◆ print_complete_type

DDS_Boolean DDS_TypeCodePrintFormatProperty::print_complete_type

Configures whether or not to print the complete type.

When print_complete_type is true, the complete type will be printed. When print_complete_type is false, only the top level will be printed.

Take for example the following types:

 struct Foo {
  
     float32 member;
  
 };
  
 struct Bar {
  
     Foo foo;
  
 };

When print_complete_type is false, this is printed as:

 struct Bar {
  
     Foo foo;
  
 };

When print_complete_type is true, this is printed as:

 struct Foo {
  
     float32 member;
  
 };
  
 struct Bar {
  
     Foo foo;
  
 };