Open
Description
we require the types of query objects such as get_scheduler
to be customization point objects. [customization.point.object]
requires them to be semiregular
but that concept does not require default constructability. much of std::execution
assumes query object types to be default constructible.
propose adding a (nothrow) default-constructibility requirement
Proposed Wording
change [exec.queryable.general]
p1 as follows:
- A queryable object is a read-only collection of key/value pair where each key is a customization point object known as a query object. The type of a query object satisfies
default_initializable
, and its default constructor is not potentially throwing. A query is an invocation of a query object with a queryable object as its first argument and a (possibly empty) set of additional arguments. A query imposes syntactic and semantic requirements on its invocations.