This is LinkedList.h in view mode; [Download] [Up]
/* Interface for Objective-C LinkedList collection object Copyright (C) 1993 R. Andrew McCallum <mccallum@cs.rochester.edu> Dept. of Computer Science, U. of Rochester, Rochester, NY 14627 This file is part of the GNU Objective-C Collection library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef __LinkedList_h_INCLUDE_GNU #define __LinkedList_h_INCLUDE_GNU #include <coll/IndexedCollection.h> #include <coll/LinkList.h> @interface LinkedList : IndexedCollection { @public LinkList *_contents_list; } // The class of the default link objects; - linkClass; // Getting the LinkList that holds the contents; - contentsList; // Finding the link that contains anElement; - linkWithElement: (elt)anElement; @end #define FOR_LINKEDLIST(LINKEDLIST, ELEMENT_VAR) \ { \ Link* _FOR_LINKEDLIST_link; \ unsigned _FOR_LINKEDLIST_i; \ for (_FOR_LINKEDLIST_link = ((LinkedList*)LINKEDLIST)->_firstLink, \ _FOR_LINKEDLIST_i = 0; \ _FOR_LINKEDLIST_i < ((LinkedList*)LINKEDLIST)->_count; \ _FOR_LINKEDLIST_link = _FOR_LINKEDLIST_link->next, \ _FOR_LINKEDLIST_i++) \ { \ ELEMENT_VAR = (typeof(ELEMENT_VAR)) \ (_FOR_LINKEDLIST_link->_element.void_ptr_t); /* Yucky casting in assignment of ELEMENT_VAR ? */ #define FOR_LINKEDLIST_END }} #endif /* __LinkedList_h_INCLUDE_GNU */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.