From 90c345336ae3710803afe276790556da8cd8a93c Mon Sep 17 00:00:00 2001 From: Jeff Garland Date: Tue, 1 Jul 2025 07:04:11 -0700 Subject: [PATCH 1/9] add badge to readme for target standard --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 49c0fe21..d98b5e7b 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,10 @@ SPDX-License-Identifier: 2.0 license with LLVM exceptions --> - ![CI Tests](https://github.com/bemanproject/optional/actions/workflows/ci.yml/badge.svg) [![Coverage](https://coveralls.io/repos/github/bemanproject/optional/badge.svg?branch=main)](https://coveralls.io/github/bemanproject/optional?branch=main) + + +![CI Tests](https://github.com/bemanproject/optional/actions/workflows/ci.yml/badge.svg) [![Coverage](https://coveralls.io/repos/github/bemanproject/optional/badge.svg?branch=main)](https://coveralls.io/github/bemanproject/optional?branch=main) +![Target Standard](https://github.com/bemanproject/beman/blob/main/images/badges/cpp26.svg) This repository implements `std::optional` extensions targeting C++26. The `beman.optional` library aims to evaluate the stability, the usability, and the performance of these proposed changes before they are officially adopted by WG21 into the C++ Working Draft. Additionally, it allows developers to use these new features before they are implemented in major standard library compilers. From 771a6d5b2a4c61d42357686a2d058dc60fc185a6 Mon Sep 17 00:00:00 2001 From: Jeff Garland Date: Tue, 1 Jul 2025 11:35:25 -0700 Subject: [PATCH 2/9] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Darius Neațu --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d98b5e7b..09130825 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ SPDX-License-Identifier: 2.0 license with LLVM exceptions ![CI Tests](https://github.com/bemanproject/optional/actions/workflows/ci.yml/badge.svg) [![Coverage](https://coveralls.io/repos/github/bemanproject/optional/badge.svg?branch=main)](https://coveralls.io/github/bemanproject/optional?branch=main) -![Target Standard](https://github.com/bemanproject/beman/blob/main/images/badges/cpp26.svg) +![Standard Target](https://github.com/bemanproject/beman/blob/main/images/badges/cpp26.svg) This repository implements `std::optional` extensions targeting C++26. The `beman.optional` library aims to evaluate the stability, the usability, and the performance of these proposed changes before they are officially adopted by WG21 into the C++ Working Draft. Additionally, it allows developers to use these new features before they are implemented in major standard library compilers. From 4767f1f8c6ba17e2962a070a50ce7031959185d2 Mon Sep 17 00:00:00 2001 From: Jeff Garland Date: Tue, 1 Jul 2025 18:18:20 -0700 Subject: [PATCH 3/9] rm the extra char to satisfy pre-commit --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index c1e9e868..d455aa9b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1,3 @@ # Codeowners for reviews on PRs -* @steve-downey @neatudarius @camio +* @steve-downey @neatudarius @camio From e6dd6cc23fe2d878ee747699a7df6725d34e3122 Mon Sep 17 00:00:00 2001 From: Jeff Garland Date: Tue, 1 Jul 2025 18:55:06 -0700 Subject: [PATCH 4/9] see how it looks with one line --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 09130825..a2a96737 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,6 @@ SPDX-License-Identifier: 2.0 license with LLVM exceptions - ![CI Tests](https://github.com/bemanproject/optional/actions/workflows/ci.yml/badge.svg) [![Coverage](https://coveralls.io/repos/github/bemanproject/optional/badge.svg?branch=main)](https://coveralls.io/github/bemanproject/optional?branch=main) ![Standard Target](https://github.com/bemanproject/beman/blob/main/images/badges/cpp26.svg) From c88d2dbd8136a72bcf5d7623d5ac60f794cb3f8a Mon Sep 17 00:00:00 2001 From: Jeff Garland Date: Tue, 1 Jul 2025 18:59:24 -0700 Subject: [PATCH 5/9] try again to format correctly --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a2a96737..7de8de89 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,8 @@ SPDX-License-Identifier: 2.0 license with LLVM exceptions -![CI Tests](https://github.com/bemanproject/optional/actions/workflows/ci.yml/badge.svg) [![Coverage](https://coveralls.io/repos/github/bemanproject/optional/badge.svg?branch=main)](https://coveralls.io/github/bemanproject/optional?branch=main) +![CI Tests](https://github.com/bemanproject/optional/actions/workflows/ci.yml/badge.svg) +![[Coverage](https://coveralls.io/repos/github/bemanproject/optional/badge.svg?branch=main)](https://coveralls.io/github/bemanproject/optional?branch=main) ![Standard Target](https://github.com/bemanproject/beman/blob/main/images/badges/cpp26.svg) From 8a92ffe026aa620205dc999b9ff0dad7728d4d3b Mon Sep 17 00:00:00 2001 From: Jeff Garland Date: Tue, 1 Jul 2025 19:00:39 -0700 Subject: [PATCH 6/9] right - back to the space --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7de8de89..7c475a1a 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ SPDX-License-Identifier: 2.0 license with LLVM exceptions + ![CI Tests](https://github.com/bemanproject/optional/actions/workflows/ci.yml/badge.svg) ![[Coverage](https://coveralls.io/repos/github/bemanproject/optional/badge.svg?branch=main)](https://coveralls.io/github/bemanproject/optional?branch=main) ![Standard Target](https://github.com/bemanproject/beman/blob/main/images/badges/cpp26.svg) From a7f06009df26592bb27f6cfdf8920d7c2457c01a Mon Sep 17 00:00:00 2001 From: Jeff Garland Date: Tue, 1 Jul 2025 19:02:42 -0700 Subject: [PATCH 7/9] try 10? --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7c475a1a..518bef9b 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ SPDX-License-Identifier: 2.0 license with LLVM exceptions ![CI Tests](https://github.com/bemanproject/optional/actions/workflows/ci.yml/badge.svg) -![[Coverage](https://coveralls.io/repos/github/bemanproject/optional/badge.svg?branch=main)](https://coveralls.io/github/bemanproject/optional?branch=main) +[![Coverage](https://coveralls.io/repos/github/bemanproject/optional/badge.svg?branch=main)](https://coveralls.io/github/bemanproject/optional?branch=main) ![Standard Target](https://github.com/bemanproject/beman/blob/main/images/badges/cpp26.svg) From 8a67d4b9b2c52e5768debf823678760821d484cf Mon Sep 17 00:00:00 2001 From: Jeff Garland Date: Wed, 2 Jul 2025 05:17:35 -0700 Subject: [PATCH 8/9] one more whitespace try for single line --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index 518bef9b..34e5e2cb 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,7 @@ SPDX-License-Identifier: 2.0 license with LLVM exceptions --> - - -![CI Tests](https://github.com/bemanproject/optional/actions/workflows/ci.yml/badge.svg) -[![Coverage](https://coveralls.io/repos/github/bemanproject/optional/badge.svg?branch=main)](https://coveralls.io/github/bemanproject/optional?branch=main) -![Standard Target](https://github.com/bemanproject/beman/blob/main/images/badges/cpp26.svg) + ![CI Tests](https://github.com/bemanproject/optional/actions/workflows/ci.yml/badge.svg) [![Coverage](https://coveralls.io/repos/github/bemanproject/optional/badge.svg?branch=main)](https://coveralls.io/github/bemanproject/optional?branch=main) ![Standard Target](https://github.com/bemanproject/beman/blob/main/images/badges/cpp26.svg) This repository implements `std::optional` extensions targeting C++26. The `beman.optional` library aims to evaluate the stability, the usability, and the performance of these proposed changes before they are officially adopted by WG21 into the C++ Working Draft. Additionally, it allows developers to use these new features before they are implemented in major standard library compilers. From ab094107c1670a43453a6ff9330a265718eeab7f Mon Sep 17 00:00:00 2001 From: Jeff Garland Date: Wed, 2 Jul 2025 06:18:47 -0700 Subject: [PATCH 9/9] move license text below examples for better flow --- README.md | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 34e5e2cb..7e2a4e67 100644 --- a/README.md +++ b/README.md @@ -14,22 +14,6 @@ This repository implements `std::optional` extensions targeting C++26. The `bema **Status**: [Production ready. API may undergo changes.](https://github.com/bemanproject/beman/blob/main/docs/BEMAN_LIBRARY_MATURITY_MODEL.md#production-ready-api-may-undergo-changes) -## License - -Source is licensed with the Apache 2.0 license with LLVM exceptions - -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception - -Documentation and associated papers are licensed with the Creative Commons Attribution 4.0 International license. - -// SPDX-License-Identifier: CC-BY-4.0 - -The intent is that the source and documentation are available for use by people implementing their own optional types as well as people using the optional presented here as-is. - -The README itself is licensed with CC0 1.0 Universal. Copy the contents and incorporate in your own work as you see fit. - -// SPDX-License-Identifier: CC0-1.0 - ## Examples Full runable examples can be found in `examples/` - please check [./examples/README.md](./examples/README.md). @@ -54,7 +38,6 @@ for (const auto& i : opt) { std::cout << "\"for each loop\" over C++26 optional: opt = " << i << "\n"; } ``` - Full code can be found in [./examples/range_loop.cpp](./examples/range_loop.cpp). Build and run instructions in [./examples/README.md](./examples/README.md). Or try it on Compiler Explorer: [range_loop.cpp@Compiler Explorer](https://godbolt.org/z/Gc6Y9j6zf). @@ -83,6 +66,22 @@ beman::optional::optional cat = api(); Full code can be found in [./examples/optional_ref.cpp](./examples/optional_ref.cpp). Build and run instructions in [./examples/README.md](./examples/README.md). Or try it on Compiler Explorer: [optional_ref.cpp@Compiler Explorer](https://godbolt.org/z/MxjdvTTov). +## License + +Source is licensed with the Apache 2.0 license with LLVM exceptions + +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +Documentation and associated papers are licensed with the Creative Commons Attribution 4.0 International license. + +// SPDX-License-Identifier: CC-BY-4.0 + +The intent is that the source and documentation are available for use by people implementing their own optional types as well as people using the optional presented here as-is. + +The README itself is licensed with CC0 1.0 Universal. Copy the contents and incorporate in your own work as you see fit. + +// SPDX-License-Identifier: CC0-1.0 + ## How to Build ### Compiler Support