@@ -331,6 +331,8 @@ let player: Player = serde_json::from_str(&json_str)?;
331331
332332# Reflection as Accessing the Attributes of a Structure
333333
334+ <div class="center-table">
335+
334336| language | runtime reflection | compile-time reflection |
335337| :---------| :-------------------| :------------------------|
336338| C++ 26 | ❌ | ✅ |
@@ -339,6 +341,8 @@ let player: Player = serde_json::from_str(&json_str)?;
339341| C# | ✅ | ❌ |
340342| Rust | ❌ | ❌ (macros) |
341343
344+ </div>
345+
342346---
343347
344348# Now it's our Turn to Have Reflection!
@@ -583,19 +587,6 @@ concept appendable_containers =
583587
584588---
585589
586- ``` cpp
587- template <appendable_containers T, typename ... Args>
588- constexpr decltype (auto) emplace_one(T &vec, Args &&...args) {
589- if constexpr (details::supports_emplace_back<T >) {
590- return vec.emplace_back(std::forward<Args >(args)...);
591- } else if constexpr (details::supports_emplace<T >) {
592- return vec.emplace(std::forward<Args >(args)...);
593- } else if // ...
594- }
595- ```
596-
597- ---
598-
599590# Concepts + Reflection = Automatic Support
600591
601592When you write:
@@ -662,13 +653,14 @@ From neuroscience: systematically remove parts to understand function
662653
663654# Combined Performance Impact
664655
656+ <div class="center-table">
665657
666658| Optimization | Twitter Contribution | CITM Contribution |
667659|--------------|---------------------|-------------------|
668660| **Consteval** | +100% (2.00x) | +141% (2.41x) |
669661| **SIMD Escaping** | +42% (1.42x) | +4% (1.04x) |
670662| **Fast Digits** | +6% (1.06x) | +34% (1.34x) |
671-
663+ </div>
672664
673665---
674666
0 commit comments