Mega Code Archive

 
Categories / Visual C++ .NET / Collections
 

Insert and erase element from a set

#include "stdafx.h" #include <cliext/set> 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) {     set<MyClass^> pets;      MyClass^ King = gcnew MyClass("K");     pets.insert(pets.end(), gcnew MyClass("A"));     pets.insert(King);      pets.insert(gcnew MyClass("B"));          set<MyClass^> copy;     set<MyClass^>::iterator pets_e = pets.end();     copy.insert(pets.begin(), --pets_e);     set<MyClass^>::iterator pets_cb = copy.begin();     copy.erase(++pets_cb);     copy.erase(gcnew MyClass("Lady"));     for each (MyClass^ pet in copy)          System::Console::Write("{0} ", pet->Name);      return (0); }