// Listing 1 // Listing 2 code/ch05 int SetExample::runUnboundedSet () { ACE_TRACE (ACE_TEXT ("SetExample::runUnboundedSet")); ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Using an unbounded set.\n"))); ACE_Unbounded_Set<DataElement*> uset; for (int m = 0; m < 100; m++) { DataElement *elem; ACE_NEW_RETURN (elem, DataElement (m), -1); uset.insert (elem); } DataElement deBegin (0), deEnd (99); if (!uset.find (&deBegin) && !uset.find (&deEnd)) { ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Found the elements\n"))); } // Iterate and destroy the elements in the set. ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Deleting the elements\n"))); ACE_Unbounded_Set_Iterator<DataElement*> iter (uset); for (iter = uset.begin (); iter != uset.end (); iter++) { DataElement* elem = (*iter); ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%d:"), elem->getData ())); delete elem; } return 0; }