ECSOS - C++ Entity Component System based on Ordered Sets

A data-oriented header-only C++14 library

Bas Geertsema

During the development of my game I have created an entity-component-system (ECS). I decided to extract the functionality into a generic library as it might be useful for other (game) developers as well. The library is named ECSOS and is now available on GitHub. ECSOS is a small header-only C++14 library that provides a data-oriented entity-component-system (ECS) based on ordered sets. By default it uses the boost flat_set container, which stores set elements (components) in a cache-friendly contiguous array, although other (custom) containers might be used.