◐ Shell
clean mode source ↗

std::swap_ranges - cppreference.com

Da cppreference.com.

Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate.

La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui.

Click here for the English version of this page

<metanoindex/>

<tbody> </tbody>

Elemento definito nell'header

<algorithm>

template< class ForwardIt1, class ForwardIt2 > ForwardIt2 swap_ranges( ForwardIt1 first1, ForwardIt1 last1, ForwardIt2 first2 )

Elementi di scambi tra [first1, last1) gamma e un altro intervallo a partire da first2.

Original:

Exchanges elements between range [first1, last1) and another range starting at first2.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Parametri

first1, last1 -

la prima gamma di elementi da scambiare

Original:

the first range of elements to swap

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

first2 -

all'inizio del secondo intervallo di elementi da scambiare

Original:

beginning of the second range of elements to swap

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Type requirements
-ForwardIt1, ForwardIt2 must meet the requirements of ForwardIterator.
-The types of dereferenced ForwardIt1 and ForwardIt2 must meet the requirements of Swappable

Valore di ritorno

Iterator all'elemento passato l'ultimo elemento scambiato all'inizio gamma con first2.

Original:

Iterator to the element past the last element exchanged in the range beginning with first2.

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Possibile implementazione

template<class ForwardIt1, class ForwardIt2>
ForwardIt1 swap_ranges(ForwardIt1 first1, 
                             ForwardIt1 last1, 
                             ForwardIt2 first2)
{
    while (first1 != last1) {
        std::iter_swap(first1++, first2++);
    }
    return first2;
}

Esempio

Viene illustrato lo scambio di intervalli secondari di contenitori diversi

Original:

Demonstrates swapping of subranges from different containers

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

#include <algorithm>
#include <list>
#include <vector>
#include <iostream>
int main()
{
    std::vector<int> v = {1, 2, 3, 4, 5};
    std::list<int> l = {-1, -2, -3, -4, -5};

    std::swap_ranges(v.begin(), v.begin()+3, l.begin());

    for(int n : v)
       std::cout << n << ' ';
    std::cout << '\n';
    for(int n : l)
       std::cout << n << ' ';
    std::cout << '\n';
}

Output:

Complessità

lineare la distanza tra first e last

Original:

linear in the distance between first and last

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Vedi anche

swap gli elementi a cui punta due iteratori

Original:

swaps the elements pointed to by two iterators

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(funzione di modello) [modifica]

scambia i valori di due oggetti

Original:

swaps the values of two objects

The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.


(funzione di modello) [modifica]