mathstodon.xyz is one of the many independent Mastodon servers you can use to participate in the fediverse.
A Mastodon instance for maths people. We have LaTeX rendering in the web interface!

Server stats:

2.8K
active users

#cpp20

4 posts3 participants0 posts today
BenBE<p>Okay, let's see how long it takes for this feature to get implemented in clang …</p><p><a href="https://github.com/llvm/llvm-project/issues/135764" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/llvm/llvm-project/i</span><span class="invisible">ssues/135764</span></a></p><p><a href="https://social.chaotikum.org/tags/clang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>clang</span></a> <a href="https://social.chaotikum.org/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a> <a href="https://social.chaotikum.org/tags/constexpr" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>constexpr</span></a></p>
BenBE<p>Is there a way to get Clang to output the exact number of constexpr evaluation steps it took while evaluating an initializer? AFAICS -ftime-trace only reports the time it took, not the evaluation steps counted against the evaluation step limit.</p><p>Use-case: I have some constexpr-heavy C++ code I want to optimize to work with fewer constexpr evals when compiling, so you can do more of the operations of that lib at compile time …</p><p><a href="https://social.chaotikum.org/tags/clang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>clang</span></a> <a href="https://social.chaotikum.org/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a></p>
Andreas Fertig<p>You can benefit from my knowledge of modern and clean code, too.</p><p>Order your copy here:</p><p>Print: <a href="https://amzn.to/4hZLrc1" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">amzn.to/4hZLrc1</span><span class="invisible"></span></a><br>E-book: <a href="https://fertig.to/bpwcpp20" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">fertig.to/bpwcpp20</span><span class="invisible"></span></a></p><p><a href="https://mas.to/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a> <a href="https://mas.to/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://mas.to/tags/book" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>book</span></a> <a href="https://mas.to/tags/cplusplus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cplusplus</span></a></p>
BenBE<p>Got some problem with C++:<br>GCC compiles fine, Clang throws an error.</p><p>Minimal reproducer:</p><p>template &lt;typename T&gt;<br>class A {<br>public:<br> typedef A&lt;T&gt; self_type;<br>private:<br> T v;<br>public:<br> constexpr A() : v() {}<br> constexpr A(T _v): v(_v) {}<br>public:<br> static constexpr self_type def = self_type(T(42));<br>};</p><p>int main() {<br> volatile auto foo = A&lt;int&gt;::def;<br> (void)foo;<br> return 0;<br>}</p><p>How to get this to work with Clang? I want to keep def as a class constant.</p><p><a href="https://social.chaotikum.org/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a> <a href="https://social.chaotikum.org/tags/gcc" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gcc</span></a> <a href="https://social.chaotikum.org/tags/clang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>clang</span></a></p>
C++Now<p>C++Now 2025 SESSION ANNOUNCEMENT: A Practitioner's Guide to Writing std-Compatible Views by Zach Laine</p><p><a href="https://schedule.cppnow.org/session/2025/a-practitioners-guide-to-writing-std-compatible-views/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">schedule.cppnow.org/session/20</span><span class="invisible">25/a-practitioners-guide-to-writing-std-compatible-views/</span></a></p><p>Register now at <a href="https://cppnow.org/registration/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">cppnow.org/registration/</span><span class="invisible"></span></a></p><p><a href="https://mastodon.social/tags/cplusplus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cplusplus</span></a> <a href="https://mastodon.social/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> <a href="https://mastodon.social/tags/Cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Cpp20</span></a> <a href="https://mastodon.social/tags/ranges" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ranges</span></a></p>
Andreas Fertig<p>Don't miss out, I'm hosting a free of charge 1-Hour C++ training class</p><p><a href="https://andreasfertig.com/blog/2025/04/free-1-hour-cpp-training-class/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">andreasfertig.com/blog/2025/04</span><span class="invisible">/free-1-hour-cpp-training-class/</span></a></p><p><a href="https://mas.to/tags/cpp17" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp17</span></a> <a href="https://mas.to/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a> <a href="https://mas.to/tags/course" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>course</span></a></p>
Andreas Fertig<p>The German @iXmagazin issue 2025/04 contains one of my articles "C++20-Coroutinen, Teil 4: Stream-Parser"</p><p><a href="https://andreasfertig.com/blog/2025/04/ix-article-cpp20-coroutinen-teil-4-stream-parser/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">andreasfertig.com/blog/2025/04</span><span class="invisible">/ix-article-cpp20-coroutinen-teil-4-stream-parser/</span></a></p><p><a href="https://mas.to/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> <a href="https://mas.to/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a> <a href="https://mas.to/tags/ct" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ct</span></a> <a href="https://mas.to/tags/heise" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>heise</span></a> <a href="https://mas.to/tags/article" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>article</span></a></p>
C++Now<p>C++Now 2025 SESSION ANNOUNCEMENT: Advanced Ranges - Writing Modular, Clean, and Efficient Code with Custom Views by Steve Sorkin</p><p><a href="https://schedule.cppnow.org/session/2025/advanced-ranges/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">schedule.cppnow.org/session/20</span><span class="invisible">25/advanced-ranges/</span></a></p><p>Register now at <a href="https://cppnow.org/registration/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">cppnow.org/registration/</span><span class="invisible"></span></a></p><p><a href="https://mastodon.social/tags/cplusplus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cplusplus</span></a> <a href="https://mastodon.social/tags/Cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Cpp20</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://mastodon.social/tags/ranges" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ranges</span></a></p>
C++Now<p>C++Now 2025 SESSION ANNOUNCEMENT: A Practitioner's Guide to Writing std-Compatible Views by Zach Laine</p><p><a href="https://schedule.cppnow.org/session/2025/a-practitioners-guide-to-writing-std-compatible-views/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">schedule.cppnow.org/session/20</span><span class="invisible">25/a-practitioners-guide-to-writing-std-compatible-views/</span></a></p><p>Register now at <a href="https://cppnow.org/registration/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">cppnow.org/registration/</span><span class="invisible"></span></a></p><p><a href="https://mastodon.social/tags/cplusplus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cplusplus</span></a> <a href="https://mastodon.social/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> <a href="https://mastodon.social/tags/Cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Cpp20</span></a> <a href="https://mastodon.social/tags/ranges" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ranges</span></a></p>
Andreas Fertig<p>For C++ developers who want to write modern code</p><p>The book "Programming with C++20 "will help you to apply the new features of C++20.</p><p>Order your copy here:</p><p>Print: <a href="https://amzn.to/4hZLrc1" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">amzn.to/4hZLrc1</span><span class="invisible"></span></a><br>E-book: <a href="https://fertig.to/bpwcpp20" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">fertig.to/bpwcpp20</span><span class="invisible"></span></a></p><p><a href="https://mas.to/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a> <a href="https://mas.to/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://mas.to/tags/book" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>book</span></a> <a href="https://mas.to/tags/cplusplus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cplusplus</span></a></p>
C++Now<p>C++Now 2025 SESSION ANNOUNCEMENT: Distributed Programming With C++ Coroutines and Asynchronous Communication Frameworks by Johan Vanslembrouck</p><p><a href="https://schedule.cppnow.org/session/2025/distributed-programming-with-cpp-coroutines-and-asynchronous-communication-frameworks/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">schedule.cppnow.org/session/20</span><span class="invisible">25/distributed-programming-with-cpp-coroutines-and-asynchronous-communication-frameworks/</span></a></p><p>Register now at <a href="https://cppnow.org/registration/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">cppnow.org/registration/</span><span class="invisible"></span></a></p><p><a href="https://mastodon.social/tags/coroutines" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>coroutines</span></a> <a href="https://mastodon.social/tags/cplusplus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cplusplus</span></a> <a href="https://mastodon.social/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> <a href="https://mastodon.social/tags/Cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Cpp20</span></a></p>
Andreas Fertig<p>Do you care about performance and like to know how lambdas score compared to function objects? Check out my post, "Under the covers of C++ lambdas - Part 3: Generic lambdas"</p><p><a href="https://andreasfertig.com/blog/2020/12/under-the-covers-of-cpp-lambdas-part-3-generic-lambdas/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">andreasfertig.com/blog/2020/12</span><span class="invisible">/under-the-covers-of-cpp-lambdas-part-3-generic-lambdas/</span></a></p><p><a href="https://mas.to/tags/cplusplus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cplusplus</span></a> <a href="https://mas.to/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a> <a href="https://mas.to/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a></p>
Andreas Fertig<p>In my latest blog post, "The correct way to do type punning in C++," you'll learn about the proper way to do type punning in modern C++.</p><p><a href="https://andreasfertig.com/blog/2025/03/the-correct-way-to-do-type-punning-in-cpp/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">andreasfertig.com/blog/2025/03</span><span class="invisible">/the-correct-way-to-do-type-punning-in-cpp/</span></a></p><p><a href="https://mas.to/tags/cplusplus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cplusplus</span></a> <a href="https://mas.to/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> <a href="https://mas.to/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a></p>
h-1^[solo]<p>I consciously use up to C++17 features in my code. I completed C++20 book recently and I find evolution of the language already delivered, quite useful, which is contrary to my own fears from the past that helped me ignore any further development after C++17. Practical usage is still ahead of me but aside of book, examples like this are extremely helpful to continue understanding their practicality: <a href="https://oleksandrkvl.github.io/2021/04/02/cpp-20-overview.html" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">oleksandrkvl.github.io/2021/04</span><span class="invisible">/02/cpp-20-overview.html</span></a> <a href="https://graphics.social/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> <a href="https://graphics.social/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a></p>
Andreas Fertig<p>The German @iXmagazin issue 2025/03 contains one of my articles "C++20s Coroutinen - Ein Scheduler mit C++-Coroutinen "</p><p><a href="https://andreasfertig.com/blog/2025/02/ix-article-cpp20s-coroutinen-ein-scheduler-mit-cpp-coroutinen/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">andreasfertig.com/blog/2025/02</span><span class="invisible">/ix-article-cpp20s-coroutinen-ein-scheduler-mit-cpp-coroutinen/</span></a></p><p><a href="https://mas.to/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> <a href="https://mas.to/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a> <a href="https://mas.to/tags/ct" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ct</span></a> <a href="https://mas.to/tags/heise" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>heise</span></a> <a href="https://mas.to/tags/article" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>article</span></a></p>
Andreas Fertig<p>In my latest blog post, "C++ for embedded systems: constexpr and consteval," you'll learn what C++ does for embedded software development.</p><p><a href="https://bit.ly/411jSbK" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">bit.ly/411jSbK</span><span class="invisible"></span></a></p><p><a href="https://mas.to/tags/cplusplus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cplusplus</span></a> <a href="https://mas.to/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> <a href="https://mas.to/tags/cpp23" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp23</span></a> <a href="https://mas.to/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a></p>
Andreas Fertig<p>The German @iXmagazin issue 2025/02 contains one of my articles "C++-Coroutinen einsetzen: Tasks und Generatoren"</p><p><a href="https://bit.ly/40Yw6C5" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">bit.ly/40Yw6C5</span><span class="invisible"></span></a></p><p><a href="https://mas.to/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> <a href="https://mas.to/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a> <a href="https://mas.to/tags/ct" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ct</span></a> <a href="https://mas.to/tags/heise" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>heise</span></a> <a href="https://mas.to/tags/article" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>article</span></a></p>
Andreas Fertig<p>I'm thrilled to let you know that I'll give the workshop Safe and Efficient C++ for Embedded Environments (compact) at C++Online</p><p><a href="https://bit.ly/4h8FIjc" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">bit.ly/4h8FIjc</span><span class="invisible"></span></a></p><p><a href="https://mas.to/tags/cplusplus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cplusplus</span></a> <a href="https://mas.to/tags/cpp17" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp17</span></a> <a href="https://mas.to/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a></p>
Andreas Fertig<p>The German @iXmagazin issue 2025/01 contains one of my articles "C++20-Coroutinen effizient verwenden"</p><p><a href="https://bit.ly/4hsTLQg" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">bit.ly/4hsTLQg</span><span class="invisible"></span></a></p><p><a href="https://mas.to/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> <a href="https://mas.to/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a> <a href="https://mas.to/tags/ct" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ct</span></a> <a href="https://mas.to/tags/heise" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>heise</span></a> <a href="https://mas.to/tags/article" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>article</span></a></p>
Andreas Fertig<p>The recording of my talk "Fast and small C++ - When efficiency matters" at <span class="h-card" translate="no"><a href="https://mas.to/@code" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>code</span></a></span>::dive is available!</p><p><a href="https://bit.ly/4ar9Wvf" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">bit.ly/4ar9Wvf</span><span class="invisible"></span></a></p><p><a href="https://mas.to/tags/cpp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp</span></a> <a href="https://mas.to/tags/cpp20" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpp20</span></a> <a href="https://mas.to/tags/cplusplus" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cplusplus</span></a></p>