RANDOMBLOGS (RSS)

foonathan.net


23. 10. 2024if constexpr requires requires { requires } – foonathan.net
12. 7. 2024Trip Report: Summer ISO C++ Meeting in St. Louis, USA – foonathan.net
8. 5. 2024Trip Report: C++Now 2024 – foonathan.net
27. 3. 2024Trip Report: Spring ISO C++ Meeting in Tokyo, Japan – foonathan.net
8. 3. 2024I'm the new assistant chair of SG 9, the study group for std::ranges! – foonathan.net
20. 11. 2023C++ needs undefined behavior, but maybe less – foonathan.net
14. 9. 2023Compile-time sizes for range adaptors – foonathan.net
31. 8. 2023The new static constexpr std::integral_constant idiom – foonathan.net
29. 8. 2023Compile-time sizes for range adaptors – foonathan.net
4. 8. 2023Should we stop writing functions? – foonathan.net
25. 7. 2023Should we stop writing functions? – foonathan.net
6. 7. 2023Constrain your user-defined conversions – foonathan.net
10. 6. 2023Trip report: Summer ISO C++ Meeting in Varna, Bulgaria – foonathan.net
30. 11. 2022Technique: Proof types to ensure preconditions – foonathan.net
29. 9. 2022New integer types I'd like to see – foonathan.net
31. 8. 2022malloc() and free() are a bad API – foonathan.net
29. 7. 2022Carbon's most exciting feature is its calling convention – foonathan.net
29. 6. 2022Tutorial: Preparing libraries for CMake FetchContent – foonathan.net
31. 5. 2022Technique: Recursive variants and boxes – foonathan.net
30. 3. 2022`saturating_add` vs. `saturating_int` -- new function vs. new type? – foonathan.net
27. 1. 2022Technique: Compile Time Code Generation and Optimization – foonathan.net
25. 11. 2021I accidentally wrote a Turing-complete parsing library – foonathan.net
12. 10. 2021Tutorial: the CRTP Interface Technique – foonathan.net
29. 7. 2021C++20 concepts are structural: What, why, and how to change it? – foonathan.net
31. 5. 2021Tutorial: Interactive code snippets with Hugo and Compiler Explorer – foonathan.net
28. 4. 2021Implementation Challenge: Lossless, compact parse tree with iterative traversal – foonathan.net
25. 3. 2021Trivially copyable does not mean trivially copy constructible – foonathan.net
17. 2. 2021What is the unit of a text column number? – foonathan.net
27. 10. 2020Tricks with Default Template Arguments – foonathan.net
19. 10. 2020`constexpr` is a Platform – foonathan.net
2. 10. 2020Technique: Immediately-Invoked Function Expression for Metaprogramming – foonathan.net
22. 9. 2020Implementation Challenge: Replacing std::move and std::forward – foonathan.net
5. 5. 2020Nifty Fold Expression Tricks – foonathan.net
25. 3. 2020Tutorial: C++20's Iterator Sentinels – foonathan.net
17. 1. 2020std::polymorphic_value + Duck Typing = Type Erasure – foonathan.net
27. 11. 2019Naming Things: Implementer vs. User Names – foonathan.net
5. 11. 2019Standardese Documentation Generator: Post Mortem and My Open-Source Future – foonathan.net
26. 2. 2019Tutorial: When to Write Which Special Member – foonathan.net
11. 12. 2018Nested Optionals, Expected and Composition – foonathan.net
22. 11. 2018Inline Namespaces 101 – foonathan.net
17. 10. 2018Tutorial: Managing Compiler Warnings with CMake – foonathan.net
13. 10. 2018Proposals to Fix the Spaceship Operator – foonathan.net
1. 10. 2018Mathematics behind Comparison #5: Ordering Algorithms – foonathan.net
7. 9. 2018Mathematics behind Comparison #4: Three-Way Comparison – foonathan.net
19. 7. 2018Mathematics behind Comparison #3: Ordering Relations in C++ – foonathan.net
19. 7. 2018Mathematics behind Comparison #2: Ordering Relations in Math – foonathan.net
12. 7. 2018Let's Talk about std::optional and optional references – foonathan.net
20. 6. 2018Mathematics behind Comparison #1: Equality and Equivalence Relations – foonathan.net
1. 6. 2018A (Better) Taxonomy of Pointers – foonathan.net
17. 4. 2018optional in Containers Ⅱ — Not All std::vector Usages Are The Same – foonathan.net
9. 4. 2018Should You Put optional in a Container? – foonathan.net
26. 3. 2018Guidelines For Rvalue References In APIs – foonathan.net
15. 3. 2018Flexible issue management with Trello and IFTTT – foonathan.net
26. 1. 2018Guidelines for constructor and cast design – foonathan.net
21. 12. 2017Implementation Challenge: Revisiting the visitor pattern – foonathan.net
4. 12. 2017Exceptions vs expected: Let's find a compromise – foonathan.net
20. 11. 2017What should be part of the C++ standard library? – foonathan.net
11. 10. 2017Write explicit constructors - but what about assignment? – foonathan.net
14. 9. 2017Thoughts on destructive move – foonathan.net
24. 7. 2017Operator precedence is broken – foonathan.net
27. 6. 2017Lazy evaluation of function arguments in C++ – foonathan.net
14. 6. 2017Prefer nonmember, nonfriends? – foonathan.net
8. 5. 2017The year is 2017 - Is the preprocessor still needed in C++? – foonathan.net
20. 4. 2017cppast - A library to parse and work with the C++ AST – foonathan.net
22. 3. 2017std::string_view accepting temporaries: good idea or horrible pitfall? – foonathan.net
16. 3. 2017Implementation Challenge flag_set: Type-safe, hard to misuse bitmask – foonathan.net
1. 3. 2017Implementing a tuple_iterator – foonathan.net
8. 2. 2017The problem with policy-based design – foonathan.net
20. 1. 2017Implementing function_view is harder than you might think – foonathan.net
9. 1. 2017How to handle errors in constructors without exceptions? – foonathan.net
28. 12. 2016My take on variant – foonathan.net
21. 12. 2016Tutorial: Conditionally disabling non-template functions – foonathan.net
8. 12. 2016Fixing std::initializer_list – foonathan.net
26. 11. 2016standardese documentation generator version 0.3: Groups, inline documentation, template mode & more – foonathan.net
21. 11. 2016Memory 0.6: Composition and Joint Allocators – foonathan.net
4. 11. 2016Function templates - deduce template arguments or pass explicitly? – foonathan.net
26. 10. 2016void foo(T& out) - How to fix output parameters – foonathan.net
19. 10. 2016Tutorial: Emulating strong/opaque typedefs in C++ – foonathan.net
11. 10. 2016Type safe - Zero overhead utilities for more type safety – foonathan.net
27. 9. 2016Prevent precondition errors with the C++ type system – foonathan.net
16. 9. 2016How do I implement assertions? – foonathan.net
9. 9. 2016Implementation Challenge: Concepts in C++14 – foonathan.net
7. 9. 2016Choosing the right error handling strategy – foonathan.net
24. 8. 2016Move Semantics and Default Constructors -- Rule of Six? – foonathan.net
10. 8. 2016Standardese documentation generator version 0.2: Entity linking, index generation & more – foonathan.net
23. 7. 2016Move Safety -- Know What Can Be Done in the Moved-From State – foonathan.net
7. 7. 2016Tutorial: Easy dependency management for C++ with CMake and Git – foonathan.net
27. 6. 2016Flexible error handling techniques in C++ – foonathan.net
9. 6. 2016Standardese documentation generator version 0.1 – foonathan.net
29. 5. 2016You (probably) do want `final` classes? – foonathan.net
27. 5. 2016You (probably) don't want `final` classes – foonathan.net
21. 5. 2016Issue driven development – foonathan.net
6. 5. 2016Standardese - a (work-in-progress) nextgen Doxygen – foonathan.net
18. 4. 2016How I have beaten Boost.Pool #4: About abstractions and algorithms – foonathan.net
13. 4. 2016How I have beaten Boost.Pool #3: Branches are bad – foonathan.net
4. 4. 2016(Awesome?) Allocator Additions - Thoughts regarding allocator proposals – foonathan.net
29. 3. 2016How I have beaten Boost.Pool #2: Inlining is key – foonathan.net
18. 3. 2016How I have beaten Boost.Pool #1: Introduction and profiling results – foonathan.net
10. 3. 2016Performing arbitrary calculations with the Concept TS – foonathan.net
3. 3. 2016Tutorial: Easily supporting CMake install and find_package() – foonathan.net
23. 2. 2016Memory 0.5: Better build system, Low-level Allocators, BlockAllocator & Your Feedback is needed – foonathan.net
11. 2. 2016Implementation Challenge: A count leading zeroes function – foonathan.net
26. 1. 2016One of C++ most underrated features: Namespace aliases – foonathan.net
15. 12. 2015Implementation Challenge: Traits for Concepts with optional functionality – foonathan.net
30. 11. 2015Controlling overload resolution #4: SFINAE – foonathan.net
16. 11. 2015Controlling overload resolution #3: Tag dispatching – foonathan.net
2. 11. 2015Controlling overload resolution #2: Improving error messages for failed overload resolution – foonathan.net
16. 10. 2015Controlling overload resolution #1: Preventing implicit conversions – foonathan.net
5. 10. 2015AllocatorAwareContainer: Introduction and pitfalls of propagate_on_container_XXX defaults – foonathan.net
12. 9. 2015Memory 0.4: Polishing, Error handling, Storage, Traits, Documentation and more – foonathan.net
@kaja47, 0xDEADBEEF funkcionálně.cz, k47.cz