   
   
   Preconditions: T is
Cpp17CopyInsertable into X. Postconditions: distance(begin(), end()) == n Effects: Constructs a sequence container with n copies of t

   Preconditions: T is Cpp17EmplaceConstructible into X from *i. For vector, if the iterator does
not meet the Cpp17ForwardIterator requirements ( [forward.iterators]), T
is also
Cpp17MoveInsertable into X. Postconditions: distance(begin(), end()) ==
distance(i, j)Effects: Constructs a sequence container equal to the range [i, j). Each iterator in the range [ i, j) is dereferenced exactly once . 
   Equivalent to X(il.begin(), il.end()) 
   Preconditions: T is
Cpp17CopyInsertable into X
and Cpp17CopyAssignable. Effects: Assigns the range [ il.begin(), il.end()) into a. All existing
elements of a are either assigned to or destroyed . 
   Preconditions: T is Cpp17EmplaceConstructible into X from args. For vector and deque,
T is also
Cpp17MoveInsertable into X and Cpp17MoveAssignable. Effects: Inserts an object of type T constructed with
std::forward<Args>(args)... before p. [ Note 2: args can directly or indirectly refer to
a value in a. â€” end note] 
   Preconditions: T is
Cpp17CopyInsertable into X. For vector and deque,
T is also Cpp17CopyAssignable. Effects: Inserts a copy of t before p. 
   Preconditions: T is
Cpp17MoveInsertable into X. For vector and deque,
T is also Cpp17MoveAssignable. Effects: Inserts a copy of rv before p. 
   Preconditions: T is
Cpp17CopyInsertable into X
and Cpp17CopyAssignable. Effects: Inserts n copies of t before p. 
   Preconditions: T is Cpp17EmplaceConstructible into X from *i. For vector and deque, T is also
Cpp17MoveInsertable into X, Cpp17MoveConstructible, Cpp17MoveAssignable,
and swappable ( [swappable.requirements]) . Neither i nor j are iterators into a. Effects: Inserts copies of elements in [i, j) before p. Each iterator in the range [ i, j) shall be dereferenced exactly once . 
   a.insert(p, il.begin(), il.end()). 
   Preconditions: For vector and deque,
T is Cpp17MoveAssignable. Effects: Erases the element pointed to by q. 
   Preconditions: For vector and deque,
T is Cpp17MoveAssignable. Effects: Erases the elements in the range [q1, q2). 
   Effects: Destroys all elements in a. Invalidates all references, pointers, and
iterators referring to the elements of a and may invalidate the pasttheend iterator . Postconditions: a.empty() is true. 
   Preconditions: T is Cpp17EmplaceConstructible into X from *i
and assignable from *i. For vector, if the iterator does not
meet the forward iterator requirements ( [forward.iterators]), T
is also
Cpp17MoveInsertable into X. Neither i nor j are iterators into a. Effects: Replaces elements in a with a copy of [i, j). Invalidates all references, pointers and iterators
referring to the elements of a. For vector and deque,
also invalidates the pasttheend iterator . Each iterator in the range [ i, j) shall be dereferenced exactly once . 
   a.assign(il.begin(), il.end()). 
   Preconditions: T is
Cpp17CopyInsertable into X
and Cpp17CopyAssignable. t is not a reference into a. Effects: Replaces elements in a with n copies of t. Invalidates all references, pointers and iterators
referring to the elements of a. For vector and deque,
also invalidates the pasttheend iterator . 