awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
microsoft avatar

microsoft/GSL

0
View on GitHub↗
6,693 stars·766 forks·C++·11 views

GSL

GSL is a Guidelines Support Library for C++ that provides a set of types and functions designed to implement the C++ Core Guidelines. It functions as a framework for improving code safety and portability across different platforms.

The library provides a contract-based programming model to verify program invariants through precondition and postcondition assertions. It includes specialized wrappers for null-pointer safety and bounds-checked memory views to prevent buffer overflows and invalid memory access.

The project also covers safe integer conversion to prevent data truncation and provides utilities for managing zero-terminated strings with various character encodings. Additionally, it includes mechanisms for resource management to ensure cleanup functions execute during object destruction.

Features

  • C++ Guidelines Support Libraries - Provides a set of types and functions for implementing the C++ Core Guidelines to improve code safety and portability.
  • Contract-Based Libraries - Provides a framework for verifying program invariants using precondition and postcondition assertions.
  • Null-Safety Pointer Types - Provides a specialized pointer type that ensures memory addresses are valid and non-null.
  • Memory Safety Protections - Prevents buffer overflows and invalid memory access using bounds-checked views and pointer constraints.
  • Non-Null Pointer Wrappers - Provides specialized pointer types that ensure a pointer always holds a valid value and never refers to null.
  • Portable C++ Subsets - Provides standardized types and functions to maintain consistent behavior and safety across different platforms.
  • Runtime Bounds Checking - Implements a specialized memory access wrapper that prevents buffer overflow errors through strict runtime bounds checking.
  • Memory Spans - Provides bounds-checked memory views to prevent buffer overflows and invalid memory access.
  • Coding Style Guidelines - Implements a set of uniform types and functions to apply C++ Core Guidelines for improved safety and portability.
  • Runtime Invariant Verifications - Implements a contract-based programming model using precondition and postcondition assertions to verify program invariants.
  • Logic Verification Frameworks - Uses preconditions and postconditions to verify program invariants and stop execution upon logic failure.
  • C++ Resource Management - Ensures proper cleanup of system resources and executes final actions during object destruction.
  • Resource Cleanup Utilities - Provides mechanisms to execute specific cleanup functions during object destruction to ensure system resources are released properly.
  • Checked Narrowing Conversions - Implements safe integer narrowing that triggers exceptions if the original value is truncated during conversion.
  • Type Safety - Handles narrow value conversions and character encodings to prevent data truncation and encoding errors.
  • Safe Integer Narrowing Utilities - Provides a utility for converting values to smaller types with exception triggers upon truncation.
  • Standard Library Extensions - Guidelines Support Library implementation.

Star history

Star history chart for microsoft/gslStar history chart for microsoft/gsl

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to GSL

Similar open-source projects, ranked by how many features they share with GSL.
  • mgechev/angular2-style-guidemgechev avatar

    mgechev/angular2-style-guide

    1,195View on GitHub↗

    The repository contains a curated collection of coding conventions, architectural patterns, and best practices designed for developing component-based web applications using Angular and TypeScript. It functions as an architecture manual establishing consistent patterns across development teams, covering application structure, component design, and code quality enforcement. The guidelines define domain-driven file organization and module encapsulation strategies that group project assets into bounded contexts with dedicated root facades to keep large codebases manageable and shorten import pat

    angularbest-practicesdeprecated
    View on GitHub↗1,195
  • federico-busato/modern-cpp-programmingfederico-busato avatar

    federico-busato/Modern-CPP-Programming

    15,808View on GitHub↗

    This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu

    HTMLc-plus-pluscode-qualitycompilers
    View on GitHub↗15,808
  • microsoft/wilmicrosoft avatar

    microsoft/wil

    2,884View on GitHub↗

    wil is a C++ wrapper library for the Windows API designed to simplify system development through RAII and exception handling. It provides a set of resource management tools, a framework for Windows error handling, and type-safe interfaces for registry access and networking. The library distinguishes itself by automating the conversion between system error codes and C++ exceptions, while providing utilities for contextual error message attachment and early return patterns. It also features specialized networking wrappers for socket initialization and hostname resolution, and a registry interfa

    C++
    View on GitHub↗2,884
  • communitytoolkit/dotnetCommunityToolkit avatar

    CommunityToolkit/dotnet

    3,696View on GitHub↗

    This project is a general purpose library for the .NET ecosystem, providing a collection of reusable helper methods and APIs for common programming tasks. It encompasses a UI component library for cross-platform development, a toolkit for MVVM architecture, and specialized utilities for memory management and native interoperability. The library distinguishes itself through high-performance memory abstractions, such as pooled buffers and contiguous two-dimensional memory spans, designed to reduce garbage collection pressure. It also provides native interop wrappers and bindings to facilitate d

    C#csharpdotnetmaui
    View on GitHub↗3,696
See all 30 alternatives to GSL→

Frequently asked questions

What does microsoft/gsl do?

GSL is a Guidelines Support Library for C++ that provides a set of types and functions designed to implement the C++ Core Guidelines. It functions as a framework for improving code safety and portability across different platforms.

What are the main features of microsoft/gsl?

The main features of microsoft/gsl are: C++ Guidelines Support Libraries, Contract-Based Libraries, Null-Safety Pointer Types, Memory Safety Protections, Non-Null Pointer Wrappers, Portable C++ Subsets, Runtime Bounds Checking, Memory Spans.

What are some open-source alternatives to microsoft/gsl?

Open-source alternatives to microsoft/gsl include: mgechev/angular2-style-guide — The repository contains a curated collection of coding conventions, architectural patterns, and best practices… federico-busato/modern-cpp-programming — This project is a comprehensive educational resource and programming course covering C++ language semantics and… microsoft/wil — wil is a C++ wrapper library for the Windows API designed to simplify system development through RAII and exception… cpp-best-practices/cppbestpractices — This project is a curated collection of guidelines and technical resources designed to improve C++ code safety,… communitytoolkit/dotnet — This project is a general purpose library for the .NET ecosystem, providing a collection of reusable helper methods… armour/vue-typescript-admin-template — Vue-typescript-admin-template is a TypeScript-based admin panel starter built with Vue CLI 3, providing a complete…