|
5 | 5 | [](https://cmake.org) [](https://isocpp.org) [](https://github.com/ReflectCxx/ReflectionTemplateLibrary-CPP/actions/workflows/build.yml?query=branch%3Arelease) [](LICENSE) |
6 | 6 |
|
7 | 7 | ### 🪞 What’s “Reflection”? |
8 | | - |
9 | 8 | Reflection lets you interact with code by `name` instead of by `type`. Imagine you’ve written a simple function, |
10 | 9 | ```c++ |
11 | 10 | std::string complexToStr(float real, float img); |
@@ -131,19 +130,19 @@ RTL doesn’t invent a new paradigm — it extends C++ itself. You create object |
131 | 130 |
|
132 | 131 | ## Reflection Features |
133 | 132 |
|
134 | | -* ✅ **Function Reflection** 🔧 – Register and invoke C-style functions, supporting all kinds of overloads. |
135 | | -* ✅ **Class and Struct Reflection** 🏗️ – Register and dynamically reflect their methods, constructors, and destructors. |
136 | | -* ✅ **Complete Constructor Support** 🏗️: |
| 133 | +* ✅ **Function Reflection** – Register and invoke C-style functions, supporting all kinds of overloads. |
| 134 | +* ✅ **Class and Struct Reflection** – Register and dynamically reflect their methods, constructors, and destructors. |
| 135 | +* ✅ **Complete Constructor Support** : |
137 | 136 | * Default construction. |
138 | 137 | * Copy/Move construction. |
139 | 138 | * Any overloaded constructor. |
140 | 139 |
|
141 | | -* ✅ **Allocation Strategies & Ownership** 📂: |
| 140 | +* ✅ **Allocation Strategies & Ownership** : |
142 | 141 | * Choose between `Heap` or `Stack` allocation. |
143 | 142 | * Automatic move semantics for ownership transfers. |
144 | 143 | * Scope-based destruction for `Heap` allocated instances. |
145 | 144 |
|
146 | | -* ✅ **Member Function Invocation** 🎯: |
| 145 | +* ✅ **Member Function Invocation** : |
147 | 146 | * Static methods. |
148 | 147 | * Const/Non-const methods. |
149 | 148 | * Any overloaded method, Const/Non-Const based as well. |
@@ -182,10 +181,12 @@ To build, use any IDE applicable to the generator, or build straight from CMake: |
182 | 181 | cmake --build . |
183 | 182 | ``` |
184 | 183 |
|
185 | | -Run the **CxxRTLTestApplication** binary generated in the `../bin` folder. *(Tested MSVC-19, GCC-14 & Clang-19)* |
186 | | -* See `CxxTestRegistration/src/MyReflectionTests/` for introductory type registration & reflective programming examples. |
187 | | -* See `CxxRTLTestApplication/src` for detailed test cases. |
188 | | - |
| 184 | +Run the `RTLTestRunApp` or `RTLBenchmarkApp` binaries generated in the `bin/` directory. (Tested with MSVC 19, GCC 14, and Clang 19) |
| 185 | +* See `CxxTestRegistration/src/MyReflectionTests/` for introductory examples of type registration and reflective programming. |
| 186 | +* See `RTLTestRunApp/src` for detailed test cases. |
| 187 | +* See `RTLBenchmarkApp/src` for benchmarking implementations. |
| 188 | +* Run `run_benchmarks.sh` to perform automated benchmarking, from micro-level tests to scaled workloads. |
| 189 | + |
189 | 190 | ## Contributions |
190 | 191 |
|
191 | 192 | Contributions welcome! Report bugs, request features, or submit PRs on GitHub. |
|
0 commit comments