std::move_iterator
De cppreference.com
[] |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
<metanoindex/>
<tbody> </tbody>| Dclar dans l'en-tte <iterator>
|
||
template <class Iterator> class move_iterator |
(depuis C++11) | |
std::move_iterator est un adaptateur itrateur qui se comporte exactement comme l'itrateur sous-jacente (qui doit tre d'au moins un InputIterator), sauf que le drfrencement convertit la valeur retourne par l'itrateur sous-jacent dans une rvalue. Si cet itrateur est utilis comme un itrateur d'entre, l'effet est que les valeurs sont dplacs d', plutt que de copier de .Original:
std::move_iterator is an iterator adaptor which behaves exactly like the underlying iterator (which must be at least an InputIterator), except that dereferencing converts the value returned by the underlying iterator into an rvalue. If this iterator is used as an input iterator, the effect is that the values are moved from, rather than copied from.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Types de membres
| Type du membre | Dfinition |
iterator_type
|
Iterator
|
difference_type
|
std::iterator_traits<Iterator>::difference_type
|
pointer
|
Iterator
|
value_type
|
std::iterator_traits<Iterator>::value_type
|
iterator_category
|
std::iterator_traits<Iterator>::iterator_category
|
reference
|
value_type&&
|
Fonctions membres
construit un nouvel itrateur adaptateur Original: constructs a new iterator adaptor The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction membre publique) | |
assigne un autre itrateur Original: assigns another iterator The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction membre publique) | |
accde l'itrateur sous-jacent Original: accesses the underlying iterator The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction membre publique) | |
accde l'lment point vers Original: accesses the pointed-to element The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction membre publique) | |
obtient de rfrence rvalue l'lment index Original: obtains rvalue reference to indexed element The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction membre publique) | |
avances ou dcrmente l'itrateur Original: advances or decrements the iterator The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction membre publique) | |
Fonctions annexes
compare les itrateurs sous-jacents Original: compares the underlying iterators The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction gnrique) | |
progrs de l'itrateur Original: advances the iterator The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction gnrique) | |
calcule la distance entre deux adaptateurs itrateur Original: computes the distance between two iterator adaptors The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction gnrique) | |
Exemple
#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
#include <numeric>
int main()
{
std::vector<std::string> v{"this", "is", "an", "example"};
std::cout << "Old contents of the vector: ";
for(auto& s : v)
std::cout << '"' << s << "\" ";
typedef std::vector<std::string>::iterator iter_t;
std::string concat = std::accumulate(
std::move_iterator<iter_t>(v.begin()),
std::move_iterator<iter_t>(v.end()),
std::string()); // Can be simplified with std::make_move_iterator
std::cout << "\nConcatenated as string: " << concat << '\n'
<< "New contents of the vector: ";
for(auto& s : v)
std::cout << '"' << s << "\" ";
std::cout << '\n';
}
Rsultat :
Old contents of the vector: "this" "is" "an" "example"
Concatenated as string: thisisanexample
New contents of the vector: "" "" "" ""
Voir aussi
(C++11) |
cre un std::move_iterator de type infr partir de l'argument Original: creates a std::move_iterator of type inferred from the argument The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction gnrique) |