Mega Code Archive

 
Categories / Visual C++ .NET / Collections
 

Using reverse_iterator from ICollection with pop_back()

#include "stdafx.h" #include <cliext/deque> #include <cliext/adapter> using namespace System; using namespace cliext; using namespace System::Collections::Generic; ref class MyClass { public:     String^ Name;     MyClass() : Name(String::Empty) { }     MyClass(String^ name) : Name(name) { }     MyClass(const MyClass% orig)     {         Name = orig.Name;      }     MyClass% operator=(const MyClass% orig)     {         if (this != %orig)             Name = orig.Name;         return *this;     }     ~MyClass() { }     bool operator<(const MyClass^ rhs)     {         return (Name->CompareTo(rhs->Name) < 0);     }     bool operator==(const MyClass^ rhs)     {         return (Name->Equals(rhs->Name));     } }; int main(array<System::String ^> ^args) {     deque<MyClass^> pets;      pets.push_front(gcnew MyClass("A"));      pets.push_front(gcnew MyClass("B"));     pets.push_front(gcnew MyClass("C"));     pets.push_front(gcnew MyClass("D"));     System::Console::WriteLine("\n\nfor loop -- Using reverse_iterator from ICollection with pop_back():");      deque<MyClass^>^ dMyClasss = gcnew deque<MyClass^>();     dMyClasss->pop_front();     deque<MyClass^>::reverse_iterator pet_ri;      for(pet_ri = dMyClasss->rbegin(); pet_ri != dMyClasss->rend(); pet_ri++)         System::Console::Write("{0} ", pet_ri->Name);               return (0);  }