rem: size_t i;  for (i = 0; i < this->cur_size_; i++) { if (i == index) break;  curr = curr->next_; }  if (i < this->cur_size_) { item = &curr->item_; return 0; } else return -1;
add: item = iter.next (); return item ? 0 : 1;
context: ACE_Unbounded_Queue<T>::get (T *&item, size_t index) const{//   ACE_TRACE ("ACE_Unbounded_Queue<T>::get");  ACE_Node<T> *curr = this->head_->next_;  size_t i;  for (i = 0; i < this->cur_size_; i++)    {      if (i == index)        break;      curr = curr->next_;    }  if (i < this->cur_size_)    {      item = &curr->item_;      return 0;    }  else    return -1;}