Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Build a small generic LIBRARY: a class TEMPLATE (e.g. a ring buffer, a small_vector, or a generic graph) parameterized over T, plus free functions using STL ALGORITHMS + iterators + lambdas. Get value semantics right — follow the Rule of Zero if you own only RAII members, or the Rule of Five (with correct move ctor/assign) if you manage a raw resource; mark things const and noexcept where appropriate; enable moves. Write unit tests (GoogleTest or Catch2) wired into CMake/CTest, and document the public API.
A correct, reusable class template; STL algorithms/iterators/lambdas used idiomatically (not hand-rolled loops everywhere).
Rule of Zero/Five applied correctly; move ctor/assign work; const-correct; no leaks or double-frees.
GoogleTest/Catch2 unit tests pass via CMake/CTest; meaningful coverage of the API including edge cases.
Clean public interface; documented; compiles warning-free under -Wall.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# A templated container/library with the STL & tests ## Goal Build a small generic LIBRARY: a class TEMPLATE (e.g. a ring buffer, a small_vector, or a generic graph) parameterized over T, plus free functions using STL ALGORITHMS + iterators + lambdas. Get value semantics right — follow the Rule of Zero if you own only RAII members, or the Rule of Five (with correct move ctor/assign) if you manage a raw resource; mark things const and noexcept where appropriate; enable moves. Write unit tests (GoogleTest or Catch2) wired into CMake/CTest, and document the public API. ## Acceptance criteria - [ ] Templates & STL: A correct, reusable class template; STL algorithms/iterators/lambdas used idiomatically (not hand-rolled loops everywhere). - [ ] Value semantics: Rule of Zero/Five applied correctly; move ctor/assign work; const-correct; no leaks or double-frees. - [ ] Tests & build: GoogleTest/Catch2 unit tests pass via CMake/CTest; meaningful coverage of the API including edge cases. - [ ] Quality: Clean public interface; documented; compiles warning-free under -Wall. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.