This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD status.

### 751. change pass-by-reference members of `vector<bool>` to pass-by-value?

Section: 22.3.12 [vector.bool] Status: NAD Submitter: Alisdair Meredith Opened: 2007-10-10 Last modified: 2016-01-28

Priority: Not Prioritized

View other active issues in [vector.bool].

View all other issues in [vector.bool].

View all issues with NAD status.

Discussion:

A number of `vector<bool>` members take const bool& as arguments. Is there any chance we could change them to pass-by-value or would I be wasting everyone's time if wrote up an issue?

[ post Bellevue: ]

> As we understand it, the original requester (Martin Sebor) would like for implementations to be permitted to pass-by-value. Alisdair suggests that if this is to be resolved, it should be resolved more generally, e.g. in other containers as well.

> We note that this would break ABI. However, we also suspect that this might be covered under the "as-if" rule in section 1.9.

> Many in the group feel that for vector<bool>, this is a "don't care", and that at this point in the process it's not worth the bandwidth.

> Issue 679 -- which was in ready status pre-Bellevue and is now in the working paper -- is related to this, though not a duplicate.

> Moving to Open with a task for Alisdair to craft a informative note to be put whereever appropriate in the WP. This note would clarify places where pass-by-const-ref can be transformed to pass-by-value under the as-if rule.

[ San Francisco: ]

> This is really a clause 17 issue, rather than something specific to vector<bool>.

> Move to Open. Alisdair to provide a resolution. Alternately, Howard can close this as NAD and then open a new issue to handle the general issue (rather than the vector<bool> one).

> Howard: Haven't yet opened new issue. Lacking wording for it.

[ 2009-07 Frankfurt: ]

> NAD. Insufficient motivation to make any changes.

Proposed resolution: