<<>> <> <> <> <> <<>> DIRECTORY ; RefTextExtras: CEDAR DEFINITIONS = BEGIN ObtainScratch16: PROC [] RETURNS [REF TEXT] = INLINE {RETURN ObtainInternal[pool16]}; <> ObtainScratch100: PROC [] RETURNS [REF TEXT] = INLINE {RETURN ObtainInternal[pool100]}; <> ObtainScratch512: PROC [] RETURNS [REF TEXT] = INLINE {RETURN ObtainInternal[pool512]}; <> ObtainScratch8192: PROC [] RETURNS [REF TEXT] = INLINE {RETURN ObtainInternal[pool8192]}; <> ReleaseScratch16: PROC [t: REF TEXT] = INLINE {ReleaseInternal[pool16, t]}; <> ReleaseScratch100: PROC [t: REF TEXT] = INLINE {ReleaseInternal[pool100, t]}; <> ReleaseScratch512: PROC [t: REF TEXT] = INLINE {ReleaseInternal[pool512, t]}; <> ReleaseScratch8192: PROC [t: REF TEXT] = INLINE {ReleaseInternal[pool8192, t]}; <> <> <<>> CreatePool: PROC [charsPerText: CARD, textsInPool: CARD] RETURNS [pool: Pool]; <> <> <<>> <> <<>> Pool: TYPE = REF PoolObj; PoolObj: TYPE; pool16, pool100, pool512, pool8192: Pool; -- global variables representing the storage pools ObtainInternal: PROC [pool: Pool] RETURNS [REF TEXT]; ReleaseInternal: PROC [pool: Pool, t: REF TEXT]; END.