"'tag_invoke' - An Actually Good Way to Do Customization Points" - Gašper Ažman

  Рет қаралды 3,770

C++ London

C++ London

Күн бұрын

Пікірлер: 5
@spazzatour
@spazzatour 4 жыл бұрын
For those who want to jump over the premises, the actual talk about tag_invoke starts at 52:45
@Roibarkan
@Roibarkan Ай бұрын
I wonder if the example of advance() that’s given in 32:00 is actually allowed in the STL or not, given that advance doesn’t appear in the slide in 36:39
@think2086
@think2086 4 жыл бұрын
Thanks for this hard to find information. This video is a "milestone" test in understanding, I believe. I.e., the ideas referenced in the video are in themselves quite difficult and educational. You will (unless you're in the standards club or whatever) need to pause and take multiple days to study the various aspects. My rule is that I'm not allowed to not know a piece of vocabulary in English, so I always stop to look up words and phrases until I know them. You can do the same for C++. Eventually, if you can get through the entire video in one setting without pausing or rewinding, in real time, and fully understand all of it, it will serve as a sort of mega test in modern C++ understanding. It's one of *those* kinds of courses. It sort of demands you go back and learn all this other older (and also cutting edge) stuff you didn't know you didn't know. One small suggestion, consider renaming Problem #5 "Extension problem" instead of "Adaptation problem." This whole thing is adaptation, and it's a bit confusing with #3. Realizing you're talking about EXTENDING something helps.
@iikjjpp
@iikjjpp 4 жыл бұрын
The technique is super neat. 54:43 "let's have **one** Niebloid". Why not zero? stackoverflow.com/questions/63818871/why-does-tag-invoke-pattern-need-the-niebloid-stdtag-invoke-at-all
@kylcho5239
@kylcho5239 3 жыл бұрын
I think so called Niebloids and CPOs are different entities to solve different types of problems. Niebloids (called entities in the std::ranges in the standard?) is to inhibit ADL when using in unqualified and CPOs internally rely on ADL. Right now the only way to implement Niebloids without a new language feature is to use function objects. Due to using function objects and dealing with ADL, these two are seemingly same/equivalent but not. So in the future, people can come up with new ideas(e.g., new language feature) to implement Niebloids not using function objects.
tag_invoke :: niebloids evolved
1:48:43
CoreCppIL
Рет қаралды 1 М.
Hilarious FAKE TONGUE Prank by WEDNESDAY😏🖤
0:39
La La Life Shorts
Рет қаралды 44 МЛН
How To Improve Exception Throwing
27:53
C++ London
Рет қаралды 257
CppCon 2015: Andrei Alexandrescu “Declarative Control Flow"
1:07:35
2024-02 - Ben Deane - Message Handling with Boolean Algebra
1:20:17
Denver C++ Meetup
Рет қаралды 1,3 М.
Intro to the Zig Programming Language • Andrew Kelley • GOTO 2022
50:14
Faster than Rust and C++: the PERFECT hash table
33:52
strager
Рет қаралды 613 М.
Bjarne Stroustrup: C++ | Lex Fridman Podcast #48
1:47:13
Lex Fridman
Рет қаралды 1 МЛН
The Genius Way Computers Multiply Big Numbers
22:04
PurpleMind
Рет қаралды 151 М.
Google I/O 2012 - Go Concurrency Patterns
51:27
Google for Developers
Рет қаралды 822 М.
Массаж головы пранк🤣
0:55
Kirya Kolesnikov
Рет қаралды 5 МЛН
ЛАЙФХАК НА КУХНЕ ! 🧐🤦🏻‍♂️ #shorts #лайфхак
0:15
Крус Костилио
Рет қаралды 109 М.
Это лютый угар 🤣 | приколы Арсен Симонян
0:14
Арсен Симонян
Рет қаралды 294 М.
Pixel 7 и 7 Pro с Face ID - лучше iPhone 14 Pro!
21:12
Rozetked
Рет қаралды 457 М.
The Million view clip on China's Tiktok P2428 #shorts #gochannel
0:15
Go Channel TV
Рет қаралды 29 МЛН