Sven Rosvall
Home - Contact Info
· Start
· Sven Rosvall
  · CV
  · Projects
    · Coding Standard Generator
    · Board Planner
    · Lean Iostream 
  · Articles
· Kari Rosvall
· The Rosvalls

Lean Iostream

The goal of the Lean Iostreams library is to provide an implementation of C++ iostreams with a very small memory footprint.

The C++ iostreams are very powerful but most current implementations are very heavy and produce large executables. Iostreams should have to be that heavy if the implementation was properly designed. And if certains trade-offs are made, then the iostreams can be used with an extremely small memory footprint.

Lean Iostreams aim to give a smaller footprint than the printf() function family. For code that does not require much formatting, the footprint should be even smaller. For a simple Hello World, the footprint using Lean Iostreams is close to what you get if you use write().

Some of the important features of C++ iostreams that Lean Iostreams supports are:
  • Basic formatting.
  • String streams.
  • User defined stream buffers.
  • User defined input and output operators. (<< and >>)
To get such a small footprint, there are some trade-offs to simplify Lean Iostreams:
  • Limited formatting support.
  • No support for locales.
  • No support for user defined character types.
Lean Iostreams are currently under development. Please send an email if you are interested.

Also try out the current snapshot. It also contains a set of tests that show what it currently can do.


Copyright 2003-2012