Skip to content

Commit dcae318

Browse files
authored
Merge pull request #16 from ngcpp/main
Merge from main to LKG
2 parents 3c49422 + bcbe0c7 commit dcae318

33 files changed

+129
-15
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.28)
22

3-
project(msft_proxy4 VERSION 4.0.1 LANGUAGES CXX)
3+
project(msft_proxy4 VERSION 4.0.2 LANGUAGES CXX)
44
add_library(msft_proxy4 INTERFACE)
55
set_target_properties(msft_proxy4 PROPERTIES EXPORT_NAME proxy)
66
add_library(msft_proxy4::proxy ALIAS msft_proxy4)

LICENSE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
MIT License
22

33
Copyright (c) 2022-2026 Microsoft Corporation.
4+
Copyright (c) 2026-Present Next Gen C++ Foundation.
45

56
Permission is hereby granted, free of charge, to any person obtaining a copy
67
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ If so, this library is for you.
1616

1717
"Proxy" is a modern C++ library that helps you use polymorphism (a way to use different types of objects interchangeably) without needing inheritance.
1818

19-
"Proxy" was created by Microsoft engineers and incubated at Microsoft from 2018 to Feb 2026, and has been used in the Windows operating system since 2022. It is now maintained by the Next Gen C++ Foundation (ngcpp). This repository was ported from https://github.com/microsoft/proxy, where more historical releases can be found. For many years, using inheritance was the main way to achieve polymorphism in C++. However, new programming languages like [Rust](https://doc.rust-lang.org/book/ch10-02-traits.html) offer better ways to do this. We have improved our understanding of object-oriented programming and decided to use *pointers* in C++ as the foundation for "Proxy". Specifically, the "Proxy" library is designed to be:
19+
"Proxy" was created by Microsoft engineers and incubated at Microsoft from 2018 to Feb 2026, and has been used in the Windows operating system since 2022. It is now maintained by the Next Gen C++ Foundation (ngcpp). This repository was ported from [microsoft/proxy](https://github.com/microsoft/proxy), where more historical releases can be found. For many years, using inheritance was the main way to achieve polymorphism in C++. However, new programming languages like [Rust](https://doc.rust-lang.org/book/ch10-02-traits.html) offer better ways to do this. We have improved our understanding of object-oriented programming and decided to use *pointers* in C++ as the foundation for "Proxy". Specifically, the "Proxy" library is designed to be:
2020

2121
- **Portable**: "Proxy" was implemented as a header-only library in standard C++20. It can be used on any platform while the compiler supports C++20. The majority of the library is [freestanding](https://en.cppreference.com/w/cpp/freestanding), making it feasible for embedded engineering or kernel design of an operating system.
2222
- **Non-intrusive**: An implementation type is no longer required to inherit from an abstract binding.

benchmarks/proxy_creation_benchmark.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// Copyright (c) 2022-2026 Microsoft Corporation.
2+
// Copyright (c) 2026-Present Next Gen C++ Foundation.
23
// Licensed under the MIT License.
34

45
#include <any>

benchmarks/proxy_operation_benchmark.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// Copyright (c) 2022-2026 Microsoft Corporation.
2+
// Copyright (c) 2026-Present Next Gen C++ Foundation.
23
// Licensed under the MIT License.
34

45
#include <benchmark/benchmark.h>

benchmarks/proxy_operation_benchmark_context.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// Copyright (c) 2022-2026 Microsoft Corporation.
2+
// Copyright (c) 2026-Present Next Gen C++ Foundation.
23
// Licensed under the MIT License.
34

45
#include "proxy_operation_benchmark_context.h"

benchmarks/proxy_operation_benchmark_context.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// Copyright (c) 2022-2026 Microsoft Corporation.
2+
// Copyright (c) 2026-Present Next Gen C++ Foundation.
23
// Licensed under the MIT License.
34

45
#include <any>

docs/resources/icon.png

481 Bytes
Loading

docs/spec/msft_lib_proxy.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Starting with 3.0.0, Proxy ships a feature-test macro that encodes the library v
1010
1111
| Version | Value of `__msft_lib_proxy` |
1212
| ------- | --------------------------- |
13+
| 4.0.2 | `202603L` |
1314
| 4.0.1 | `202510L` |
1415
| 4.0.0 | `202508L` |
1516
| 3.4.0 | `202505L` |

include/proxy/proxy.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// Copyright (c) 2022-2026 Microsoft Corporation.
2+
// Copyright (c) 2026-Present Next Gen C++ Foundation.
23
// Licensed under the MIT License.
34

45
#ifndef MSFT_PROXY_PROXY_H_

0 commit comments

Comments
 (0)