Namespaces
Variants

std::valarray<T>::shift

De fr.cppreference.net
 
 
 
 
valarray<T> shift( int count ) const;

Renvoie un nouveau valarray de même taille dont les éléments sont décalés de count éléments. La nouvelle position de chaque élément est i−counti est la position précédente. La valeur des éléments décalés est T().

Paramètres

count - nombre de positions pour décaler les éléments

Valeur de retour

Le valarray résultant avec les éléments décalés.

Remarques

La fonction peut être implémentée avec un type de retour différent de std::valarray. Dans ce cas, le type de remplacement possède les propriétés suivantes :

  • Tous les const fonctions membres de std::valarray sont fournis.
  • std::valarray, std::slice_array, std::gslice_array, std::mask_array et std::indirect_array peuvent être construits à partir du type de remplacement.
  • Pour chaque fonction prenant un const std::valarray<T>& sauf begin() et end()(depuis C++11), des fonctions identiques prenant les types de remplacement doivent être ajoutées ;
  • Pour chaque fonction prenant deux const std::valarray<T>& arguments, des fonctions identiques prenant toutes les combinaisons de const std::valarray<T>& et des types de remplacement doivent être ajoutées.
  • Le type de retour n'ajoute pas plus de deux niveaux d'imbrication de template par rapport au type d'argument le plus profondément imbriqué.

Exemple

#include <iostream>
#include <valarray>
int main()
{
    std::valarray<int> v{1, 2, 3, 4, 5, 6, 7, 8};
    for (auto const& val : v)
        std::cout << val << ' ';
    std::cout << '\n';
    std::valarray<int> v2 = v.shift(2);
    for (auto const& val : v2)
        std::cout << val << ' ';
    std::cout << '\n';
}

Sortie :

1 2 3 4 5 6 7 8 
3 4 5 6 7 8 0 0

Voir aussi

décalage circulaire des éléments du valarray
(fonction membre publique)