pvc1989 / miniSTL

Container, Algorithms and Utilities in Modern C++

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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++

License:GNU General Public License v3.0


Languages

Language:C++ 92.7%Language:CMake 7.3%