Nano A C++ template metaprogramming library

Nano is a c++ template metaprogramming library. It is designed with ease of use in mind, to provide compile time implementations of common STL functions as well as functions commonly seen in functional programming. Nano is written by Rob Clucas and is released under the GNU GPL V2.0.

Why Nano?


There are a some very good TMP libraries already available such as

The last two I found extremely helpful when learning TMP.

I found the amount effort required to learn TMP to be substantial, and the resources limited, so when writing nano I made an effort to document the code especially thoroughly so that anyone going through the process of learning TMP can use nano as a starting point.

Additionally, nano attempts to provide compile-time functions (metafunctions) in the same format as they are found in teh STL or in functional languages (mostly haskell), so that both understanding and usage of nano is simple -- as the interfaces will not be too unfamiliar.

Documentation

The automatically generated documentation from the code comments (using Doxygen) can be found at : API documentation.

Installation

Information regarding installation can be found at installation or through the link in the sidebar.

Examples

Nano is still under development, however, examples of the latest functionality can be found at examples.

Suggestions for additional functionality are welcomed.

Contact

Feel free to drop me an email at robjclucas@gmail.com with any comments or suggestions.