Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vue qui n’a qu’un seul élément. Cette vue est utile à des fins de test pour appeler du code qui doit être fourni avec une vue avec au moins un élément dans celui-ci.
Syntaxe
template<std::copy_constructible T>
requires std::is_object_v<T>
class single_view : public ranges::view_interface<single_view<T>>
Paramètres de modèle
T
Type de l'élément.
Afficher les caractéristiques
Pour obtenir une description des entrées suivantes, consultez les caractéristiques de classe View
| Caractéristique | Description |
|---|---|
| Adaptateur de plage | views::single |
| Plage sous-jacente | Aucun(e) |
| Type d’élément | Spécifié lors de la création de l’objet single_view |
| Afficher la catégorie d’itérateur | contiguous_range |
| Taille | Retourne toujours 1 |
Est const-itérable |
Oui |
| Plage commune | Oui |
| Plage empruntée | Non |
Membres
| Fonctions membres | Description |
|---|---|
| Constructeurs C++20 | Construisez un single_view. |
beginC++20 |
Obtenez un itérateur sur l’élément. |
dataC++20 |
Obtenez un pointeur vers l’élément. |
endC++20 |
Obtenez la sentinelle à la fin de la vue. |
sizeC++20 |
Obtenez le nombre d’éléments. Retourne toujours 1. |
Hérité de view_interface |
Description |
backC++20 |
Obtenez l’élément. |
emptyC++20 |
Testez si l’affichage est vide (toujours retourné false). |
frontC++20 |
Obtenez l’élément. |
operator[]C++20 |
Obtenez l’élément à la position spécifiée (seule la position 0 est valide). |
operator boolC++20 |
Testez si la vue n’est pas vide (retourne falsetoujours ). |
Notes
La meilleure façon de créer un single_view est d’utiliser l’adaptateur views::single de plage. Les adaptateurs de plage sont la méthode prévue pour créer des classes d’affichage. Les types d’affichage sont exposés au cas où vous souhaitez créer votre propre type d’affichage personnalisé.
La valeur dans le single_view fichier peut être modifiée, sauf si la valeur du modèle est const. Par exemple : single_view<const float> sv{3.14} // this value can't be modified because it's const.
Spécifications
En-tête : <ranges> (depuis C++20)
Espace de noms : std::ranges
Option du compilateur : /std:c++20 ou version ultérieure est requise.
Constructeurs
Créez une instance de single_view.
1) single_view() = default;
2) constexpr explicit single_view(const T& t);
3) constexpr explicit single_view(T&& t);
4) template<class... Args>
requires constructible_from<T, Args...>
constexpr single_view(in_place_t, Args&&... args);
Paramètres
t
Valeur de l’élément.
Pour plus d’informations sur le type de paramètre de modèle, consultez Paramètres de modèle.
Notes
La meilleure façon de créer un single_view est d’utiliser l’adaptateur views::single de plage.
1) Créez un single_view élément avec un seul élément du type spécifié qui est construit par défaut. Par exemple, single_view<float> sv{} crée un single_view élément avec un seul élément de type float qui est construit par défaut sur 0.0.
2) Créez un single_view élément avec un seul élément du type spécifié qui est copié à partir de l’argument spécifié. Par exemple, single_view<myObjectType> sv{myObject} crée un single_view élément avec un seul élément de type myObjectType qui est initialisé à partir de l’argument.
3) Créez un single_view élément avec un seul élément du type spécifié qui est initialisé à partir de l’argument.
4) Créez un single_view élément avec un seul élément du type spécifié initialisé avec (std::forward<Args>(args)...).
Exemple single_view
/// requires /std:c++20 or later
#include <ranges>
#include <iostream>
#include <string>
#include <tuple>
int main()
{
std::ranges::single_view<int> sv{7};
std::cout << sv.front() << " " << *sv.data() << "\n"; // 7 7
std::ranges::single_view<std::tuple<int, std::string>> sv2{{6502, "8-bit"}};
std::cout << std::get<0>(sv2[0]) << " " << std::get<1>(sv2[0]) << "\n"; // 6502 8-bit
}
7 7
6502 8-bit
begin
Obtenez un pointeur vers l’élément unique dans la vue.
constexpr T* begin() noexcept;
constexpr const T* begin() const noexcept;
Paramètres
Aucune.
Valeur retournée
Pointeur vers l’élément unique à l’intérieur du single_view.
data
Obtenir un pointeur vers l’élément unique dans le single_view.
constexpr T* data() noexcept;
constexpr const T* data() const noexcept;
Paramètres
Aucune.
Valeur retournée
Pointeur vers l’élément dans le single_view.
end
Obtient un pointeur vers la sentinelle après l’élément.
constexpr T* end() noexcept;
constexpr const T* end() const noexcept;
Paramètres
Aucune.
Valeur retournée
Pointeur vers la sentinelle qui suit l’élément.
size
Obtenez le nombre d’éléments dans la vue. Retourne toujours 1.
static constexpr size_t size() noexcept;
Paramètres
Aucune.
Valeur retournée
1
Voir aussi
<ranges>
single adaptateur de plage
empty_view
Afficher les classes