Title
prepend_range and append_range can't be amortized constant time
Status
c++23
Section
[sequence.reqmts]
Submitter
Tim Song

Created on 2022-07-06.00:00:00 last changed 12 months ago

Messages

Date: 2022-11-17.00:42:33

Proposed resolution:

This wording is relative to N4910.

  1. Modify [sequence.reqmts] as indicated:

    -69- The following operations are provided for some types of sequence containers but not others. An implementation shall implement themOperations other than prepend_range and append_range are implemented so as to take amortized constant time.

Date: 2022-11-12.00:00:00

[ 2022-11-12 Approved at November 2022 meeting in Kona. Status changed: Voting → WP. ]

Date: 2022-08-15.00:00:00

[ 2022-08-23; Reflector poll ]

Set status to Tentatively Ready after six votes in favour during reflector poll.

Date: 2022-07-06.00:00:00

[sequence.reqmts]/69 says "An implementation shall implement them so as to take amortized constant time." followed by a list of operations that includes the newly added append_range and prepend_range. Obviously these operations cannot be implemented in amortized constant time.

Because the actual complexity of these operations are already specified in the concrete container specification, we can just exclude them here.

History
Date User Action Args
2023-11-22 15:47:43adminsetstatus: wp -> c++23
2022-11-17 00:42:33adminsetmessages: + msg13054
2022-11-17 00:42:33adminsetstatus: voting -> wp
2022-11-08 03:46:49adminsetstatus: ready -> voting
2022-08-31 18:05:14adminsetstatus: new -> ready
2022-08-23 15:25:16adminsetmessages: + msg12699
2022-07-10 11:39:05adminsetmessages: + msg12573
2022-07-06 00:00:00admincreate