Skip to content

Commit 24ea85f

Browse files
deploy: 4335271
1 parent ef8b9ba commit 24ea85f

4 files changed

Lines changed: 102 additions & 118 deletions

File tree

cppcon2025/cppcon_2025_slides.html

Lines changed: 98 additions & 105 deletions
Large diffs are not rendered by default.

cppcon2025/cppcon_2025_slides.md

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,11 @@ CppCon 2025
2020

2121
# JSON
2222

23-
2423
- Portable, simple
25-
- Douglas Crockford (2001)
26-
- RFC 8259 (December 2017)
27-
28-
29-
---
30-
31-
# JSON
32-
24+
- Used by ~97% of API requests. [Landscape of API Traffic 2021 - Cloudflare](https://blog.cloudflare.com/landscape-of-api-traffic/#:~:text=We%20begin%20by%20examining%20the,first%20week%20of%20February%202021)
3325
- scalar values
34-
- strings (controls and quotes must be escaped)
26+
- strings (must be escaped)
3527
- numbers (but not `NaN` or `Inf`)
36-
- `true`, `false`, `null`
3728
- composed values
3829
- objects (key/value)
3930
- arrays (list)
@@ -1395,7 +1386,7 @@ Try both: https://godbolt.org/z/1n539e7cq
13951386

13961387
## Compile-Time Field Discovery
13971388
```cpp
1398-
template for (constexpr auto member :
1389+
template for (constexpr auto member :
13991390
std::meta::nonstatic_data_members_of(^^Car)) {
14001391
// Field names known at compile time!
14011392
// Compiler generates optimal code for each field
@@ -1404,7 +1395,7 @@ template for (constexpr auto member :
14041395
14051396
## Result: Pre-computed Constants
14061397
- Field names → 64-bit integers
1407-
- String lengths → compile-time constants
1398+
- String lengths → compile-time constants
14081399
- Escape sequences → eliminated entirely
14091400
- Buffer sizes → calculated at compile time
14101401

cppcon2025/cppcon_2025_slides.pdf

-1.77 KB
Binary file not shown.

cppcon2025/presentation.pdf

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)