This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.
Section: 13.7.5 [networking.ts::async.exec.ctx.globals] Status: New Submitter: Billy O'Neal III Opened: 2018-06-23 Last modified: 2020-09-06
Priority: 3
View all issues with New status.
Discussion:
Addresses: networking.tsmake_service and use_service create arbitrary numbers of type Service, a type provided by the user, similar to how locale's use_facet works. As a result there's no amount of storage that could be reserved inside execution_context to avoid allocating memory. However, there's no allocator support here, and make_service is forbidden from throwing allocation related exceptions by N4734 [async.exec.ctx.globals]/7.
If the intent is for execution_context to allocate memory, are user overloads of operator new on type Service intended to be used?[2018-07-20 Priority set to 3 after reflector discussion]
[Jonathan provides wording.]
Proposed resolution:
This wording is relative to the N4762.
Modify 13.7.5 [networking.ts::async.exec.ctx.globals] p7:
-7- Throws: service_already_exists if a corresponding service object of type Service::key_type is already present in the set , bad_alloc, or an implementation-defined exception when a resource other than memory could not be obtained. Any exception thrown by the constructor of Service.