This directory captures the architectural decisions made on pbr-cpp-memory-pool as lightweight, immutable Markdown records — one decision per file.
Each ADR follows the Michael Nygard format and is created from template.md. File naming: NNNN-short-kebab-title.md, where NNNN is a zero-padded sequential number.
Proposed ─► Accepted ─┬─► Superseded by ADR-XXXX
└─► Deprecated
- Proposed — decision drafted, under discussion. Allowed to evolve.
- Accepted — decision is in force. The record is now immutable; only the
Statusline may change. - Superseded — a newer ADR replaces this one. Both records remain in the repo; the older one points to the newer one in its
Statusline, the newer one references the older inContext. - Deprecated — the decision no longer applies but is preserved for historical context.
Write one when a decision:
- affects the public C or C++ API of the pool;
- affects ABI, alignment, or thread-safety guarantees;
- has two or more reasonable alternatives and the rationale is not obvious from the code;
- supersedes or amends a prior ADR.
Do not write one for purely local implementation details, formatting, or trivially reversible choices — those belong in the commit body.
When adding a new ADR, append a row to this table in the same PR.