Classe System::Collections::Generic::Stack

Stack class

Stack class forward declaration.

template<typename T>class Stack : public System::Collections::Generic::IEnumerable<T>
ParamètreDescription
TType d’élément.

Nested classes

Méthodes

MéthodeDescription
AddRange(IEnumerablePtr)Place des éléments dans la pile.
virtual Clear()Supprime tous les éléments de la pile.
virtual Contains(const T&) constVérifie si un élément spécifique est présent dans le conteneur ; utilise l’opérateur == pour la comparaison.
data()Accesseur de la structure de données interne.
data() constAccesseur de la structure de données interne.
virtual get_Count() constObtient le nombre d’éléments dans la pile.
GetEnumerator() overrideObtient l’énumérateur pour parcourir la pile actuelle.
Peek()Obtient l’élément du sommet de la pile, mais le conserve dans la pile.
Pop()Obtient l’élément du sommet de la pile.
Push(const T&)Place l’élément du sommet de la pile.
Stack()Construit une pile vide.
Stack(int)Construit une pile vide.
Stack(IEnumerablePtr)Constructeur de copie.
virtual ToArray()Convertit la pile en tableau.
virtualizeBeginConstIterator() const overrideObtient l’implémentation de l’itérateur const begin pour le conteneur actuel.
virtualizeBeginIterator() overrideObtient l’implémentation de l’itérateur begin pour le conteneur actuel.
virtualizeEndConstIterator() const overrideObtient l’implémentation de l’itérateur const end pour le conteneur actuel.
virtualizeEndIterator() overrideObtient l’implémentation de l’itérateur end pour le conteneur actuel.

Typedefs

TypedefDescription
IEnumerablePtrCollection contenant des éléments du même type.
IEnumeratorPtrEnumerator type.
stack_tInformations RTTI.
ValueTypeType valeur.

Remarques

Stack class wrapping std::list. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

#include <system/collections/stack.h>
#include <system/smart_ptr.h>

using namespace System;
using namespace System::Collections::Generic;

void PrintItems(const SmartPtr<IEnumerable<int>> &stack)
{
  for (const auto item: stack)
  {
    std::cout << item << ' ';
  }
  std::cout << std::endl;
}

int main()
{
  // Crée l'instance de la classe Stack.
  auto stack = MakeObject<Stack<int>>();

  // Remplit la pile.
  stack->Push(1);
  stack->Push(2);
  stack->Push(3);

  // Affiche le dernier élément de la pile. La méthode Peek ne supprime pas d'élément de la pile.
  std::cout << stack->Peek() << std::endl;
  PrintItems(stack);

  // Affiche le dernier élément de la pile. La méthode Pop supprime un élément de la pile.
  std::cout << stack->Pop() << std::endl;
  PrintItems(stack);

  return 0;
}
/*
This code example produces the following output:
3
3 2 1
3
2 1
*/

Voir aussi