Partager via


winrt::vector_base, modèle de struct (C++/WinRT)

Classe de base à partir de laquelle vous pouvez dériver pour implémenter votre propre collection personnalisée à usage général non observable. Pour plus d’informations et des exemples de code, consultez Collections avec C++/WinRT.

Syntax

template <typename D, typename T>
struct vector_base : vector_view_base<D, T, winrt::impl::collection_version>

Paramètres de modèle

typename D Nom de votre type dérivé.

typename T Type des éléments dans le vector_base.

Spécifications

Kit de développement logiciel (SDK) pris en charge minimum : Windows SDK version 10.0.0.17763.0 (Windows 10, version 1809)

Espace de noms : winrt

En-tête : %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (inclus par défaut)

Fonctions Membre

Fonction Description
vector_base::Append, fonction Ajoute un élément à la fin de l’objet vector_base .
vector_base::Clear, fonction Supprime tous les éléments de l’objet vector_base .
vector_base::First, fonction Récupère un IIterator représentant le premier élément de l’objet vector_base .
vector_base::GetAt, fonction Récupère l’élément à l’index spécifié dans l’objet vector_base .
vector_base::GetMany, fonction Récupère une collection d’éléments dans l’objet vector_base commençant à l’index donné.
vector_base::GetView, fonction Récupère une vue immuable de l’objet vector_base .
vector_base::IndexOf, fonction Récupère l’index d’un élément spécifié dans l’objet vector_base .
vector_base::InsertAt, fonction Insère un élément à l’index spécifié dans l’objet vector_base .
vector_base::RemoveAt, fonction Supprime l’élément à l’index spécifié dans l’objet vector_base .
vector_base::RemoveAtEnd, fonction Supprime le dernier élément de l’objet vector_base .
vector_base::ReplaceAll, fonction Remplace tous les éléments de l’objet vector_base par les éléments spécifiés.
vector_base::SetAt, fonction Définit la valeur de l’élément à l’index spécifié dans l’objet vector_base .
vector_base::Size, fonction Récupère le nombre d’éléments de l’objet vector_base .

Iterators

Une vector_base est une plage et cette plage est définie par des fonctions libres internes (chacune d’elles récupère un itérateur) compatibles avec les fonctionnalités de langage standard. En raison de cela, vous pouvez énumérer les éléments d’un objet vector_base avec une instruction basée sur for une plage.

Vous pouvez également récupérer un IIterator à partir de la fonction vector_base::First et l’utiliser pour itérer dans les éléments d’un objet vector_base .

...
#include <iostream>
using namespace winrt;
using namespace Windows::Foundation::Collections;
...
struct MyVector :
    implements<MyVector, IVector<float>, IVectorView<float>, IIterable<float>>,
    winrt::vector_base<MyVector, float>
{
    auto& get_container() const noexcept
    {
        return m_values;
    }

    auto& get_container() noexcept
    {
        return m_values;
    }

private:
    std::vector<float> m_values{ 0.1f, 0.2f, 0.3f };
};
...
IVector<float> coll{ winrt::make<MyVector>() };

for (auto const& el : coll)
{
    std::wcout << el << std::endl;
}

IIterator<float> it{ coll.First() };
while (it.HasCurrent())
{
    std::wcout << it.Current() << std::endl;
    it.MoveNext();
}

vector_base::Append, fonction

Ajoute un élément à la fin de l’objet vector_base .

Syntaxe

void Append(T const& value);

Paramètres

value Élément à ajouter.

vector_base::Clear, fonction

Supprime tous les éléments de l’objet vector_base .

Syntax

void Clear() noexcept;

vector_base::First, fonction

Récupère un IIterator représentant le premier élément de l’objet vector_base .

Syntaxe

auto First();

Valeur de retour

IIterator représentant le premier élément de l’objet vector_base.

vector_base::GetAt, fonction

Récupère l’élément à l’index spécifié dans l’objet vector_base .

Syntaxe

T GetAt(uint32_t const index) const;

Paramètres

index Index d’élément de base zéro.

Valeur retournée

Élément à l’index spécifié dans l’objet vector_base .

vector_base::GetMany, fonction

Récupère une collection d’éléments dans l’objet vector_base commençant à l’index donné.

Syntaxe

uint32_t GetMany(uint32_t const startIndex, array_view<T> values) const;

Paramètres

startIndex Index d’élément de base zéro à démarrer.

values Un array_view pour copier les éléments dans.

Valeur retournée

Valeur représentant le nombre d’éléments récupérés.

vector_base::GetView, fonction

Récupère une vue immuable de l’objet vector_base .

Syntaxe

winrt::Windows::Foundation::Collections::IVectorView<T> GetView() const noexcept;

Valeur de retour

IVectorView contenant une vue immuable du vector_base.

vector_base::IndexOf, fonction

Récupère l’index d’un élément spécifié dans l’objet vector_base .

Syntaxe

bool IndexOf(T const& value, uint32_t& index) const noexcept;

Paramètres

value Élément, dans l’objet vector_base , à rechercher.

index Index de base zéro de l’élément si l’élément est trouvé, sinon le nombre d’éléments dans l’objet vector_base .

Valeur retournée

true si l’élément est trouvé, sinon false.

vector_base::InsertAt, fonction

Insère un élément à l’index spécifié dans l’objet vector_base .

Syntaxe

void InsertAt(uint32_t const index, T const& value);

Paramètres

index Index de base zéro auquel insérer l’élément.

value Élément à insérer.

vector_base::RemoveAt, fonction

Supprime l’élément à l’index spécifié dans l’objet vector_base .

Syntaxe

void RemoveAt(uint32_t const index);

Paramètres

index Index de base zéro de l’élément à supprimer.

vector_base::RemoveAtEnd, fonction

Supprime le dernier élément de l’objet vector_base .

Syntax

void RemoveAtEnd();

fonction vector_base::ReplaceAll

Remplace tous les éléments de l’objet vector_base par les éléments spécifiés.

Syntaxe

void ReplaceAll(array_view<T const> value);

Paramètres

value Un array_view contenant les nouveaux éléments.

fonction vector_base::SetAt

Définit la valeur de l’élément à l’index spécifié dans l’objet vector_base .

Syntaxe

void SetAt(uint32_t const index, T const& value);

Paramètres

index Index de base zéro de l’élément dont la valeur doit être définie.

value Valeur de l’élément à définir.

fonction vector_base::Size

Récupère le nombre d’éléments dans l’objet vector_base .

Syntaxe

uint32_t Size() const noexcept;

Valeur de retour

Valeur représentant le nombre d’éléments dans l’objet vector_base .

Voir aussi