.. _`Preface`:

#######
Preface
#######


About the IDL PreProcessor Guide
********************************

The *IDL Pre-processor Guide* describes what the Vortex OpenSplice IDL
Pre-processor is, and how to use it.

The Vortex OpenSplice IDL Pre-processor is included with
the Vortex OpenSplice product.


Intended Audience
*****************

The *IDL Pre-processor Guide* is intended to be used by developers creating
applications which use Vortex OpenSplice.


Organisation
************

The :ref:`Overview <Overview>` gives a general description of
and brief introduction to the IDL Pre-processor.

:ref:`Prerequisites <Prerequisites>` describes the prerequisites needed
to run the pre-processor.

:ref:`IDL Pre-processor Command Line Options <Command Line Options>`
gives detailed descriptions of the options that are available for
running the pre-processor.

:ref:`OpenSplice Modes and Languages <OpenSplice Modes and Languages>`
provides a summary of OpenSplice’s supported modes and languages, as well as
an overview of the applicable Vortex OpenSplice libraries.

:ref:`IDL Pre-processor Grammar <IDL Pre-processor Grammar>`
shows the IDL grammar that is supported by the Vortex OpenSplice IDL Pre-processor.

:ref:`Keys <Keys>`
describes the mechanism for the use of keys with particular data types.

:ref:`Modes, Languages and Processing steps <Modes, Languages and Processing steps>`
describes the steps required for creating programs for each of the modes and
languages supported by the Pre-processor.

:ref:`Extensible and Dynamic Topic Types for DDS annotation support <Extensible and Dynamic Topic Types>`
describes how the IDL Pre-processor handles the annotation language extension.

:ref:`Built-in DDS data types <Built-in DDS data types>`
describes the built-in DDS data types and provides language-specific
guidelines on how to use them.

Finally, there is :ref:`a bibliography <References>` which lists
all of the publications referred to in this *Guide*.


Conventions
***********

The icons shown below are used in ADLINK product documentation
to help readers to quickly identify information relevant to their
specific use of Vortex OpenSplice.


 ========= ==================================================================
 *Icon*    *Meaning*
 ========= ==================================================================
 |caution| Item of special significance or where caution needs to be taken.
 |info|    Item contains helpful hint or special information.
 |windows| Information applies to Windows (*e.g.* XP, 2003, Windows 7) only.
 |unix|    Information applies to Unix-based systems (*e.g.* Solaris) only.
 |linux|   Information applies to Linux-based systems (*e.g.* Ubuntu) only.
 |c|       C language specific.
 |cpp|     C++ language specific.
 |csharp|  C# language specific.
 |java|    Java language specific.
 ========= ==================================================================




.. |caution| image:: ./images/icon-caution.*
            :height: 6mm
.. |info|   image:: ./images/icon-info.*
            :height: 6mm
.. |windows| image:: ./images/icon-windows.*
            :height: 6mm
.. |unix| image:: ./images/icon-unix.*
            :height: 6mm
.. |linux| image:: ./images/icon-linux.*
            :height: 6mm
.. |c| image:: ./images/icon-c.*
            :height: 6mm
.. |cpp| image:: ./images/icon-cpp.*
            :height: 6mm
.. |csharp| image:: ./images/icon-csharp.*
            :height: 6mm
.. |java| image:: ./images/icon-java.*
            :height: 6mm

