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

### 2187. `vector<bool>` is missing `emplace` and `emplace_back` member functions

Section: 22.3.12 [vector.bool] Status: C++14 Submitter: Nevin Liber Opened: 2012-09-21 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 C++14 status.

Discussion:

It should have them so that it more closely matches the `vector<T>` interface, as this helps when writing generic code.

[2012, Portland: Move to Tentatively Ready]

Question on whether the variadic template is really needed, but it turns out to be needed to support `emplace` of no arguments.

[2013-04-20 Bristol]

Proposed resolution:

This wording is relative to N3376.

1. Change the class template `vector<bool>` synopsis, 22.3.12 [vector.bool] p1, as indicated:

   >     namespace std {
   >       template <class Allocator> class vector<bool, Allocator> {
   >       public:
   >         […]
   >         // modifiers:
   >         template <class... Args> void emplace_back(Args&&... args);
   >         void push_back(const bool& x);
   >         void pop_back();
   >         template <class... Args> iterator emplace(const_iterator position, Args&&... args);
   >         iterator insert(const_iterator position, const bool& x);
   >         […]
   >       };
   >     }