A header-only C++17 library demonstrating modern C++ features — custom containers, allocators, RAII, and move semantics.
Built as a learning project to practice the exact skills used in systems/embedded C++ roles.
FixedVector<T, N>— Stack-allocated fixed-capacity vector with full move semantics and range-for supportCustomAllocator<T>— STL-compatible custom allocator demonstrating low-level memory controlScopedTimer— RAII-based high-resolution timer; prints elapsed time automatically on scope exit
| Concept | Where |
|---|---|
Templates (template<T, N>) |
FixedVector |
Move semantics + noexcept |
FixedVector move ctor/assignment |
| RAII | ScopedTimer, std::array |
| Rule of 5 | FixedVector |
| Custom allocators | CustomAllocator |
| Iterator protocol | FixedVector::begin()/end() |
mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
./demoRequires: CMake 3.16+, C++17-compatible compiler (clang++ / g++)
Built with AddressSanitizer + UBSan:
cmake .. -DCMAKE_BUILD_TYPE=Debug
cmake --build .
./demo # runs clean — 0 leaks