In association with heise online

28 February 2013, 09:49 open sources C++ tool library

  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

C++ icon The "Music Information Retrieval" team at have released moost, a C++ library of tools they use, as an open source library. Moost contains a wide range of functionality that is used throughout's codebase, ranging from handling simple utility tasks to providing essential major code components. At the utility end, for example, the library includes a stringify function template which makes it easier to turn more complex objects into meaningful strings and a which template that makes it simple to work with pairs and containers that hold pairs.

At the more complex end, there's a framework for creating background processes with logging which is used by all of's backend services and offers a set of standard options and a service shell so users can connect to that running service. uses threading heavily and has added templates such as safe_shared_ptr to make more thread-resiliant shared resources.

Large static datasets are also an area that gets attention within moost, with support for memory-mapped datasets. Gigabyte scale datasets can be mapped as vectors, multimaps or dense hashmaps in memory and shared between different processes, all while being access as a constant standard container. Other supported features include an abstraction for shared object loading and instantiation, a simple STOMP protocol client, functions for hashing and message digests and key-value store wrappers.

Moost is hosted on's GitHub repository and is published under the MIT licence. It requires a recent C++ compiler and Boost 1.42 or later, and will need's MirBuild to build.


Print Version | Send by email | Permalink:

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit