Overview of Proxy: Next Generation Polymorphism in C++
mainProxy is a modern C++20 header-only library designed to enable polymorphism without the need for traditional inheritance. It provides a way to use different types of objects interchangeably using pointers as a foundation, similar to how traits work in languages like Rust.
Key features include:
- Portable: Implemented in standard C++20 and largely freestanding, making it suitable for embedded systems or kernel design.
- Non-intrusive: Implementation types do not need to inherit from an abstract binding.
- Well-managed: Provides GC-like lifetime management for objects without a full garbage collector.
- Fast: Designed to produce high-quality code that often outperforms traditional inheritance-based approaches.
- Flexible: Supports polymorphism for member functions, free functions, operators, and conversions.
Note: This repository is no longer actively maintained by Microsoft. Active development has moved to the ngcpp/proxy organization.