Welcome to uSTL Library 1.3
===========================

The eCos uSTL library is a port of Mike Sharov's uSTL implementation. 
It has the particular feature of generating small object code sizes 
- an important requirement for embedded eCos based applications.
The latest version can be found at:

   http://ustl.sourceforge.net/
   http://sourceforge.net/projects/ustl/
   
The library provides a subset of the full C++ STL standard library.
uSTL is a partial implementation of the STL specification intended to 
reduce code size of the derivative programs. This allows the 
eCos application to use well known standard C++ STL library 
containers, streams, iterators, algorithms and functors.

For changes, see the HISTORY file.


eCos port specific changes/enhancements
---------------------------------------

By default eCos is build without exceptions and without  RTTI support 
(compiler switches -fno-exceptions -fno-rtti). Normally the  uSTL 
library relies on C++ exceptions to propagate errors and exceptions. 
To build the library for eCos all occurrences of try, cath and throw 
are replaced by macros USLT_TRY, USLT_CATCH_ALL, and USLT_THROW. Thus
the eCos uSTL port compiles without exceptions and without RTTI support.

The macro USLT_THROW calls an eCos specific exception handling function
that prints exception information to the diagnostic channel.

All features of the uSTL library are available except for memory mapped
files or memory mapped streams.

If you use cout for printing to the console you should know that the
data is only sent if you finish all output with endl and then call
cout.flush().

example:

cout << "Console output" << endl;
cout.flush();


Legal Stuff
-----------

The uSTL library is subject of copyright under MIT license. For
the license text see LICENSE file.
