Namespaces
Variants
Views
Actions

Difference between revisions of "Template:cpp/container/assign"

From cppreference.com
(+type reqs)
Line 8: Line 8:
 
template< class InputIt >
 
template< class InputIt >
 
void assign( InputIt first, InputIt last );
 
void assign( InputIt first, InputIt last );
 +
}}
 +
{{ddcl list item | num=3 | notes={{cpp/container/mark since c++11 | {{{1|}}}}} | 1=
 +
void assign( std::initializer_list<T> ilist );
 
}}
 
}}
 
{{ddcl list end}}
 
{{ddcl list end}}
Line 16: Line 19:
  
 
2) replaces the contents with copies of those in the range {{tt|[first, last)}}
 
2) replaces the contents with copies of those in the range {{tt|[first, last)}}
 +
 +
3) replaces the contents with the elements from the initializer list {{tt|ilist}}.
  
 
===Parameters===
 
===Parameters===
Line 22: Line 27:
 
{{param list item | value | the value to initialize elements of the container with}}
 
{{param list item | value | the value to initialize elements of the container with}}
 
{{param list item | first, last | the range to copy the elements from}}
 
{{param list item | first, last | the range to copy the elements from}}
 +
{{param list item | ilist | initializer list to copy the values from}}
 
{{param list hreq}}
 
{{param list hreq}}
 
{{param list req concept | InputIt | InputIterator}}
 
{{param list req concept | InputIt | InputIterator}}
Line 31: Line 37:
  
 
2) linear in distance between {{tt|first}} and {{tt|last}}
 
2) linear in distance between {{tt|first}} and {{tt|last}}
 +
 +
3) linear in {{c|ilist.size()}}
  
 
===Example===
 
===Example===

Revision as of 15:17, 16 February 2013

Template:ddcl list begin <tr class="t-dcl ">

<td >
void assign( size_type count, const T& value );
</td>

<td > (1) </td> <td class="t-dcl-nopad"> </td> </tr> <tr class="t-dcl ">

<td >
template< class InputIt >
void assign( InputIt first, InputIt last );
</td>

<td > (2) </td> <td class="t-dcl-nopad"> </td> </tr> <tr class="t-dcl ">

<td >
void assign( std::initializer_list<T> ilist );
</td>

<td > (3) </td> <td class="t-dcl-nopad"> </td> </tr> Template:ddcl list end

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)

3) replaces the contents with the elements from the initializer list ilist.

Contents

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
Type requirements
-
InputIt must meet the requirements of LegacyInputIterator.

Complexity

1) linear in count

2) linear in distance between first and last

3) linear in ilist.size()

Example

The following code uses assign to add several characters to a std::{{{1}}}<char>:

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

Output:

a
a
a
a
a

See also

Template:cpp/container/dcl list constructor