Skip to content

Commit f310293

Browse files
authored
Update README.md
1 parent b8172aa commit f310293

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -106,31 +106,31 @@ RTL doesn’t invent a new paradigm — it extends C++ itself. You create object
106106
## Reflection Features
107107

108108
***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** :
111111
* Default construction.
112112
* Copy/Move construction.
113113
* Any overloaded constructor.
114114

115-
***Allocation Strategies & Ownership** 📂:
115+
***Allocation Strategies & Ownership** :
116116
* Choose between `Heap` or `Stack` allocation.
117117
* Automatic move semantics for ownership transfers.
118118
* Scope-based destruction for `Heap` allocated instances.
119119

120-
***Member Function Invocation** 🎯:
120+
***Member Function Invocation** :
121121
* Static methods.
122122
* Const/Non-const methods.
123123
* Any overloaded method, Const/Non-Const based as well.
124124

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)*
134134
***Property Reflection**: Planned.
135135
***Enum Reflection**: Planned.
136136
***Composite Type Reflection**: Planned.

0 commit comments

Comments
 (0)