C++ Logo

std-proposals

Advanced search

[std-proposals] Versioned Standard

From: William Linkmeyer <wlink10_at_[hidden]>
Date: Mon, 19 Sep 2022 21:21:48 -0400
# Versioned Standard

### Document: <awaiting>

### Date: September 19, 2022

### Audience: LEWG

### Reply To: willhl_at_[hidden]

## Introduction

ABI stability is a communication problem. Libraries, meant to be shared, often version themselves. The obvious purpose is to communicate change over time.

The standard library itself is often versioned. Some shared standard library, `libc++.so.0`, may differ from some other shared standard library, `libc++.so.9`.

There is no reliable channel of communication between between libraries and their associated standards.

## Motivation

ABI is a perennial issue. Tools must be provided to users who wish to specify their intended standard library version.

## Implementation

Introduce the *language* template to specify the intended standard version range to be used:

```c++
using std = std::v<2017, 2023>;
```

Which will embed an implementation-defined hint within the resulting binary.

WL

Received on 2022-09-20 01:22:01