An open API service indexing awesome lists of open source software.

https://github.com/pseudomanifold/stl-headers

Visualizing the usage and co-occurrence of headers in the C++ Standard Template Library
https://github.com/pseudomanifold/stl-headers

analysis cooccurrence cpp11 cpp14 cpp17 headers

Last synced: 6 months ago
JSON representation

Visualizing the usage and co-occurrence of headers in the C++ Standard Template Library

Awesome Lists containing this project

README

          

# An analysis of STL headers in large C++ projects

The main script of this project requires a directory that contains
multiple git repositories of C++ code. To get a list of worthwhile
picks, you can either pick them yourself or use a script:

$ ./get_trending_repositories.sh

This script uses `curl` to query the GitHub search to return *all*
trending C++ repositories of the last month.

Assuming that you placed the repositories in a folder `repos`, you
can perform an analysis of the headers by calling the main script:

$ ./header_analysis.py repos

This will create SVG files in the current directory.

See [this blog post](http://bastian.rieck.me/blog/posts/2018/cxx_meta_analysis)
for a more detailed discussion.

# Examples

The following visualizations have been created by analysing the
following projects:

- [Electron](https://github.com/electron/electron)
- [RethinkDB](https://github.com/rethinkdb/rethinkdb)
- [Swift](https://github.com/apple/swift)
- [TensorFlow](https://github.com/tensorflow/tensorflow)

![Histogram](/Examples/stl_headers_histogram.svg "Histogram")

![Matrix](/Examples/stl_headers_cooccurrences.svg "Matrix")