Namespaces
Variants
Views
Actions

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

From cppreference.com
m (Shorten template names. Use {{lc}} where appropriate.)
Line 1: Line 1:
 
{{cpp/container/{{{1|}}}/title | assign}}
 
{{cpp/container/{{{1|}}}/title | assign}}
 
{{cpp/container/{{{1|}}}/navbar}}
 
{{cpp/container/{{{1|}}}/navbar}}
{{ddcl list begin}}
+
{{dcl begin}}
{{ddcl list item | num=1 | notes={{cpp/container/mark since c++11 | {{{1|}}}}} | 1=
+
{{dcl | num=1 | notes={{cpp/container/mark since c++11 | {{{1|}}}}} | 1=
 
void assign( size_type count, const T& value );
 
void assign( size_type count, const T& value );
 
}}
 
}}
{{ddcl list item | num=2 | notes={{cpp/container/mark since c++11 | {{{1|}}}}} | 1=
+
{{dcl | num=2 | notes={{cpp/container/mark since c++11 | {{{1|}}}}} | 1=
 
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=
+
{{dcl | num=3 | notes={{cpp/container/mark since c++11 | {{{1|}}}}} | 1=
 
void assign( std::initializer_list<T> ilist );
 
void assign( std::initializer_list<T> ilist );
 
}}
 
}}
{{ddcl list end}}
+
{{dcl end}}
  
 
Replaces the contents of the container.
 
Replaces the contents of the container.
Line 23: Line 23:
  
 
===Parameters===
 
===Parameters===
{{param list begin}}
+
{{par begin}}
{{param list item | count | the new size of the container}}
+
{{par | count | the new size of the container}}
{{param list item | value | the value to initialize elements of the container with}}
+
{{par | value | the value to initialize elements of the container with}}
{{param list item | first, last | the range to copy the elements from}}
+
{{par | first, last | the range to copy the elements from}}
{{param list item | ilist | initializer list to copy the values from}}
+
{{par | ilist | initializer list to copy the values from}}
{{param list hreq}}
+
{{par hreq}}
{{param list req concept | InputIt | InputIterator}}
+
{{par req concept | InputIt | InputIterator}}
{{param list end}}  
+
{{par end}}  
  
 
===Complexity===
 
===Complexity===
Line 69: Line 69:
 
===See also===
 
===See also===
  
{{dcl list begin}}
+
{{dsc begin}}
{{dcl list template | cpp/container/dcl list constructor |{{{1|}}}}}
+
{{dsc inc | cpp/container/dcl list constructor |{{{1|}}}}}
{{dcl list end}}
+
{{dsc end}}

Revision as of 20:44, 31 May 2013

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)

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

Template:par req concept

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