CrossWorks provides a limited C++ library suitable for use in an embedded application.

The following C++ standard header files are provided in $(StudioDir)/include
<cassert>
C++ wrapper on assert.h.
<cctype>
C++ wrapper on ctype.h.
<cerrno>
C++ wrapper on errno.h.
<cfloat>
C++ wrapper on float.h.
<ciso646>
C++ wrapper on iso646.h.
<climits>
C++ wrapper on limits.h.
<clocale>
C++ wrapper on locale.h.
<cmath>
C++ wrapper on math.h.
<csetjmp>
C++ wrapper on setjmp.h.
<cstdarg>
C++ wrapper on stdarg.h.
<cstddef>
C++ wrapper on stddef.h.
<cstdio>
C++ wrapper on stdio.h.
<cstdlib>
C++ wrapper on stdlib.h.
<cstring>
C++ wrapper on string.h.
<ctime>
C++ wrapper on time.h.
<exception>
Definitions for exceptions - note that this file is GPL licensed.
<new>
Types and definitions for placement new and delete.
<typeinfo>
Definitions for RTTI - note that this file is GPL licensed.

Note that to use exceptions or RTTI requires header files and library code to be linked into your application that is GPL licensed.

The C++ STL functionality of STLPort 5.1.0 is provided in CrossWorks. To use STLPort you must put $(StudioDir)/include/stlport as the first entry in the User Include Diretories project property. The STLPort is configured to not support wide characters, long doubles, throw exceptions and iostreams. The following STLPort header files are supported (not including the above list of standard C++ header files)

<algorithm> <bitset> <deque>
<functional> <hash_map> <hash_set>
<iterator> <limits> <list>
<locale> <map> <memory>
<numeric> <queue> <set>
<stack> <stdexcept> <string>
<utility> <valarray> <vector>