5.1   Introduction

In the Tornado environment, C++ development support consists of the GNU C++ toolchain, run-time support, the Standard Template Library (STL), exception handling, Run-Time Type Identification (RTTI), and the Iostream library. In addition, Wind River Systems offers an optional product, the Wind Foundation Classes, providing several additional class libraries to extend VxWorks functionality.

This chapter discusses basic application development using C++ and provides references to relevant information in other Wind River documentation. In addition, the Iostream library and the Wind Foundation Classes are documented here.

The Standard Template Library provides support for "generic" programming. Two template instantiation strategies are supported. Templates may be instantiated in every translation unit that uses them, or the compiler can determine where to instantiate them. The STL is VxWorks thread safe at the class level.

Exception handling is available for use in your application code. The GNU Iostream library does not throw without specific enabling. The STL throws only in some methods in the basic_string class.

The Iostream library provides support for formatted I/O in C++. The C++ language definition (like C) does not include special input and output statements, relying instead on standard library facilities. The Iostream library provides C++ capabilities analogous to the C functions offered by the stdio library. The principal differences are that the Iostream library gives you enhanced type security and can be extended to support your own class definitions. The Iostream library is thread safe at the object level.

The Wind Foundation Classes consist of a group of libraries (some of which are industry standard) that provide a broad range of C++ classes to extend VxWorks functionality in several important ways. They are called Foundation classes because they provide basic services which are fundamental to many programming tasks, and which can be used in almost every application domain. For information about how to install the Wind Foundation Classes, see Tornado Getting Started.

The Wind Foundation Classes consist of the following libraries: