DIRECTORY SC, SCObjUtil, SCPrivate; SCObjUtilImpl: CEDAR PROGRAM EXPORTS SCObjUtil SHARES SC = BEGIN EnumerateAllObjects: PUBLIC PROC [handle: SC.Handle, eachObject: SCObjUtil.EachObjectProc] RETURNS [quit: BOOL] = { structureData: SCPrivate.StructureData _ NARROW[handle.structureData]; quit _ EnumerateObjects[handle, 1, structureData.objects.count, eachObject]}; EnumerateObjects: PUBLIC PROC [handle: SC.Handle, startObj, stopObj: SCPrivate.MaxObjectsSr, eachObject: SCObjUtil.EachObjectProc] RETURNS [quit: BOOL _ FALSE] = { structureData: SCPrivate.StructureData _ NARROW[handle.structureData]; FOR obj: SCPrivate.MaxObjectsSr IN [startObj .. stopObj] WHILE ~quit DO quit _ eachObject[structureData.objects.ob[obj]]; ENDLOOP}; EnumeratePinsOnObject: PUBLIC PROC [object: SCPrivate.Object, eachPin: SCObjUtil.EachPinProc] RETURNS [quit: BOOL _ FALSE] = { FOR pin: NAT IN [0 .. object.pins.size) WHILE ~quit DO quit _ eachPin[object, pin, object.pins.p[pin]]; ENDLOOP}; END. ¦file ///StdCell23/SCObjUtilImpl.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Preas April 14, 1986 12:55:15 pm PST object utility routines Κj˜šœ$™$Icodešœ Οmœ1™