Skip to content

Educational C++20 STL-like algorithms implemented from scratch using iterators.

Notifications You must be signed in to change notification settings

PopoviciGabriel/MiniSTL-Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 

Repository files navigation

MiniSTL-Algorithms (C++20)

image

A small educational STL-like algorithms library implemented from scratch using iterators and modern C++20.

Designed for students and learners who want to understand how STL algorithms work internally.


✨ Implemented Algorithms

  • ministl::find
  • ministl::accumulate
  • ministl::transform
  • ministl::sort (educational implementation)

All algorithms:

  • are iterator-based
  • work with standard containers
  • require no inheritance or base classes
  • are header-only

πŸ”§ Example

std::vector<int> v{4,1,3};

ministl::sort(v.begin(), v.end());

int sum = ministl::accumulate(v.begin(), v.end(), 0);

auto it = ministl::find(v.begin(), v.end(), 3);

πŸ”— Full Project πŸ‘‰ Download the full project (with examples & documentation): https://gabrielpopovic.gumroad.com/l/lvchj

πŸ›  Build Example g++ -std=c++20 -Iinclude examples/main.cpp -o example ./example or

cmake -S . -B build cmake --build build ./build/example

🧠 Educational Focus This project focuses on:

iterator categories

generic programming

algorithm design

understanding STL internals

The goal is clarity over performance.

About

Educational C++20 STL-like algorithms implemented from scratch using iterators.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published