FastFlow is a pattern-based programming framework targeting streaming applications. It implements pipeline, farm, divide and conquer, and their composition, as well as generic streaming networks. It is specifically designed to support the development and the seamless porting of existing applications on multi-core, GPGPUs, and clusters of them. The layered template-based C++ design ensures flexibility and extendibility. Its lock-free/fence-free run-time support minimizes cache invalidation traffic and enforces the development of high-performance (high-throughput, low-latency) scalable applications. It has been proven comparable or faster than TBB, OpenMP, and Cilk on several micro-benchmarcks and real-world applications, especially when dealing with fine-grained parallelism and high-throughput applications.
The STX ExecPipe library provides a convenient C++ interface to execute child programs connected via pipes. It is a front-end to the system calls fork(), pipe(), select(), and execv() and hides all the complexity of these low-level functions. It allows a program to build a sequence of connected children programs with the input and output of the pipe sequence redirected to a file, string, or file descriptor. The library also allows custom asynchronous data processing classes to be inserted into the pipe or placed at the source or sink of the sequence.
XmlPlus xsd2cpp is a tool that compiles an XML schema into C++ data bindings. When invoked on an input XSD file, it generates the C++ sources (implementation/headers) for the supplied XML schema, a main.cpp template to demonstrate how generated sources can be consumed, and the automake/autoconf files for building the generated source.
CS::SkipList Library is a C++ template library of containers based on skip lists. These containers work like sets and maps, but can also be accessed via numerical index. This collection has vector-like containers where all operations work in logarithmic time. It also has a composite container where you can order the same elements in many different ways at the same time.
Elemental is a C++ framework for distributed-memory dense linear algebra that strives to be fast, portable, and programmable. It can be thought of as a generalization of PLAPACK to element-by-element distributions that also makes use of recent algorithmic advances from the FLAME project. Elemental usually outperforms both PLAPACK and ScaLAPACK, however, it heavily relies on MPI collectives so a good MPI implementation is crucial. Both pure MPI and hybrid OpenMP-MPI configurations are supported.
SupplyChain is a C++ library that simulates a supply chain. It takes full advantage of concurrent programming and multi-core CPUs without the programmer having to know anything about it. A supply chain consists of two mandatory components: initial producers and final consumers. Apart from these components, a supply chain can include any number of manufacturer nodes. Each node can contain any number of elements of its own type. These elements allow very powerful supply chains to be modeled and constructed.
The JsonMe++ (JSON Made easy for C++) library is a C++ wrapper for the JSON-Glib C library. The library makes heavy use of C++ syntactic sugar type C++ language constructs, most notably the subscript operator and cast operator as essential API components, which makes this JSON library extremely simple to use. As a result, access to a deeply nested value from a piece of JSON data can be expressed simply.