├── README.md
├── .github
└── workflows
│ └── jekyll.yml
├── index.html
└── assets
└── videos.json
/README.md:
--------------------------------------------------------------------------------
1 | # C++ Weekly Videos
2 |
3 | This is the official database and viewer for C++ Weekly episodes
4 |
5 | published at: https://lefticus.github.io/cpp_weekly_videos/
6 |
--------------------------------------------------------------------------------
/.github/workflows/jekyll.yml:
--------------------------------------------------------------------------------
1 | name: Jekyll site CI
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | pull_request:
7 | branches: [ master ]
8 |
9 | jobs:
10 | build:
11 |
12 | runs-on: ubuntu-latest
13 |
14 | steps:
15 | - uses: actions/checkout@v2
16 | - name: Build the site in the jekyll/builder container
17 | run: |
18 | docker run \
19 | -v ${{ github.workspace }}:/srv/jekyll -v ${{ github.workspace }}/_site:/srv/jekyll/_site \
20 | jekyll/builder:latest /bin/bash -c "chmod 777 /srv/jekyll && jekyll build --future"
21 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Video Database For C++ Weekly
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/assets/videos.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "Video": "6GRSyiFhTI4",
4 | "Title": "Faster Compile Times with ChaiScript",
5 | "Date": "2015-09-17"
6 | },
7 | {
8 | "Video": "EJtqHLvAIZE",
9 | "Title": "C++ Weekly - Ep 1 ChaiScript_Parser Initialization Refactor",
10 | "Date": "2016-03-08"
11 | },
12 | {
13 | "Video": "B3WWsKFePiM",
14 | "Title": "C++ Weekly - Ep 2 Cost of Using Statics",
15 | "Date": "2016-03-14",
16 | "Tags": ["static", "C++11", "performance"],
17 | "CompilerExplorer": [],
18 | "QuickBench": [],
19 | "GitHub": [],
20 | "Documentation": []
21 | },
22 | {
23 | "Video": "OchPaGEH4TE",
24 | "Title": "C++ Weekly - Ep 3 Intro to clang-tidy",
25 | "Date": "2016-03-21"
26 | },
27 | {
28 | "Video": "VXi0AOQ0PF0",
29 | "Title": "C++ Weekly - Ep 4 Variadic Template Refactor",
30 | "Date": "2016-03-28"
31 | },
32 | {
33 | "Video": "CeHSHEZg-PQ",
34 | "Title": "C++ Weekly - Ep 5 Intro To ChaiScript",
35 | "Date": "2016-04-04"
36 | },
37 | {
38 | "Video": "o1EvPhz6UNE",
39 | "Title": "C++ Weekly - Ep 6 Intro To Variadic Templates",
40 | "Date": "2016-04-11"
41 | },
42 | {
43 | "Video": "GMqQOEZYVJQ",
44 | "Title": "C++ Weekly - Ep 7 Stop Using std::endl",
45 | "Date": "2016-04-18"
46 | },
47 | {
48 | "Video": "uX99t7GmuDc",
49 | "Title": "C++ Weekly - Ep 8 C++ Name Demangling",
50 | "Date": "2016-04-25"
51 | },
52 | {
53 | "Video": "iCL6GYoi1RU",
54 | "Title": "C++ Weekly - Ep 9 std::future Quick-Start",
55 | "Date": "2016-05-02"
56 | },
57 | {
58 | "Video": "CU3VYN6xGzM",
59 | "Title": "C++ Weekly - Ep 10 Variadic Expansion Wrap-Up",
60 | "Date": "2016-05-08"
61 | },
62 | {
63 | "Video": "ZgN1-i095QY",
64 | "Title": "C++ Weekly - Ep 11 std::future Part 2",
65 | "Date": "2016-05-16"
66 | },
67 | {
68 | "Video": "vLhr_y4YOIY",
69 | "Title": "C++ Weekly - Ep 12 C++17's std::any",
70 | "Date": "2016-05-23"
71 | },
72 | {
73 | "Video": "hErD6WGqPlA",
74 | "Title": "C++ Weekly - Ep 13 Fibonacci: You're Doing It Wrong",
75 | "Date": "2016-05-30"
76 | },
77 | {
78 | "Video": "i3dK_ndZ72c",
79 | "Title": "C++ Weekly - Ep 14 Standard Library Gems: `next` and `exchange`",
80 | "Date": "2016-06-06"
81 | },
82 | {
83 | "Video": "JtUZmkvroKg",
84 | "Title": "C++ Weekly - Ep 15 Using `std::bind`",
85 | "Date": "2016-06-13"
86 | },
87 | {
88 | "Video": "ZlHi8txU4aQ",
89 | "Title": "C++ Weekly - Ep 16 Avoiding `std::bind`",
90 | "Date": "2016-06-20"
91 | },
92 | {
93 | "Video": "GEbPRS81py4",
94 | "Title": "Ask C++ Weekly: `std::exchange` vs `std::swap`",
95 | "Date": "2016-06-23"
96 | },
97 | {
98 | "Video": "z-kUhwANrIw",
99 | "Title": "C++ Weekly - Ep 17 C++17's `std::invoke`",
100 | "Date": "2016-06-27"
101 | },
102 | {
103 | "Video": "qHgM5UdzPQU",
104 | "Title": "C++ Weekly - Ep 18 C++17's constexpr if",
105 | "Date": "2016-07-05"
106 | },
107 | {
108 | "Video": "_Ny6Qbm_uMI",
109 | "Title": "C++ Weekly Special Edition - Using C++17's constexpr if",
110 | "Date": "2016-07-08"
111 | },
112 | {
113 | "Video": "nLv_INgaLq8",
114 | "Title": "C++ Weekly - Ep 19 C++14 For The Commodore 64",
115 | "Date": "2016-07-11"
116 | },
117 | {
118 | "Video": "nhk8pF_SlTk",
119 | "Title": "C++ Weekly - Ep 20 C++17's Fold Expressions - Introduction",
120 | "Date": "2016-07-18"
121 | },
122 | {
123 | "Video": "AiXU5EuLZgc",
124 | "Title": "C++ Weekly - Ep 21 C++17's `if` and `switch` Init Statements",
125 | "Date": "2016-07-25"
126 | },
127 | {
128 | "Video": "p32owQE_5u0",
129 | "Title": "C++ Weekly - Ep 22 C++17's Nested Namespaces and `std::clamp`",
130 | "Date": "2016-08-01"
131 | },
132 | {
133 | "Video": "miODwx7gv6o",
134 | "Title": "C++ Weekly - Ep 23 C++17's __has_include",
135 | "Date": "2016-08-08"
136 | },
137 | {
138 | "Video": "aBZlbb9sE-g",
139 | "Title": "C++ Weekly - Ep 24 C++17's Structured Bindings",
140 | "Date": "2016-08-15"
141 | },
142 | {
143 | "Video": "qMqWoT016cA",
144 | "Title": "C++ Weekly - Ep 25 C++17's Aggregate Initializations",
145 | "Date": "2016-08-22"
146 | },
147 | {
148 | "Video": "uCRkBXQhud0",
149 | "Title": "C++ Weekly - Ep 26 Language Features Removed in C++17",
150 | "Date": "2016-08-29"
151 | },
152 | {
153 | "Video": "QlI65u6MPL8",
154 | "Title": "C++ Weekly - Ep 27 - C++17 Changes To Sequence Containers",
155 | "Date": "2016-09-06"
156 | },
157 | {
158 | "Video": "heTklAyLLRQ",
159 | "Title": "C++ Weekly - Ep 28 - C++17's [[fallthrough]] Attribute",
160 | "Date": "2016-09-12"
161 | },
162 | {
163 | "Video": "vZLc7BXSLXE",
164 | "Title": "[Re-upload] C++ Weekly - Ep 28 - C++17's [[fallthrough]] Attribute",
165 | "Date": "2016-09-12",
166 | "CompilerExplorer": ["https://godbolt.org/z/qn1qMv"],
167 | "Documentation": ["http://eel.is/c++draft/dcl.attr.fallthrough", "http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0188r1.pdf", "https://en.cppreference.com/w/cpp/language/attributes/fallthrough"]
168 |
169 | },
170 | {
171 | "Video": "WSPmNL9834U",
172 | "Title": "C++ Weekly - Ep 29 - C++17's [[maybe_unused]] Attribute",
173 | "Date": "2016-09-20"
174 | },
175 | {
176 | "Video": "l_5PF3GQLKc",
177 | "Title": "C++ Weekly - Ep 30 - C++17's [[nodiscard]] Attribute",
178 | "Date": "2016-09-26"
179 | },
180 | {
181 | "Video": "HIutsKjCUeA",
182 | "Title": "Commodore 64 Column Shimmer After Transport",
183 | "Date": "2016-09-27"
184 | },
185 | {
186 | "Video": "RWavTVo7D3M",
187 | "Title": "C++ Weekly Special Edition - Borland Turbo C++ 3.0 Review",
188 | "Date": "2016-09-30"
189 | },
190 | {
191 | "Video": "HB__A7-tu2U",
192 | "Title": "C++ Weekly - Ep 31 - IncludeOS",
193 | "Date": "2016-10-03"
194 | },
195 | {
196 | "Video": "7vKv6MJUNZY",
197 | "Title": "C++ Weekly Special Edition - Borland Turbo C++ 3.0 Review - Part 2",
198 | "Date": "2016-10-07"
199 | },
200 | {
201 | "Video": "_CbBfuQQQI8",
202 | "Title": "C++ Weekly - Ep 32 - Lambdas For Free",
203 | "Date": "2016-10-10"
204 | },
205 | {
206 | "Video": "3Ud9HryMUqA",
207 | "Title": "C++ Weekly SE - g++ 2.4.5 (1993) Review",
208 | "Date": "2016-10-14"
209 | },
210 | {
211 | "Video": "-qNNAMH9LHA",
212 | "Title": "C++ Weekly - Ep 33 - Start Using Default Member Initializers",
213 | "Date": "2016-10-17"
214 | },
215 | {
216 | "Video": "tr-D10nQedc",
217 | "Title": "C++ Weekly SE - Visual C++ 1.52 (1993) Review",
218 | "Date": "2016-10-21"
219 | },
220 | {
221 | "Video": "my39Gpt6bvY",
222 | "Title": "C++ Weekly - Ep 34 - Reading Assembly Language - Part 1",
223 | "Date": "2016-10-24"
224 | },
225 | {
226 | "Video": "R3HZJ1h2BVY",
227 | "Title": "C++ Weekly - Ep 35 - Reading Assembly Language - Part 2",
228 | "Date": "2016-10-31"
229 | },
230 | {
231 | "Video": "KpH6ypYfoNs",
232 | "Title": "C++ Weekly - Ep 36 - Reading Assembly Language - Part 3",
233 | "Date": "2016-11-07"
234 | },
235 | {
236 | "Video": "_1X9D8Z5huA",
237 | "Title": "C++ Weekly - Ep 37 - Stateful Lambdas",
238 | "Date": "2016-11-14"
239 | },
240 | {
241 | "Video": "dEBQL4KPSk8",
242 | "Title": "C++ Weekly - Ep 38 - C++17's Class Template Argument Type Deduction",
243 | "Date": "2016-11-21"
244 | },
245 | {
246 | "Video": "-3fVp0U4xi0",
247 | "Title": "C++ Weekly - Ep 39 - C++17's Deduction Guides",
248 | "Date": "2016-11-28"
249 | },
250 | {
251 | "Video": "W-xTpqj31mI",
252 | "Title": "C++ Weekly - Ep 40 - Inheriting From Lambdas",
253 | "Date": "2016-12-05"
254 | },
255 | {
256 | "Video": "kmza9U_niq4",
257 | "Title": "C++ Weekly - Ep 41 - C++17's constexpr Lambda Support",
258 | "Date": "2016-12-12"
259 | },
260 | {
261 | "Video": "FWD1msG8YU4",
262 | "Title": "C++ Weekly - Ep 42 - Clang's Heap Elision",
263 | "Date": "2016-12-19"
264 | },
265 | {
266 | "Video": "5e3m2cppQ6M",
267 | "Title": "C++ Weekly - Ep 43 - Stack Elision?",
268 | "Date": "2016-12-26"
269 | },
270 | {
271 | "Video": "rpn_5Mrrxf8",
272 | "Title": "C++ Weekly - Ep 44 - constexpr Compile Time Random",
273 | "Date": "2017-01-02"
274 | },
275 | {
276 | "Video": "3SXML1-Ty5U",
277 | "Title": "C++ Weekly - Ep 45 - Compile Time Maze Generator (and Solver)",
278 | "Date": "2017-01-09"
279 | },
280 | {
281 | "Video": "yRxty2FqGn4",
282 | "Title": "C++ Weekly - Ep 45 - Compile Time Maze Generator (and Solver)",
283 | "Date": "2017-01-09"
284 | },
285 | {
286 | "Video": "yTAHfKGMOEM",
287 | "Title": "C++ Weekly - Ep 46 - Start Using Visual C++",
288 | "Date": "2017-01-17"
289 | },
290 | {
291 | "Video": "SnTV5BU9x6k",
292 | "Title": "C++ Weekly - Ep 47 - My Visual C++ Pet Peeve",
293 | "Date": "2017-01-23"
294 | },
295 | {
296 | "Video": "1gNzhE-Tn40",
297 | "Title": "C++ Weekly - Ep 48 - C++17's Variadic `using`",
298 | "Date": "2017-01-30"
299 | },
300 | {
301 | "Video": "PPAlh_FmO4M",
302 | "Title": "C++ Weekly SE - Why -0xFFFFFFFF == 1",
303 | "Date": "2017-02-01"
304 | },
305 | {
306 | "Video": "3wm5QzdddYc",
307 | "Title": "C++ Weekly - Ep 49 - Why Inherit From Lambdas?",
308 | "Date": "2017-02-06"
309 | },
310 | {
311 | "Video": "QsicIaOGsI4",
312 | "Title": "C++ Weekly - Ep 50 - Inheriting Lambdas vs Generic Lambdas",
313 | "Date": "2017-02-13"
314 | },
315 | {
316 | "Video": "GeLp4F-Svc8",
317 | "Title": "C++ Weekly - Ep 51 - Advanced Stateful Lambdas",
318 | "Date": "2017-02-20"
319 | },
320 | {
321 | "Video": "aMpCr8yXUaM",
322 | "Title": "C++ Weekly - Ep 52 - C++ To C Compilation",
323 | "Date": "2017-02-27"
324 | },
325 | {
326 | "Video": "lW51OrNJAn8",
327 | "Title": "C++ Weekly - Ep 53 - Gotos Are Everywhere",
328 | "Date": "2017-03-06"
329 | },
330 | {
331 | "Video": "8pswWvQqqmA",
332 | "Title": "C++ Weekly - Ep 54 - Zero Cost Embedded C++ - Part 1",
333 | "Date": "2017-03-13"
334 | },
335 | {
336 | "Video": "YJzIcmD7IsY",
337 | "Title": "C++ Weekly - Ep 54 - Zero Cost Embedded C++ - Part 1",
338 | "Date": "2017-03-14"
339 | },
340 | {
341 | "Video": "x57KZWyNTqo",
342 | "Title": "C++ Weekly - Ep 55 - Zero Cost Embedded C++ - Part 2",
343 | "Date": "2017-03-20"
344 | },
345 | {
346 | "Video": "kPqkPmpxya0",
347 | "Title": "C++ Weekly - Ep 56 - Zero Cost Embedded C++ - Part 3",
348 | "Date": "2017-03-27"
349 | },
350 | {
351 | "Video": "yRKRqzekLU4",
352 | "Title": "C++ Weekly - Ep 57 - Dissecting An Optimization",
353 | "Date": "2017-04-03"
354 | },
355 | {
356 | "Video": "fRzF7NSF1II",
357 | "Title": "C++ Weekly - Ep 58 - Negative Cost Embedded C++ - Part 1",
358 | "Date": "2017-04-10"
359 | },
360 | {
361 | "Video": "u615he5wdeo",
362 | "Title": "C++ Weekly - Ep 59 - Negative Cost Embedded C++ - Part 2",
363 | "Date": "2017-04-17"
364 | },
365 | {
366 | "Video": "Mu-GUZuU31A",
367 | "Title": "C++ Weekly - Ep 60 - std::quoted",
368 | "Date": "2017-04-24"
369 | },
370 | {
371 | "Video": "WUvF4W98vq4",
372 | "Title": "C++ Weekly - Ep 61 - Storage Duration with Lambdas",
373 | "Date": "2017-05-01"
374 | },
375 | {
376 | "Video": "IOxKjqC1Ozo",
377 | "Title": "C++ Weekly - Ep 62 - std::regex",
378 | "Date": "2017-05-08"
379 | },
380 | {
381 | "Video": "18v-fb_TepU",
382 | "Title": "C++ Weekly - Ep 63 - What is Negative Zero?",
383 | "Date": "2017-05-15"
384 | },
385 | {
386 | "Video": "z_fnMdzfWAQ",
387 | "Title": "C++ Weekly - Ep 64 - C++11's std::min (and my version)",
388 | "Date": "2017-05-22"
389 | },
390 | {
391 | "Video": "VXgTKrSS1-c",
392 | "Title": "C++ Weekly - Ep 65 - C++11's std::fmin",
393 | "Date": "2017-05-29"
394 | },
395 | {
396 | "Video": "Mzi5SHi13MM",
397 | "Title": "C++ Weekly - Ep 66 - Variadic fmin for C++11",
398 | "Date": "2017-06-05"
399 | },
400 | {
401 | "Video": "akak2jYXOVg",
402 | "Title": "C++ Weekly - Ep 67 - C++17's std::gcd and std::lcm",
403 | "Date": "2017-06-12"
404 | },
405 | {
406 | "Video": "fW69R_BtHmU",
407 | "Title": "C++ Weekly - Ep 68 - std::iota",
408 | "Date": "2017-06-19"
409 | },
410 | {
411 | "Video": "YUCW_MnksjQ",
412 | "Title": "C++ Weekly - Ep 69 - C++17's Searchers",
413 | "Date": "2017-06-26"
414 | },
415 | {
416 | "Video": "d4nmNYTM1j8",
417 | "Title": "C++ Weekly - Ep 70 - C++ IIFE in quick-bench.com",
418 | "Date": "2017-07-03"
419 | },
420 | {
421 | "Video": "HeyB-DkAqWo",
422 | "Title": "C++ Weekly - Ep 71 - Hidden C++ 17 - Part 1 (Fixed Video Quality)",
423 | "Date": "2017-07-10"
424 | },
425 | {
426 | "Video": "TXin7Nz9Knw",
427 | "Title": "C++ Weekly - Ep 71 - Hidden C++ 17 - Part 1",
428 | "Date": "2017-07-10"
429 | },
430 | {
431 | "Video": "K2q39qt1gx0",
432 | "Title": "C++ Weekly - Ep 72 - Hidden C++17 - Part 2",
433 | "Date": "2017-07-17"
434 | },
435 | {
436 | "Video": "fj_CF8xK760",
437 | "Title": "C++ Weekly - Ep 73 - std::string_view",
438 | "Date": "2017-07-24"
439 | },
440 | {
441 | "Video": "7hfSyxNxFfo",
442 | "Title": "C++ Weekly - Ep 74 - std::regex optimize",
443 | "Date": "2017-07-31"
444 | },
445 | {
446 | "Video": "ZKaoR3dP9uM",
447 | "Title": "C++ Weekly - Ep 75 - Why You Cannot Move From Const",
448 | "Date": "2017-08-07"
449 | },
450 | {
451 | "Video": "61w4LbQ0fzU",
452 | "Title": "C++ Weekly - Ep 76 - static_print",
453 | "Date": "2017-08-14"
454 | },
455 | {
456 | "Video": "yHrC_rZUaiA",
457 | "Title": "C++ Weekly - Ep 77 - G++ 7.1 for DOS",
458 | "Date": "2017-08-21"
459 | },
460 | {
461 | "Video": "HPMvU64RUTY",
462 | "Title": "C++ Weekly - Ep 78 - Intro to CMake",
463 | "Date": "2017-08-28"
464 | },
465 | {
466 | "Video": "3ulKzD2cmSw",
467 | "Title": "C++ Weekly - Ep 79 - Intro To Travis CI",
468 | "Date": "2017-09-04"
469 | },
470 | {
471 | "Video": "R8OrWVVf5CM",
472 | "Title": "C++ Weekly - Ep 80 - Intro to AppVeyor",
473 | "Date": "2017-09-11"
474 | },
475 | {
476 | "Video": "ee_ITrcmjf0",
477 | "Title": "C++ Weekly - Ep 81 - Basic Computer Architecture",
478 | "Date": "2017-09-18"
479 | },
480 | {
481 | "Video": "ZlMbqFcJEzA",
482 | "Title": "C++ Weekly - Ep 82 - Intro To CTest",
483 | "Date": "2017-09-25"
484 | },
485 | {
486 | "Video": "I2cKVRzJhS0",
487 | "Title": "C++ Weekly - Ep 83 - Installing Compiler Explorer",
488 | "Date": "2017-09-29"
489 | },
490 | {
491 | "Video": "MB6NPkB4YVs",
492 | "Title": "C++ Weekly - Ep 84 - C++ Sanitizers",
493 | "Date": "2017-10-09"
494 | },
495 | {
496 | "Video": "gO0KBoqkOoU",
497 | "Title": "C++ Weekly - Ep 85 - Fuzz Testing",
498 | "Date": "2017-10-16"
499 | },
500 | {
501 | "Video": "3l0BQs2ThTo",
502 | "Title": "C++ Weekly - Ep 86 - Valgrind",
503 | "Date": "2017-10-23"
504 | },
505 | {
506 | "Video": "PiaZkNp_fIM",
507 | "Title": "C++ Weekly - Ep 87 - std::optional",
508 | "Date": "2017-10-30"
509 | },
510 | {
511 | "Video": "VZTVmKOXLVU",
512 | "Title": "C++ Weekly - Ep 88 - Don't Forget About puts",
513 | "Date": "2017-11-07"
514 | },
515 | {
516 | "Video": "OmKMNQFx_8Y",
517 | "Title": "C++ Weekly - Ep 89 - Overusing Lambdas",
518 | "Date": "2017-11-13"
519 | },
520 | {
521 | "Video": "FOcCFGkkQ9c",
522 | "Title": "C++ Weekly - Ep 90 - Using Codecov and Project Badges",
523 | "Date": "2017-11-20"
524 | },
525 | {
526 | "Video": "-amJL3AyADI",
527 | "Title": "C++ Weekly - Ep 91 - Using Lippincott Functions",
528 | "Date": "2017-11-27"
529 | },
530 | {
531 | "Video": "vmtGCJbNKNE",
532 | "Title": "C++ Weekly - Ep 92 - function-try-blocks",
533 | "Date": "2017-12-04"
534 | },
535 | {
536 | "Video": "sbiF1HDcG7U",
537 | "Title": "C++ Weekly - Ep 93 - Custom Comparators for Containers",
538 | "Date": "2017-12-11"
539 | },
540 | {
541 | "Video": "dvLKY-oWqn0",
542 | "Title": "C++ Weekly - Ep 94 - Lambdas as Comparators",
543 | "Date": "2017-12-18"
544 | },
545 | {
546 | "Video": "BBUacofxOP8",
547 | "Title": "C++ Weekly - Ep 95 - Transparent Comparators",
548 | "Date": "2017-12-25"
549 | },
550 | {
551 | "Video": "P6_6bXPGYy8",
552 | "Title": "C++ Weekly - Ep 96 - Transparent Lambda Comparators",
553 | "Date": "2018-01-01"
554 | },
555 | {
556 | "Video": "Cmk0Tlo1eCA",
557 | "Title": "C++ Weekly - Ep 97 - Lambda To Function Pointer Conversion",
558 | "Date": "2018-01-08"
559 | },
560 | {
561 | "Video": "vLozydgjHrc",
562 | "Title": "C++ Weekly - Ep 98 - Precision Loss with Accumulate",
563 | "Date": "2018-01-15"
564 | },
565 | {
566 | "Video": "w0rE7GqRPes",
567 | "Title": "C++ Weekly - Ep 99 - C++ 20's Default Bit-field Member Initializers",
568 | "Date": "2018-01-22"
569 | },
570 | {
571 | "Video": "2gjroKLyWKE",
572 | "Title": "C++ Weekly - Ep 100 - All The Assignment Operators",
573 | "Date": "2018-01-29"
574 | },
575 | {
576 | "Video": "zMrP8heIz3g",
577 | "Title": "C++ Weekly - Ep 101 - Learning \"Modern\" C++ - 1: The Tools",
578 | "Date": "2018-02-05"
579 | },
580 | {
581 | "Video": "juJaaCf_yKc",
582 | "Title": "C++ Weekly - Ep 102 - Learning \"Modern C++\" - 2: Hello World",
583 | "Date": "2018-02-12"
584 | },
585 | {
586 | "Video": "43qyUASBeUc",
587 | "Title": "C++ Weekly - Ep 103 - Learning \"Modern\" C++ - 3: Inheritance",
588 | "Date": "2018-02-19"
589 | },
590 | {
591 | "Video": "UYEyHlynkPc",
592 | "Title": "C++ Weekly - Ep 104 - Learning \"Modern\" C++ - 4 : const and constexpr",
593 | "Date": "2018-02-26"
594 | },
595 | {
596 | "Video": "A0-x-Djey-Q",
597 | "Title": "C++ Weekly - Ep 105 - Learning \"Modern\" C++ - 5: Looping and Algorithms",
598 | "Date": "2018-03-05"
599 | },
600 | {
601 | "Video": "nP3TnWBonlY",
602 | "Title": "C++ Weekly - Ep 106 - Disabling Move From const",
603 | "Date": "2018-03-12"
604 | },
605 | {
606 | "Video": "aAvjUU0m6AU",
607 | "Title": "C++ Weekly - Ep 107 - The Power of =delete",
608 | "Date": "2018-03-19"
609 | },
610 | {
611 | "Video": "uwv1uvi1OTU",
612 | "Title": "C++ Weekly - Ep 108 - Understanding emplace_back",
613 | "Date": "2018-03-26"
614 | },
615 | {
616 | "Video": "AG_63_edgUg",
617 | "Title": "C++ Weekly - Ep 109 - When noexcept Really Matters",
618 | "Date": "2018-04-02"
619 | },
620 | {
621 | "Video": "em842geJhfk",
622 | "Title": "C++ Weekly - Ep 110 - gdbgui",
623 | "Date": "2018-04-09"
624 | },
625 | {
626 | "Video": "NRCnS5alouI",
627 | "Title": "C++ Weekly - Ep 111 - kcov",
628 | "Date": "2018-04-16"
629 | },
630 | {
631 | "Video": "S9_mYmvO4Ow",
632 | "Title": "C++ Weekly - Ep 112 - GCC's Leaky Abstractions",
633 | "Date": "2018-04-23"
634 | },
635 | {
636 | "Video": "SbS_RP5fGSE",
637 | "Title": "C++ Weekly - Ep 113 - Will It C++? Atari Touch Me From 1978",
638 | "Date": "2018-04-30"
639 | },
640 | {
641 | "Video": "mMvTXcxkPcA",
642 | "Title": "C++ Weekly - Ep 114 - cpp_starter_project GUI Additions",
643 | "Date": "2018-05-07"
644 | },
645 | {
646 | "Video": "UYcRvU9UO40",
647 | "Title": "C++ Weekly - Ep 115 - Compile Time ARM Emulator",
648 | "Date": "2018-05-14"
649 | },
650 | {
651 | "Video": "9cCQHJ-cNHY",
652 | "Title": "C++ Weekly - Ep 116 - Trying Out The Conan Package Manager",
653 | "Date": "2018-05-21"
654 | },
655 | {
656 | "Video": "O2_N8OzPGWQ",
657 | "Title": "C++ Weekly - Ep 117 - Trying Out The Hunter Package Manager",
658 | "Date": "2018-05-28"
659 | },
660 | {
661 | "Video": "KOeOLOu6nHw",
662 | "Title": "C++ Weekly - Ep 118 - Trying Out The vcpkg Package Manager",
663 | "Date": "2018-06-04"
664 | },
665 | {
666 | "Video": "FwsO12x8nyM",
667 | "Title": "C++ Weekly - Ep 119 - Negative Cost Structs",
668 | "Date": "2018-06-11"
669 | },
670 | {
671 | "Video": "tV61e2-Xd4k",
672 | "Title": "C++ Weekly - Ep 120 - Will It C++? The Tandy 1000 From 1984",
673 | "Date": "2018-06-18"
674 | },
675 | {
676 | "Video": "tODCIrUat78",
677 | "Title": "C++ Weekly - Ep 121 - Strict Aliasing In The Real world",
678 | "Date": "2018-06-25"
679 | },
680 | {
681 | "Video": "2eCV_udkP_o",
682 | "Title": "C++ Weekly - Ep 122 - `constexpr` With `optional` And `variant`",
683 | "Date": "2018-07-02"
684 | },
685 | {
686 | "Video": "Fs2nhjIysKA",
687 | "Title": "C++ Weekly - Ep 123 - Using in_place_t",
688 | "Date": "2018-07-09"
689 | },
690 | {
691 | "Video": "i0wrcw8W75w",
692 | "Title": "C++ Weekly - Ep 124 - ABM and BMI Instruction Sets",
693 | "Date": "2018-07-16"
694 | },
695 | {
696 | "Video": "9mWWNYRHAIQ",
697 | "Title": "C++ Weekly - Ep 125 - The Optimal Way To Return From A Function",
698 | "Date": "2018-07-23"
699 | },
700 | {
701 | "Video": "9L9uSHrJA08",
702 | "Title": "C++ Weekly - Ep 126 - Lambdas With Destructors",
703 | "Date": "2018-07-30"
704 | },
705 | {
706 | "Video": "44rs_hX1dxE",
707 | "Title": "C++ Weekly - Ep 127 - C++20's Designated Initializers",
708 | "Date": "2018-08-06"
709 | },
710 | {
711 | "Video": "ixGiE4-1GA8",
712 | "Title": "C++ Weekly - Ep 128 - C++20's Template Syntax For Lambdas",
713 | "Date": "2018-08-13"
714 | },
715 | {
716 | "Video": "GeimpPHYYPk",
717 | "Title": "C++ Weekly - Ep 129 - The One Feature I'd Remove From C++",
718 | "Date": "2018-08-20"
719 | },
720 | {
721 | "Video": "gqhHbhBoDtw",
722 | "Title": "C++ Weekly - Ep 130 - C++20's for init-statements",
723 | "Date": "2018-08-27"
724 | },
725 | {
726 | "Video": "eMluWRp5hbI",
727 | "Title": "C++ Weekly - Ep 131 - Literals in ARM Assembly",
728 | "Date": "2018-09-03"
729 | },
730 | {
731 | "Video": "QhY7Fx-YsGs",
732 | "Title": "C++ Weekly - Ep 132 - Lambdas In Fold Expressions",
733 | "Date": "2018-09-10"
734 | },
735 | {
736 | "Video": "br4tez2G9eM",
737 | "Title": "C++ Weekly - Ep 133 - What Exactly IS A Lambda Anyhow?",
738 | "Date": "2018-09-17"
739 | },
740 | {
741 | "Video": "EsUmnLgz8QY",
742 | "Title": "C++ Weekly - Ep 134 - The Best Possible Way To Create A Visitor?",
743 | "Date": "2018-09-24"
744 | },
745 | {
746 | "Video": "KeS1ehp9IiI",
747 | "Title": "C++ Weekly - Ep 135 - {fmt} is Addictive! Using {fmt} and spdlog",
748 | "Date": "2018-10-01"
749 | },
750 | {
751 | "Video": "GldFtXZkgYo",
752 | "Title": "C++ Weekly - Ep 136 - How `inline` Might Affect The Optimizer",
753 | "Date": "2018-10-08"
754 | },
755 | {
756 | "Video": "AUT201AXeJg",
757 | "Title": "C++ Weekly - Ep 137 - C++ Is Not An Object Oriented Language",
758 | "Date": "2018-10-15"
759 | },
760 | {
761 | "Video": "2HRqtx859ks",
762 | "Title": "C++ Weekly - Ep 138 - Will It C++? MIPS Architecture (1985)",
763 | "Date": "2018-10-22"
764 | },
765 | {
766 | "Video": "0QOxC7ADT80",
767 | "Title": "C++ Weekly - Ep 139 - References To Pointers",
768 | "Date": "2018-10-29"
769 | },
770 | {
771 | "Video": "lHGR_kH0PNA",
772 | "Title": "C++ Weekly - Ep 140 - Use `cout`, `cerr`, and `clog` Correctly",
773 | "Date": "2018-11-05"
774 | },
775 | {
776 | "Video": "L8Egig4qH0I",
777 | "Title": "C++ Weekly - Ep 141 - C++20's Designated Initializers And Lambdas",
778 | "Date": "2018-11-12"
779 | },
780 | {
781 | "Video": "WhOdvwRku9Y",
782 | "Title": "C++ Weekly - Ep 142 - Short Circuiting With Logical Operators",
783 | "Date": "2018-11-19"
784 | },
785 | {
786 | "Video": "ub4bVs8ixko",
787 | "Title": "C++ Weekly - Ep 143 - GNU Function Attributes",
788 | "Date": "2018-11-26"
789 | },
790 | {
791 | "Video": "8ZxGABHcu40",
792 | "Title": "C++ Weekly - Ep 144 - Pure Functions in C++",
793 | "Date": "2018-12-03"
794 | },
795 | {
796 | "Video": "1FAcPvb0ZjU",
797 | "Title": "C++ Weekly - Ep 145 - Semi-Automatic `constexpr` and `noexcept`",
798 | "Date": "2018-12-10"
799 | },
800 | {
801 | "Video": "ka7yYnxV1l8",
802 | "Title": "C++ Weekly - Ep 146 - C++20's std::to_pointer",
803 | "Date": "2018-12-17"
804 | },
805 | {
806 | "Video": "ZsKdRtQM7EA",
807 | "Title": "C++ Weekly - Ep 147 - C++ And Python Tooling",
808 | "Date": "2018-12-24"
809 | },
810 | {
811 | "Video": "oxpsHk1yq88",
812 | "Title": "C++ Weekly - Ep 148 - clang-tidy Checks To Avoid",
813 | "Date": "2018-12-31"
814 | },
815 | {
816 | "Video": "JxYD8_OHQg8",
817 | "Title": "C++ Weekly - Ep 149 - C++20's Lambda Usability Changes",
818 | "Date": "2019-01-07"
819 | },
820 | {
821 | "Video": "XhxV1NP5RGs",
822 | "Title": "C++ Weekly - Ep 150 - C++20's Lambdas For Resource Management",
823 | "Date": "2019-01-14"
824 | },
825 | {
826 | "Video": "damrgf7GJac",
827 | "Title": "C++ Weekly - Ep 151 - C++20's Lambdas As Custom Comparators",
828 | "Date": "2019-01-21"
829 | },
830 | {
831 | "Video": "WOkRj6xspR4",
832 | "Title": "Thinkpad 13 Keyboard Swap",
833 | "Date": "2019-01-26"
834 | },
835 | {
836 | "Video": "CjExHyCVRYg",
837 | "Title": "C++ Weekly - Ep 152 - Lambdas: The Key To Understanding C++",
838 | "Date": "2019-01-28"
839 | },
840 | {
841 | "Video": "JRmL0g87cc0",
842 | "Title": "C++ Weekly - Ep 153 - 24-Core C++ Builds Using Spare Computers!",
843 | "Date": "2019-02-04"
844 | },
845 | {
846 | "Video": "D8eCPl2zit4",
847 | "Title": "C++ Weekly - Ep 154 - One Simple Trick For Reducing Code Bloat",
848 | "Date": "2019-02-11"
849 | },
850 | {
851 | "Video": "FR5G_miCHtE",
852 | "Title": "C++ Weekly - Ep 155 - Misuse of pure Function Attribute",
853 | "Date": "2019-02-18"
854 | },
855 | {
856 | "Video": "9ENXVGFk0s4",
857 | "Title": "C++ Weekly - Ep 156 - A C++ Conference Near You",
858 | "Date": "2019-02-25"
859 | },
860 | {
861 | "Video": "hCGadTsT0S0",
862 | "Title": "C++ Weekly - Ep 157 - Never Overload Operator && or ||",
863 | "Date": "2019-03-04"
864 | },
865 | {
866 | "Video": "_4D1y_KyEzA",
867 | "Title": "C++ Weekly - Ep 158 - Getting The Most Out Of Your CPU",
868 | "Date": "2019-03-11"
869 | },
870 | {
871 | "Video": "JXJg_XMJFW0",
872 | "Title": "C++ Weekly - Ep 159 - `constexpr` `virtual` Members In C++20",
873 | "Date": "2019-03-18"
874 | },
875 | {
876 | "Video": "agS-h_eaLj8",
877 | "Title": "C++ Weekly - Ep 160 - Argument Dependent Lookup (ADL)",
878 | "Date": "2019-03-25"
879 | },
880 | {
881 | "Video": "imuINhOrjFw",
882 | "Title": "C++ Weekly - Ep 161 - The C++ Box Project",
883 | "Date": "2019-04-01"
884 | },
885 | {
886 | "Video": "M_Mrk1xHMoo",
887 | "Title": "C++ Weekly - Ep 162 - Recursive Lambdas",
888 | "Date": "2019-04-08"
889 | },
890 | {
891 | "Video": "5DlzeTcpXNQ",
892 | "Title": "C++ Weekly - Ep 163 - Practicing ARM Assembly",
893 | "Date": "2019-04-15"
894 | },
895 | {
896 | "Video": "1WAn2v1Hr6A",
897 | "Title": "C++ Weekly - Ep 164 - Adding a Random Device To The C++ Box",
898 | "Date": "2019-04-22"
899 | },
900 | {
901 | "Video": "nkhhV5uSSLk",
902 | "Title": "C++ Weekly - Ep 165 - C++20's is_constant_evaluated()",
903 | "Date": "2019-04-29"
904 | },
905 | {
906 | "Video": "YGAX509TCQs",
907 | "Title": "C++ Weekly - Ep 166 - C++20's Uniform Container Erasure",
908 | "Date": "2019-05-06"
909 | },
910 | {
911 | "Video": "L0YG2x7E87w",
912 | "Title": "C++ Weekly - Ep 167 - What Is Variable Shadowing?",
913 | "Date": "2019-05-13"
914 | },
915 | {
916 | "Video": "IOo8gTDMFkM",
917 | "Title": "C++ Weekly - Ep 168 - Discovering Warnings You Should Be Using",
918 | "Date": "2019-05-20"
919 | },
920 | {
921 | "Video": "B2VbVf6uLq4",
922 | "Title": "C++ Weekly - Ep 169 - C++20 Aggregates With User Defined Constructors",
923 | "Date": "2019-05-27"
924 | },
925 | {
926 | "Video": "m7hwL0gHuP4",
927 | "Title": "C++ Weekly - Ep 170 - C++17's `inline` Variables",
928 | "Date": "2019-06-03"
929 | },
930 | {
931 | "Video": "UwYYc5dpvqk",
932 | "Title": "C++ Weekly - Ep 171 - C++20's Parameter Packs In Captures",
933 | "Date": "2019-06-10"
934 | },
935 | {
936 | "Video": "4h8IOiu-K1c",
937 | "Title": "C++ Weekly - Ep 172 - Execution Support in Compiler Explorer",
938 | "Date": "2019-06-17"
939 | },
940 | {
941 | "Video": "78Y_LRZPVRg",
942 | "Title": "C++ Weekly - Ep 173 - The Important Parts of C++98 in 13 Minutes",
943 | "Date": "2019-06-24"
944 | },
945 | {
946 | "Video": "7pqPfQ_HpmI",
947 | "Title": "C++ Weekly - Ep 174 - C++20's `std::bind_front`",
948 | "Date": "2019-07-01"
949 | },
950 | {
951 | "Video": "0SeUPb8LC9I",
952 | "Title": "C++ Weekly - Ep 175 - Spaceships in C++20: operator 〈=〉",
953 | "Date": "2019-07-08"
954 | },
955 | {
956 | "Video": "D5n6xMUKU3A",
957 | "Title": "C++ Weekly - Ep 176 - Important Parts of C++11 in 12 Minutes",
958 | "Date": "2019-07-15"
959 | },
960 | {
961 | "Video": "fLeHy7s1WIo",
962 | "Title": "C++ Weekly - Ep 177 - `std::bind_front` Implemented With Lambdas",
963 | "Date": "2019-07-22"
964 | },
965 | {
966 | "Video": "mXxNvaEdNHI",
967 | "Title": "C++ Weekly - Ep 178 - The Important Parts of C++14 In 9 Minutes",
968 | "Date": "2019-07-29"
969 | },
970 | {
971 | "Video": "yCEG30yQS5w",
972 | "Title": "C++ Weekly - Ep 179 - Power C - A Native C Compiler for the Commodore 64",
973 | "Date": "2019-08-05"
974 | },
975 | {
976 | "Video": "JqhbzY04VlE",
977 | "Title": "C++ Weekly - Ep 180 - Whitespace Is Meaningless",
978 | "Date": "2019-08-12"
979 | },
980 | {
981 | "Video": "s2Kqcn5e73c",
982 | "Title": "C++ Weekly - Ep 181 - Fixing Our bind_front with std::invoke",
983 | "Date": "2019-08-19"
984 | },
985 | {
986 | "Video": "EqPlVZLEHlA",
987 | "Title": "C++ Weekly - Ep 182 - Overloading In C and C++",
988 | "Date": "2019-08-26"
989 | },
990 | {
991 | "Video": "DiZ-az_nJMM",
992 | "Title": "C++ Weekly - Ep 183 - Start Using Raw String Literals",
993 | "Date": "2019-09-02"
994 | },
995 | {
996 | "Video": "NoIJoL3cIJ4",
997 | "Title": "C++ Weekly - Ep 184 - What Are Higher Order Functions?",
998 | "Date": "2019-09-09"
999 | },
1000 | {
1001 | "Video": "L06nbZXD2D0",
1002 | "Title": "C++ Weekly - Ep 185 - Stop Using reinterpret_cast!",
1003 | "Date": "2019-09-16"
1004 | },
1005 | {
1006 | "Video": "lWzHLRN56zQ",
1007 | "Title": "C++ Weekly - Ep 186 - What Are Callables?",
1008 | "Date": "2019-09-23"
1009 | },
1010 | {
1011 | "Video": "9YWzXSr2onY",
1012 | "Title": "C++ Weekly - Ep 187 - C++20's `constexpr` Algorithms",
1013 | "Date": "2019-09-30"
1014 | },
1015 | {
1016 | "Video": "FRTmkDiW5MM",
1017 | "Title": "C++ Weekly - Ep 188 - C++20's `constexpr` `new` Support",
1018 | "Date": "2019-10-07"
1019 | },
1020 | {
1021 | "Video": "EfYMKOMc738",
1022 | "Title": "C++ Weekly SE - clang-tidy Auto Fixes in Compiler Explorer - Tribute to Hubert Matthews",
1023 | "Date": "2019-10-12"
1024 | },
1025 | {
1026 | "Video": "2kY-go52rNw",
1027 | "Title": "C++ Weekly - Ep 189 - C++14's Variable Templates",
1028 | "Date": "2019-10-14"
1029 | },
1030 | {
1031 | "Video": "QpFjOlzg1r4",
1032 | "Title": "C++ Weekly - Ep 190 - The Important Parts of C++17 in 10 Minutes",
1033 | "Date": "2019-10-21"
1034 | },
1035 | {
1036 | "Video": "nnfdvE2qNeo",
1037 | "Title": "C++ Weekly - Ep 191 - Cevelop IDE With CMake Based Projects",
1038 | "Date": "2019-10-28"
1039 | },
1040 | {
1041 | "Video": "0vJXQ2VOzEs",
1042 | "Title": "C++ Weekly - Ep 192 - Stop Using Double Underscores",
1043 | "Date": "2019-11-04"
1044 | },
1045 | {
1046 | "Video": "4yDRsQyWqqc",
1047 | "Title": "C++ Weekly - Ep 193 - C++20's `contains` Members",
1048 | "Date": "2019-11-11"
1049 | },
1050 | {
1051 | "Video": "dR64GQb4AGo",
1052 | "Title": "C++ Weekly - Ep 194 - From SFINAE To Concepts With C++20",
1053 | "Date": "2019-11-18"
1054 | },
1055 | {
1056 | "Video": "o0z3KT4gW7k",
1057 | "Title": "C++ Weekly - Ep 195 - C++20's `constinit`",
1058 | "Date": "2019-11-25"
1059 | },
1060 | {
1061 | "Video": "tc0hVIOJk_U",
1062 | "Title": "C++ Weekly - Ep 196 - What is `requires requires`?",
1063 | "Date": "2019-12-02"
1064 | },
1065 | {
1066 | "Video": "ayIJ4b6z-7g",
1067 | "Title": "C++ Weekly - Ep 197 - 25 Years of Best Practices",
1068 | "Date": "2019-12-09"
1069 | },
1070 | {
1071 | "Video": "Q4SXFkTzD28",
1072 | "Title": "C++ Weekly - Ep - 198 - Surprise Uses For `explicit` Constructors",
1073 | "Date": "2019-12-16"
1074 | },
1075 | {
1076 | "Video": "E_ROB_xUQQQ",
1077 | "Title": "C++ Weekly - Ep 199 - [[nodiscard]] Constructors And Their Uses",
1078 | "Date": "2019-12-23"
1079 | },
1080 | {
1081 | "Video": "3hGSlUGEXtA",
1082 | "Title": "C++ Weekly - Ep 200 - Christmas Class 2019 - Chapter 1 of 5 - Understanding Lambdas",
1083 | "Date": "2019-12-30"
1084 | },
1085 | {
1086 | "Video": "DolVujl_EUw",
1087 | "Title": "C++ Weekly - Ep 201 - Christmas Class 2019 - Chapter 2 of 5 - Building On Lambdas",
1088 | "Date": "2020-01-06"
1089 | },
1090 | {
1091 | "Video": "VEqOOKU8RjQ",
1092 | "Title": "C++ Weekly - Ep 202 - Christmas Class 2019 - Chapter 3 of 5 - Utilizing Lambdas",
1093 | "Date": "2020-01-14"
1094 | },
1095 | {
1096 | "Video": "tpGPVrTudLA",
1097 | "Title": "C++ Weekly - Ep 203 - Christmas Class 2019 - Chapter 4 of 5 - The Evolution of Lambdas",
1098 | "Date": "2020-01-20"
1099 | },
1100 | {
1101 | "Video": "TKPDW--AzWo",
1102 | "Title": "C++ Weekly - Ep 204 - Christmas Class 2019 - Chapter 5 of 5 - Lambdas To The Limits",
1103 | "Date": "2020-01-27"
1104 | },
1105 | {
1106 | "Video": "i2HyDHAVBsk",
1107 | "Title": "C++ Weekly - Ep 205 - Christmas Class 2019 - Chapter 5 of 5 Answers",
1108 | "Date": "2020-02-03"
1109 | },
1110 | {
1111 | "Video": "IhjvznH9GvI",
1112 | "Title": "C++ Weekly - Ep 206 - Surprising Conversions with CTAD",
1113 | "Date": "2020-02-10"
1114 | },
1115 | {
1116 | "Video": "-yaz4n5zWZs",
1117 | "Title": "C++ Weekly - Ep 207 - C++20's jthread and stop_token",
1118 | "Date": "2020-02-17"
1119 | },
1120 | {
1121 | "Video": "YbgH7yat-Jo",
1122 | "Title": "C++ Weekly - Ep 208 - The Ultimate CMake / C++ Quick Start",
1123 | "Date": "2020-02-24"
1124 | },
1125 | {
1126 | "Video": "kwFcRvxy0D0",
1127 | "Title": "C++ Weekly - Ep 209 - An RPG in C++20 - Part 0: The Plan",
1128 | "Date": "2020-03-02"
1129 | },
1130 | {
1131 | "Video": "av0SYeUxVMU",
1132 | "Title": "C++ Weekly - Ep 210 - An RPG in C++20 - Part 1: Getting Started With SFML & Dear ImGui",
1133 | "Date": "2020-03-09"
1134 | },
1135 | {
1136 | "Video": "8EyZ6mRDlx8",
1137 | "Title": "C++ Weekly - Ep 211 - C++20's Bit Manipulation Functions",
1138 | "Date": "2020-03-16"
1139 | },
1140 | {
1141 | "Video": "rFnRzW3vvsQ",
1142 | "Title": "C++ Weekly - Live Stream 1 - Code Reviews",
1143 | "Date": "2020-03-20"
1144 | },
1145 | {
1146 | "Video": "sZBVLDbJRwg",
1147 | "Title": "C++ Weekly - Ep 212 - An RPG In C++20 - Part 2: Finding Errors As Soon As Possible",
1148 | "Date": "2020-03-23"
1149 | },
1150 | {
1151 | "Video": "qXhC3tEB4Fc",
1152 | "Title": "C++ Weekly - Live Stream 2 - Code Review",
1153 | "Date": "2020-03-27"
1154 | },
1155 | {
1156 | "Video": "8aRfJp1oZGA",
1157 | "Title": "C++ Weekly - Ep 213 - CTRE: Compile Time Regular Expressions",
1158 | "Date": "2020-03-30"
1159 | },
1160 | {
1161 | "Video": "d1BwjUlwYeg",
1162 | "Title": "C++ Weekly - Live Stream 3 - Porting Doom to C++",
1163 | "Date": "2020-04-04"
1164 | },
1165 | {
1166 | "Video": "0dkzLdqH9V4",
1167 | "Title": "C++ Weekly - Ep 214 - Epic 10 Hour Port of Doom to C++",
1168 | "Date": "2020-04-07"
1169 | },
1170 | {
1171 | "Video": "U_2WDRTdImk",
1172 | "Title": "C++ Weekly - Ep 215 - An RPG in C++20: Part 3 - Handling Command Line Parameters",
1173 | "Date": "2020-04-13"
1174 | },
1175 | {
1176 | "Video": "gwHL4EOb-R8",
1177 | "Title": "C++ Weekly - Ep 216 - C++20's lerp, midpoint And Why They Are Necessary",
1178 | "Date": "2020-04-20"
1179 | },
1180 | {
1181 | "Video": "1zIvfw-Zv4s",
1182 | "Title": "C++ Weekly - Live Stream 5 - Porting Doom to C++ - More constexpr!",
1183 | "Date": "2020-04-24"
1184 | },
1185 | {
1186 | "Video": "Nand3PEV1p4",
1187 | "Title": "C++ Weekly - Ep 217 - Doom vs C++: Round 1: Initial Results",
1188 | "Date": "2020-04-27"
1189 | },
1190 | {
1191 | "Video": "IcQl1Oh9AvQ",
1192 | "Title": "C++ Weekly - Ep 218 - C++20's std::to_array",
1193 | "Date": "2020-05-04"
1194 | },
1195 | {
1196 | "Video": "DbSRetQP-Xg",
1197 | "Title": "Matt And Jason Discuss Cycle Perfect Emulation",
1198 | "Date": "2020-05-08"
1199 | },
1200 | {
1201 | "Video": "jUh9q_qWhlM",
1202 | "Title": "C++ Weekly - Ep 219 - RPG In C++20 - Part 4: Reading SFML Joystick States",
1203 | "Date": "2020-05-11"
1204 | },
1205 | {
1206 | "Video": "EzQ7YIIo1rY",
1207 | "Title": "Jonathan Teaches Jason Rust!",
1208 | "Date": "2020-05-15"
1209 | },
1210 | {
1211 | "Video": "ew3wt0g99kg",
1212 | "Title": "C++ Weekly - Ep 220 - C++20's [[likely]] and [[unlikely]] With Practical use Case",
1213 | "Date": "2020-05-18"
1214 | },
1215 | {
1216 | "Video": "FNLWtKxXQ0o",
1217 | "Title": "C++ Weekly - Ep 221 - Generating a .clang-format For C++ Doom",
1218 | "Date": "2020-05-25"
1219 | },
1220 | {
1221 | "Video": "q6A7cKFXjY0",
1222 | "Title": "C++ Weekly - Ep 222 - 3.5x Faster Standard Containers With PMR!",
1223 | "Date": "2020-06-01"
1224 | },
1225 | {
1226 | "Video": "Y5-ZgxfQvpc",
1227 | "Title": "Jonathan Teaches Jason Rust! - Part 2",
1228 | "Date": "2020-06-05"
1229 | },
1230 | {
1231 | "Video": "-F0j2VN4xEU",
1232 | "Title": "C++ Weekly - Ep 223 - Know Your Standard Library: std::nextafter",
1233 | "Date": "2020-06-08"
1234 | },
1235 | {
1236 | "Video": "EF-lO3daS7I",
1237 | "Title": "C++ Weekly - Ep 224 - RPG In C++20 - Part 5: Dealing With Game Input Events",
1238 | "Date": "2020-06-15"
1239 | },
1240 | {
1241 | "Video": "Oee7gje-XRc",
1242 | "Title": "Reviewing The Command & Conquer Source!",
1243 | "Date": "2020-06-19"
1244 | },
1245 | {
1246 | "Video": "gjFrjNK3Dq4",
1247 | "Title": "C++ Weekly - Ep 225 - Understanding Operator Overloading",
1248 | "Date": "2020-06-22"
1249 | },
1250 | {
1251 | "Video": "JAr0c6le_F8",
1252 | "Title": "Moving From Intel to ARM - Apple's Big Performance Mistake?",
1253 | "Date": "2020-06-24"
1254 | },
1255 | {
1256 | "Video": "mAHHKDyLmCI",
1257 | "Title": "C++ Weekly - Ep 226 - The Arrow Operator Is Magic",
1258 | "Date": "2020-06-29"
1259 | },
1260 | {
1261 | "Video": "wRTWnGse3vo",
1262 | "Title": "C++ Weekly - Ep 227 - RPG In C++20 - Part 6: Dealing With Game Events - 2",
1263 | "Date": "2020-07-06"
1264 | },
1265 | {
1266 | "Video": "VPC17U-twrY",
1267 | "Title": "C++ Weekly - Ep 228 - C++20's (High Precision) Mathematical Constants",
1268 | "Date": "2020-07-13"
1269 | },
1270 | {
1271 | "Video": "qD1aKLux5Fw",
1272 | "Title": "C++ Weekly - Ep 229 - C++20: Why Deprecate The Comma Operator?",
1273 | "Date": "2020-07-20"
1274 | }
1275 | ]
1276 |
--------------------------------------------------------------------------------