// Returns 1 if found, // 0 if not found, // -1 on an error static int find_last (void) { find_called++; char search_string[MAX_STRING_SIZE]; ACE_OS::sprintf (search_string, "%d", n_entries - 1); ACE_CString cString (search_string); Element* element_ptr; for (ACE_Double_Linked_List_Iterator<Element> iterator (*linked_list_ptr); !iterator.done (); iterator.advance ()) { element_ptr = iterator.next (); if (element_ptr) if (*element_ptr->value () == cString) return 1; } return 0; }
template <class T> T * ACE_Double_Linked_List<T>::find (const T &item) { for (ACE_Double_Linked_List_Iterator<T> iter (*this); !iter.done (); iter.advance ()) { T *temp = iter.next (); if (*temp == item) return temp; } return 0; }