std::deque::assign

From cppreference.com
< cpp‎ | container‎ | deque

void assign( size_type count, const T& value );
(1)
template< class InputIt >
void assign( InputIt first, InputIt last );
(2)
void assign( std::initializer_list<T> ilist );
(3) (since C++11)

Replaces the contents of the container.

1) Replaces the contents with count copies of value value
2) Replaces the contents with copies of those in the range [first, last).
This overload has the same effect as overload (1) if InputIt is an integral type. (until C++11)
This overload only participates in overload resolution if InputIt satisfies InputIterator. (since C++11)
3) Replaces the contents with the elements from the initializer list ilist.

Contents

[edit] Parameters

count - the new size of the container
value - the value to initialize elements of the container with
first, last - the range to copy the elements from
ilist - initializer list to copy the values from

[edit] Complexity

1) Linear in count
2) Linear in distance between first and last
3) Linear in ilist.size()

[edit] Example

The following code uses assign to add several characters to a std::deque<char>:

#include <deque>
#include <iostream>
 
int main()
{
    std::deque<char> characters;
 
    characters.assign(5, 'a');
 
    for (char c : characters) {
        std::cout << c << '\n';
    } 
 
    return 0;
}

Output:

a
a
a
a
a

[edit] See also

constructs the deque
(public member function)