-- SMCommentTableOps.mesa
-- last edit by Schmidt, May 3, 1982 3:30 pm
-- last edit by Satterthwaite, April 29, 1983 10:21 am
-- exported by SMCommentTableImpl

DIRECTORY
  SMCommentTable: TYPE USING [Index, Text, Ref];
  
SMCommentTableOps: CEDAR DEFINITIONS~{
  OPEN SMCommentTable;
	
  CommentManager: TYPE;
  CommentM: TYPE~REF CommentManager;
  
  TableOverflow: ERROR;
  TableOrder: ERROR;

  Create: PROC[zone: ZONE] RETURNS[CommentM];
  Reset: PROC[cm: CommentM];

  Add: PROC[cm: CommentM, start: Index, text: Text, lastToken, prefix: Index];

  AddBreakHint: PROC[cm: CommentM, index: Index];

  FindNext: PROC[cm: CommentM, notBefore: Index] RETURNS[Ref];

  TestBreakHint: PROC[cm: CommentM, start: Index, next: Index] RETURNS[BOOL];

  Explode: PROC[ref: Ref] RETURNS[start: Index, text: Text, lastToken, prefix: Index];

  SetEnding: PROC[cm: CommentM, end: Index];

  GetEnding: PROC[cm: CommentM] RETURNS[Index];

  }.