Category "c++20"

Convert between std::u8string and std::string

C++20 added char8_t and std::u8string for UTF-8. However, there is no UTF-8 version of std::cout and OS APIs mostly expect char and execution character set. So

Convert between std::u8string and std::string

C++20 added char8_t and std::u8string for UTF-8. However, there is no UTF-8 version of std::cout and OS APIs mostly expect char and execution character set. So

How to make a templated parameter to match the function-signature of an outer templated type

Imagine I've got sth. like this: template<typename Signature> struct Callable { template<typename FnType> requires std::convertible_to&l

Why is volatile deprecated in C++20?

According to cppreference, most uses of the volatile keyword are to be deprecated in C++20. What is the disadvantage of volatile? And what is the alternative so

Escape sequences for char8_t and unsigned char

Trying to use escape sequences to construct a char8_t string (to not rely on file/compiler encoding), I got issue with MSVC. I wonder if it is a bug, or if it i

Does GCC support C++20 std::format?

If it doesn't, do you know what compiler or version will? See cppreference/format.

Why is Signed Overflow due to computation still Undefined Behavior in C++20

I came to know through this answer that: Signed overflow due to computation is still undefined behavior in C++20 while Signed overflow due to conversion is wel

Two ways of calling coroutines nestedly?

Imagine you have those coroutines awaitable<void> a() { ... } awaitable<void> b() { co_await a(); } awaitable<void> c() { co_await

How to compile/use header unit modules under CLang C++?

It is said in docs that modules support in CLang is partial. I'm using CLang under Windows 64-bit from recent release of LLVM 12.0. I successfully managed to us

How to create a time point from milliseconds since Unix epoch?

To create a time point for the current time, you can use: std::chrono::system_clock::now(). I cannot figure out, however, how to create a time point given milli

Import std lib as modules with clang

I am experimenting with modules in clang, and would like to include the standard lib as modules instead of as includes. Currently I do this #include <iostrea

Problem with std::index_sequence_for as default argument?

The following C++20 program: #include <utility> #include <cstddef> template<typename... Args> class C { template<size_t... I> s

Is there any way to declare a array, not just its elements, as const?

Using std::array I can declare both the array itself and it's objects as const. const std::array<const int,2> a {1,2}; However, if I read the standard co

Scheduling a coroutine with a context

There are plenty of tutorials that explain how it's easy to use coroutines in C++, but I've spent a lot of time getting how to schedule "detached" coroutines. A

accessing std::tuple element by constexpr in type

I would like to access to a tuple element at compile time by a value constexpr in the type #include <iostream> #include <tuple> #include <utility