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. ˜ RefTextExtras.mesa Copyright c 1992 by Xerox Corporation. All rights reserved. Bier, December 4, 1992 1:24 pm PST Contents: More routines on the REF TEXT data type. Obtains a REF TEXT of length 16 characters from a pool. Remember to return this storage using ReleaseScratch16 below. Obtains a REF TEXT of length 100 characters from a pool. Remember to return this storage using ReleaseScratch100 below. Obtains a REF TEXT of length 512 characters from a pool. Remember to return this storage using ReleaseScratch512 below. Obtains a REF TEXT of length 8192 characters from a pool. Remember to return this storage using ReleaseScratch8192 below. Frees a REF TEXT that was allocated using ObtainScratch16 to be reused. Frees a REF TEXT that was allocated using ObtainScratch100 to be reused. Frees a REF TEXT that was allocated using ObtainScratch512 to be reused. Frees a REF TEXT that was allocated using ObtainScratch8192 to be reused. For Special Uses For clients who need texts of a custom size or larger than 8192 characters. For INLINEs Only These types and routines help implement the above INLINE routines. They should probably not be used directly. Κ•NewlineDelimiter ™code™Kšœ Οmœ1™