# Section 8.16:
String Classes

This section of the required library contains all of the generic string abstractions, for both text and binary strings. It defines no implementation classes.

1. Abstract Classes

   1. $STRINGS - this abstraction models the concept of all strings of whatever kind having immutable semantics.
   2. $SEARCH - this abstraction models the concept of a searchable string having immutable semantics.
   3. $STRING - this abstraction of which there are two variants with different class arguments models the concept of a string of some particular specified element which is not a text string but does have immutable semantics.
   4. $TEXT_STRING - this abstraction of which there are two variants with different class arguments models the concept of a string of elements which have the semantics of a natural language character with potential line/page structure and immutable semantics.
   5. $FSTRINGS - this abstraction models the concept of all strings of whatever kind which have reference semantics.
   6. $FSTRING - this abstraction of which there are two variants with different class arguments models the concept of a string of some particular specified element which is not a text string. It has reference semantics.
   7. $FTEXT_STRING - this abstraction of which there are two variants with different class arguments models the concept of a string of elements which have the semantics of a natural language character with potential line/page structure which has reference semantics.
   8. $CURSOR - this abstraction models the concept of a cursor scanning object for strings.
   9. $TEXT_CURSOR - this abstraction models the concept of a cursor scanning object for immutable strings of elements which have the semantics of a natural langugae character with potential line/page structure.

2. Immutable Classes

   1. CURSOR_ERRORS - this enumeration type provides tokens for all of the kinds of error which could occur when scanning strings.

| Language Index |  | Library Index

Comments or enquiries should be made to Keith Hopper. Page last modified: Friday, 24 November 2000. |