HOOST logo, copyright 2006, Michael DOUBEZ, usage
    permitted under terms of LGPL License version


The HOOST is currently a one man product but I appreciate help and feedback and give credit for them.

The HOOST (Hardware Object Oriented Standard Template) C++ library aims at promoting the use of the C++ language in embedded software environment with direct access to hardware or next to it. To that end, it defines an HAL (Hardware Abstract Layer) under the form of template for managing usual resources found in embedded environment (such as UART); those templates are then related to existing STL concept (such as wrapping an UART into a streambuf for use with classical iostream operation). The end-developer would then only need to implement the concept corresponding to its hardware in order to benefit from standard operations.

Additionally, the library may provide frameworks for usual embedded software issues such as a pool memory allocation or some filesystem implementations.

This design hopes to bring the following advantages to embedded software development:

  • allow easy top-down conception of embedded software since only HAL concept are used whereas nowdays, embedded software tends to be down-top conception because of hardware requirement.
  • provide an standard abstraction to hardware (where current one are all proprietary when existing) and may make porting easy; this may event provide facilities to set up an emulator.
  • promote usage of C++ and its additional security (type checking ...), elegancy and design facilities (OO) into embedded software; demystifying the usage of C++ for big structure only.
  • make the life of some embedded software developer easier if they want to switch to or are using C++.
The library will be coded in Standard C++ but compilation options will allow striping the code from feature considered costly in embedded environment.
A first list may be established:
  • Exceptions
  • Runtime type information (RTTI)
A library feature using one of those methods must remove itself or provide an alternative usage.

HOOST Subprojects


About the HOOST



Documentation is under development.


The HOOST Library is distributed under LGPL license.

SourceForge.net Logo