cpp/utility/piecewise construct

is an empty class tag type used to disambiguate between different functions that take two tuple arguments. The constant is an instance of it.

The overloads that do not use assume that each tuple argument becomes the element of a pair. The overloads that use assume that each tuple argument is used to construct, piecewise, a new object of specified type, which will become the element of the pair.