buaaymh / miniSTL

Containers and Algorithms 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
cd miniSTL
mkdir build
cd build
cmake -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

Containers and Algorithms in Modern C++

License:GNU General Public License v3.0


Languages

Language:C++ 93.6%Language:CMake 6.4%