Chapter 10. Introduction

This documentation describes the eCos support for the GNU standard C++ library v3 which is a component of the GNU Compiler Collection (GCC). This library, also known as libstdC++, has been designed to fully implement the requirements of the ISO 14822 standard C++ specification, and also provides some of the underlying support for language features such as C++ exceptions and run-time type identification (RTTI).

As with normal GNU toolchains, the standard C++ library is prebuilt alongside the toolchain. The library itself is not contained in this eCos package. Instead the purpose of this package is to provide any ancillary support for the library, provide the CDL definitions required for the correct operation of the library, provide a rigorous and broad testsuite for the library, and of course provide this documentation.

Although the standard C++ library is part of the toolchain, some enhancements have been made to the GCC compiler specifically to support eCos, details of which are found in Chapter 13, Toolchain.

10.1. Overview of features

The GNU standard C++ library implements virtually all the library requirements of the C++ standard. Details of the status of the library including known issues may be found on the C++GNU C++ Standard Library documentation pages.

In summary, the library provides support for standard C++ functionality such as:

  • C++ exceptions
  • Run-time type identification (RTTI) and type information
  • Memory allocation routines: new, delete, allocators, etc.
  • I/O streams, string streams and I/O manipulators
  • C++ friendly numeric limits
  • Strings and character traits
  • Containers: queues, deques, lists, stacks, vectors, maps, sets and bitsets
  • Iterators
  • Algorithms such as sort, find, compare, count, replace, etc. that usually operate on containers and iterators
  • Complex numbers
  • Numeric arrays
  • Numeric algorithms such as accumulate, inner product, partial sum, adjacent difference
  • etc…