Constructs a new container from a variety of data sources, optionally using user supplied allocator alloc. If an allocator is provided, all memory allocations are done though it. Otherwise, the memory is allocated from an unspecified source, which may, or may not, invoke the global operator new. This way, it additional optimization opportunities are possible, for example, using stack-based allocation.

1-2) Constructs the container with count value-initialized (default constructed, for classes) instances of T. No copies are made.

3-4) Constructs the container with count copies of elements with value value. T must meet the requirements of CopyConstructible.

5-6) Copy-constructor. Constructs the container with the copy of the contents of other. T must meet the requirements of CopyConstructible.

7-8) Constructs the container with the contents of the initializer list init.