diff --git a/LICENSE b/LICENSE index 84c4f3f..6f07338 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,7 @@ MIT License Copyright (c) 2022-2026 Microsoft Corporation. + Copyright (c) 2026-Present Next Gen C++ Foundation. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 75737c1..2b34a01 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ If so, this library is for you. "Proxy" is a modern C++ library that helps you use polymorphism (a way to use different types of objects interchangeably) without needing inheritance. -"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: +"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: - **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. - **Non-intrusive**: An implementation type is no longer required to inherit from an abstract binding. diff --git a/benchmarks/proxy_creation_benchmark.cpp b/benchmarks/proxy_creation_benchmark.cpp index 11d8b29..dc7ccda 100644 --- a/benchmarks/proxy_creation_benchmark.cpp +++ b/benchmarks/proxy_creation_benchmark.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include diff --git a/benchmarks/proxy_operation_benchmark.cpp b/benchmarks/proxy_operation_benchmark.cpp index dbb3053..9c21576 100644 --- a/benchmarks/proxy_operation_benchmark.cpp +++ b/benchmarks/proxy_operation_benchmark.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include diff --git a/benchmarks/proxy_operation_benchmark_context.cpp b/benchmarks/proxy_operation_benchmark_context.cpp index fedcef6..7ab293d 100644 --- a/benchmarks/proxy_operation_benchmark_context.cpp +++ b/benchmarks/proxy_operation_benchmark_context.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include "proxy_operation_benchmark_context.h" diff --git a/benchmarks/proxy_operation_benchmark_context.h b/benchmarks/proxy_operation_benchmark_context.h index 53bf0f1..d0566c7 100644 --- a/benchmarks/proxy_operation_benchmark_context.h +++ b/benchmarks/proxy_operation_benchmark_context.h @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include diff --git a/docs/resources/icon.png b/docs/resources/icon.png index 5b2ea19..bc87464 100644 Binary files a/docs/resources/icon.png and b/docs/resources/icon.png differ diff --git a/include/proxy/proxy.h b/include/proxy/proxy.h index d840382..fa2b431 100644 --- a/include/proxy/proxy.h +++ b/include/proxy/proxy.h @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #ifndef MSFT_PROXY_PROXY_H_ diff --git a/include/proxy/proxy_fmt.h b/include/proxy/proxy_fmt.h index 1d3b154..5dbbbcd 100644 --- a/include/proxy/proxy_fmt.h +++ b/include/proxy/proxy_fmt.h @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #ifndef MSFT_PROXY_PROXY_FMT_H_ diff --git a/include/proxy/proxy_macros.h b/include/proxy/proxy_macros.h index 953e7dd..cba1bdf 100644 --- a/include/proxy/proxy_macros.h +++ b/include/proxy/proxy_macros.h @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #ifndef MSFT_PROXY_PROXY_MACROS_H_ diff --git a/include/proxy/v4/proxy.h b/include/proxy/v4/proxy.h index 0a6eccc..ac1408c 100644 --- a/include/proxy/v4/proxy.h +++ b/include/proxy/v4/proxy.h @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #ifndef MSFT_PROXY_V4_PROXY_H_ diff --git a/include/proxy/v4/proxy_fmt.h b/include/proxy/v4/proxy_fmt.h index 5587b8f..378310c 100644 --- a/include/proxy/v4/proxy_fmt.h +++ b/include/proxy/v4/proxy_fmt.h @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #ifndef MSFT_PROXY_V4_PROXY_FMT_H_ diff --git a/include/proxy/v4/proxy_macros.h b/include/proxy/v4/proxy_macros.h index 3590ddf..61a2d49 100644 --- a/include/proxy/v4/proxy_macros.h +++ b/include/proxy/v4/proxy_macros.h @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #ifndef MSFT_PROXY_V4_PROXY_MACROS_H_ diff --git a/mkdocs.yml b/mkdocs.yml index 06eed02..556f54a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -2,7 +2,7 @@ site_name: Proxy 4 site_url: https://ngcpp.github.io/proxy site_description: Next Generation Polymorphism in C++ -copyright: Copyright (c) 2022-2026 Microsoft Corporation +copyright: Copyright (c) 2022-2026 Microsoft Corporation
Copyright (c) 2026-Present Next Gen C++ Foundation repo_url: https://github.com/ngcpp/proxy/ edit_uri: "" diff --git a/tests/proxy_creation_tests.cpp b/tests/proxy_creation_tests.cpp index b93727c..d88dc24 100644 --- a/tests/proxy_creation_tests.cpp +++ b/tests/proxy_creation_tests.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include "utils.h" diff --git a/tests/proxy_dispatch_tests.cpp b/tests/proxy_dispatch_tests.cpp index 0e66170..afdbf87 100644 --- a/tests/proxy_dispatch_tests.cpp +++ b/tests/proxy_dispatch_tests.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include diff --git a/tests/proxy_fmt_format_tests.cpp b/tests/proxy_fmt_format_tests.cpp index 7467c23..7a4a93e 100644 --- a/tests/proxy_fmt_format_tests.cpp +++ b/tests/proxy_fmt_format_tests.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include diff --git a/tests/proxy_format_tests.cpp b/tests/proxy_format_tests.cpp index 4860b25..848cef0 100644 --- a/tests/proxy_format_tests.cpp +++ b/tests/proxy_format_tests.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include diff --git a/tests/proxy_integration_tests.cpp b/tests/proxy_integration_tests.cpp index 7f2fb6d..d54d415 100644 --- a/tests/proxy_integration_tests.cpp +++ b/tests/proxy_integration_tests.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include diff --git a/tests/proxy_invocation_tests.cpp b/tests/proxy_invocation_tests.cpp index 5dd57ce..69eacd0 100644 --- a/tests/proxy_invocation_tests.cpp +++ b/tests/proxy_invocation_tests.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include diff --git a/tests/proxy_lifetime_tests.cpp b/tests/proxy_lifetime_tests.cpp index 91942e8..24d5e49 100644 --- a/tests/proxy_lifetime_tests.cpp +++ b/tests/proxy_lifetime_tests.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include "utils.h" diff --git a/tests/proxy_reflection_tests.cpp b/tests/proxy_reflection_tests.cpp index ecbf6cd..ab24402 100644 --- a/tests/proxy_reflection_tests.cpp +++ b/tests/proxy_reflection_tests.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include "utils.h" diff --git a/tests/proxy_regression_tests.cpp b/tests/proxy_regression_tests.cpp index 5c21917..443af72 100644 --- a/tests/proxy_regression_tests.cpp +++ b/tests/proxy_regression_tests.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include diff --git a/tests/proxy_rtti_tests.cpp b/tests/proxy_rtti_tests.cpp index 3965ca2..1545939 100644 --- a/tests/proxy_rtti_tests.cpp +++ b/tests/proxy_rtti_tests.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include diff --git a/tests/proxy_traits_tests.cpp b/tests/proxy_traits_tests.cpp index 51ef045..0f092e6 100644 --- a/tests/proxy_traits_tests.cpp +++ b/tests/proxy_traits_tests.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include "utils.h" diff --git a/tests/proxy_view_tests.cpp b/tests/proxy_view_tests.cpp index 9dbf3c5..f47f5b0 100644 --- a/tests/proxy_view_tests.cpp +++ b/tests/proxy_view_tests.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include "utils.h" diff --git a/tests/utils.h b/tests/utils.h index 8ad7fac..000b356 100644 --- a/tests/utils.h +++ b/tests/utils.h @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #ifndef _MSFT_PROXY_TEST_UTILS_ diff --git a/tools/report_generator/main.cpp b/tools/report_generator/main.cpp index 9e47a46..a83dcde 100644 --- a/tools/report_generator/main.cpp +++ b/tools/report_generator/main.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2022-2026 Microsoft Corporation. +// Copyright (c) 2026-Present Next Gen C++ Foundation. // Licensed under the MIT License. #include