You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -106,31 +106,31 @@ RTL doesn’t invent a new paradigm — it extends C++ itself. You create object
106
106
## Reflection Features
107
107
108
108
* ✅ **Function Reflection** 🔧 – Register and invoke C-style functions, supporting all kinds of overloads.
109
-
* ✅ **Class and Struct Reflection**🏗️ – Register and dynamically reflect their methods, constructors, and destructors.
110
-
* ✅ **Complete Constructor Support**🏗️:
109
+
* ✅ **Class and Struct Reflection** – Register and dynamically reflect their methods, constructors, and destructors.
110
+
* ✅ **Complete Constructor Support** :
111
111
* Default construction.
112
112
* Copy/Move construction.
113
113
* Any overloaded constructor.
114
114
115
-
* ✅ **Allocation Strategies & Ownership**📂:
115
+
* ✅ **Allocation Strategies & Ownership** :
116
116
* Choose between `Heap` or `Stack` allocation.
117
117
* Automatic move semantics for ownership transfers.
118
118
* Scope-based destruction for `Heap` allocated instances.
119
119
120
-
* ✅ **Member Function Invocation**🎯:
120
+
* ✅ **Member Function Invocation** :
121
121
* Static methods.
122
122
* Const/Non-const methods.
123
123
* Any overloaded method, Const/Non-Const based as well.
124
124
125
-
* ✅ **Perfect Forwarding**🚀 – Binds LValue/RValue to correct overload.
126
-
* ✅ **Zero Overhead Forwarding**⚡ – No temporaries or copies during method forwarding.
127
-
* ✅ **Namespace Support**🗂️ – Group and reflect under namespaces.
128
-
* ✅ **Reflected Returns**🔍 – Access return values whose types are unknown at compile time. Validate against the expected type and extract the content safely.
129
-
* ✅ **Smart Pointer Reflection**🔗 – Reflect `std::shared_ptr` and `std::unique_ptr`, transparently access the underlying type, and benefit from automatic lifetime management with full sharing and cloning semantics.
130
-
* 🟨 **Conservative Conversions**🛡️ – Safely reinterpret reflected values without hidden costs. For example: treat an `int` as a `char`, or a `std::string` as a `std::string_view` / `const char*` — with no hidden copies and only safe, non-widening POD conversions. *(In Progress)*
131
-
* 🟨 **Materialize New Types**🔄 – Convert a reflected type `A` into type `B` if they are implicitly convertible. Define custom conversions at registration to make them available automatically. *(In Progress)*
132
-
* 🚧 **STL Wrapper Support**📦 – Extended support for wrappers like `std::optional` and `std::reference_wrapper`. Return them, forward them as parameters, and access wrapped entities transparently. *(In Progress)*
133
-
* 🚧 **Relaxed Argument Matching**⚙️ – Flexible parameter matching for reflective calls, enabling intuitive conversions and overload resolution. *(In Progress)*
125
+
* ✅ **Perfect Forwarding** – Binds LValue/RValue to correct overload.
126
+
* ✅ **Zero Overhead Forwarding** – No temporaries or copies during method forwarding.
127
+
* ✅ **Namespace Support** – Group and reflect under namespaces.
128
+
* ✅ **Reflected Returns** – Access return values whose types are unknown at compile time. Validate against the expected type and extract the content safely.
129
+
* ✅ **Smart Pointer Reflection** – Reflect `std::shared_ptr` and `std::unique_ptr`, transparently access the underlying type, and benefit from automatic lifetime management with full sharing and cloning semantics.
130
+
* 🟨 **Conservative Conversions** – Safely reinterpret reflected values without hidden costs. For example: treat an `int` as a `char`, or a `std::string` as a `std::string_view` / `const char*` — with no hidden copies and only safe, non-widening POD conversions. *(In Progress)*
131
+
* 🟨 **Materialize New Types** – Convert a reflected type `A` into type `B` if they are implicitly convertible. Define custom conversions at registration to make them available automatically. *(In Progress)*
132
+
* 🚧 **STL Wrapper Support** – Extended support for wrappers like `std::optional` and `std::reference_wrapper`. Return them, forward them as parameters, and access wrapped entities transparently. *(In Progress)*
133
+
* 🚧 **Relaxed Argument Matching** – Flexible parameter matching for reflective calls, enabling intuitive conversions and overload resolution. *(In Progress)*
0 commit comments