emds-toolkit is a header-only C++ library for external-memory data structures. It provides lightweight and reusable building blocks for designing I/O-efficient data structures that scale beyond main memory.
- A C++20-compatible compiler
- CMake 3.20 or newer when consuming the provided CMake target
- Linux with Direct I/O support for
emds::io::DirectIOBuffer
Include the complete public API:
#include <emds-toolkit/emds_toolkit.hpp>Or include individual components:
#include <emds-toolkit/common/requires.hpp>
#include <emds-toolkit/io/direct_io_buffer.hpp>The public namespaces currently provided are emds::common and emds::io.
When the repository is added with CMake, link the header-only target:
add_subdirectory(path/to/emds-toolkit)
target_link_libraries(your_target PRIVATE emds-toolkit::emds-toolkit)Tests are enabled by default for a standalone build and disabled when the project is included as a subdirectory:
cmake -S . -B build
cmake --build build
ctest --test-dir build --output-on-failure