ftp.nice.ch/pub/next/tools/dock/Locus.1.0.NI.bs.tar.gz#/Locus/Source/AtomList.h

This is AtomList.h in view mode; [Download] [Up]

/*
	Copyright 1993  Jeremy Slade.

	You are free to use all or any parts of the Locus project
	however you wish, just give credit where credit is due.
	The author (Jeremy Slade) shall not be held responsible
	for any damages that result out of use or misuse of any
	part of this project.

*/

/*
	Project: Locus

	File: AtomList.h

	Description:
	
	A subclass of List designed to hold NXAtoms.  This is accomplished simply by casting everything as id's, and making certain that certain methods that must operate on objects don't get used.
		
	Original Author: Jeremy Slade

	Revision History:
		Created
			V.101	JGS	Fri Mar 12 23:51:47 GMT-0700 1993

*/

#ifndef AtomList_h
#define AtomList_h

#define AtomList_VERSION		(101)


#import <objc/List.h>
#import <objc/hashtable.h>



@interface AtomList : List
{}

// Creating, Initializing
+ initialize;
- initCount:(unsigned)num;
- free;

// Manipulating Atoms by index
- insertAtom:(NXAtom)a at:(unsigned)index;
- addAtom:(NXAtom)a;
- addAtomAlphabetically:(NXAtom)a;
- removeAtomAt:(unsigned)index;
- removeLastAtom;
- replaceAtomAt:(unsigned)index with:(NXAtom)newA;
- (NXAtom)atomAt:(unsigned)index;
- (NXAtom)lastAtom;
- (unsigned)count;

// Manipulating Atoms by Pointer
- addAtomIfAbsent:(NXAtom)a;
- removeAtom:(NXAtom)a;
- (unsigned)indexOfAtom:(NXAtom)a;

// Archiving
- awake;
- read:(NXTypedStream *)stream;
- write:(NXTypedStream *)stream;

// Methods that should not be used with NXAtoms
// - insertObject:obj at:(unsigned)index;
// - addObject:obj;
// - removeObjectAt:(unsigned)index;
// - removeLastObject;
// - replaceObjectAt:(unsigned)index with:obj;
// - objectAt:(unsigned)index;
// - lastObject;
// - addObjectIfAbsent:obj;
// - removeObject:obj;
// - (unsigned)indexOf:obj;
// - freeObjects;
// - makeObjectsPerform:(SEL)sel;
// - makeObjectsPerform:(SEL)sel with:obj;

@end


#endif // AtomList_h

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.