Memoria is a data engineering framework in C++14 providing general purpose persistent dynamic data structures on top of in-memory, file or block storage, asynchronous IO subsystem for network and external memory and optional Qt integration for data structures visualization. Out of the box the following data structures are provided: map, vector, multimap, table, wide table and some others. Besides basic data structures there are also advanced ones: searchable sequences and wavelet trees. Many others can be designed using building blocks provided by the framework.
The core of the framework is two-level memory allocation scheme, with templatized C++ value semantics on top of it. Framework provides composable building blocks like array-mapped prefix sum trees and searchable sequences to build more sophisticated block-oriented data structures like dynamic vectors and labeled trees. Concurrency is handled via copy-on-write based Git-like branch/merge workflow, data structures are confluently-persistent.
See also QtCreator IDE Instructions for Linux and MacOS X.
The project is still in active development and is functionally incomplete may not even compile in your environment.