Skip to content

query objects must be default constructible #333

Open
@ericniebler

Description

@ericniebler

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:

  1. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions