<<>> <> <> <> <> <> DIRECTORY CStrings USING [CString], Rope USING [ROPE]; UXStrings: CEDAR DEFINITIONS ~ BEGIN Error: ERROR [ec: ErrorCode]; ErrorCode: TYPE = { clientModifiedReleasedString }; <> CString: TYPE = CStrings.CString; Create: PROC [from: REF] RETURNS [string: CString]; <> <> << NIL creates an empty string [not a NIL string]>> <<>> CreateSpace: PROC [size: INT] RETURNS [string: CString]; <> <<>> ToRope: PROC [from: CString, maxLength: INT ¬ LAST[INT]] RETURNS [Rope.ROPE]; <> <> <<>> ViewRefText: UNSAFE PROC [from: REF TEXT] RETURNS [string: CString]; <> <> <<>> CreateScratch: PROC [from: REF] RETURNS [string: UXStrings.CString]; <> ObtainScratch: PROC [nChars: INT] RETURNS [UXStrings.CString]; <> <> <> <> ReleaseScratch: PROC [s: UXStrings.CString]; <> <> <<>> CopyRefToString: UNSAFE PROC [ref: REF, string: UXStrings.CString]; <> <<>> END.