eternal

A header-only C++14 library for read-only compile-time maps and hash maps with a small binary footprint. It is meant for lookup tables that need no runtime setup.

Share on XLicense: ISC

Overview

eternal.hpp is a header-only C++14 library for constexpr, compile-time maps and hash maps. Its API is somewhat compatible with std::map and std::unordered_map but does not allow insertion or other changes. The focus is small binary size: it generates minimal code and adds no static initialization cost. The README lists lookup tables as the use case and names the compilers it was tested with.

Key features

  • Compile-time map via mapbox::eternal::map
  • Hash map via mapbox::eternal::hash_map
  • constexpr strings with mapbox::eternal::string
  • Read-only, so no insertion or modification
  • No static initialization overhead

Best for

C++ developers who need fixed lookup tables with minimal binary size. Hash map keys need a std::hash specialization.

Upstream
mapbox/eternal
Fork on GitHub
Guo-astro/eternal
Upstream stars
223
Category
Developer tools and infrastructure
License
ISC
Forked
2020-11-01
Sync status
In syncLast synced 2026-09-29