microsoft/GSL

Guidelines Support Library

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 9 minutes ago
Added to GitGenius on September 9th, 2026
Created on August 19th, 2015
Open Issues & Pull Requests: 24 (+0)
GitHub issues: Enabled
Number of forks: 772
Total Stargazers: 6,721 (+0)
Total Subscribers: 305 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 23.8 hours
Mean response time: 90.4 days
90th percentile: 230.2 days
Tracked items: 49

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 3% of issues opened in the past year have been closed. Three people close 90% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 12
New in 7 days: 2
Closed in 7 days: 1
Avg open age: 666 days
Stale 30+ days: 10
Stale 90+ days: 9

Recent activity

Opened in 7 days: 2
Closed in 7 days: 1
Comments in 7 days: 1
Events in 7 days: 4

Top labels

  • Type: Bug (15)
  • Status: Open (14)
  • Type: Enhancement (10)
  • Priority: Low (7)
  • Status: Blocked (6)
  • Status: In Progress (6)
  • Help Wanted (5)
  • Effort: Low (3)

Detailed Description

GSL is a header-only C++ library that provides types and functions recommended by the C++ Core Guidelines.

The library addresses the gap between modern C++ best practices and what the standard library offers. It implements guidelines from the C++ Core Guidelines maintained by the Standard C++ Foundation, offering developers practical tools to write safer and more maintainable code. The implementation is entirely inline in headers, with the main entry point being gsl/gsl, though individual components like gsl/span can be included separately. The project requires C++14 support and is designed to work across multiple platforms.

Developers should adopt this library when working on projects that prioritize adherence to C++ Core Guidelines or when seeking to reduce common sources of bugs through guideline-enforced patterns. It suits teams that want to incrementally adopt safer coding practices without major architectural changes, since the library integrates as a lightweight header-only dependency. The tool is particularly valuable for codebases where manual bounds checking and pointer safety are concerns, as it provides standardized abstractions that the guidelines community has vetted.

The project maintains active continuous integration across multiple compilers and is packaged in vcpkg for straightforward dependency management. Development is open to community contributions, with a formal contribution process documented in the repository. The maintainers actively encourage improvements and ports to additional platforms.