Skip to content

Container, Algorithms and Utilities in Modern C++

License

Notifications You must be signed in to change notification settings

pvc1989/miniSTL

Repository files navigation

miniSTL

Intention

This repo is a minimum implementation of the C++ Standard Template Library (STL). The intention is not to challenge those industrial-strength implementations, but to familiarize ourselves with modern C++ (i.e. C++11/14/17) and its standard library (e.g. containers, algorithms and utilities).

Build

git clone https://github.com/pvcStillInGradSchool/miniSTL.git
git submodule update --init --recursive
cd miniSTL
mkdir -p build/Debug
cd build/Debug
cmake -D CMAKE_BUILD_TYPE=Debug -G Ninja -S ../.. -B .  # cmake 3.13.5+
cmake --build .
# Run each test one after another:
./test/forward_list
./test/vector
# Run all tests:
ctest    # print compact info
ctest -V # print verbose info

Code Style

We use cpplint.py to detect style errors:

cd miniSTL
python cpplint.py include/abc/*.h test/abc/data/*.h  test/*.cc

Read Google C++ Style Guide for more details.

About

Container, Algorithms and Utilities in Modern C++

Topics

Resources

License

Stars

Watchers

Forks