# Section 8.2:
Binary Classes

This section of the required library contains definitions of those abstractions and classes which define objects as bit-patterns only. No semantics other than pattern equality testing are defined for these classes.

1. Abstract Classes

   1. $BIT_PATTERN - an abstraction for any class which is constructed to have the semantics of single immutable bit-pattern entities.
   2. $BINARY - an abstraction for any class for which conversion between the class value and a sequence of octets is possible.

2. Immutable Classes

   1. BIT - this version of the language defined class BIT includes creation and conversion to cardinal services. The specification is otherwise identical.
   2. OCTET - this class defines storage units which have exactly eight bits - deriving from AVAL{BIT}.
   3. HEXTET - this class defines storage units which have sixteen bits - deriving from AVAL{BIT}.
   4. QUADBITS - this class defines storage units which have thirty two bits - deriving from AVAL{BIT}.

   NOTE | Should an implementation provide exact number classes which are implemented using more than the minimum of 32 bits specified in Section 4, the implementer is encouraged to define a new class called, say, NUM_BITS on which storage manipulations of the number of bits in a numeric class can be effected.

3. Reference Classes

   1. BINSTR - this class implements the notion of a string of OCTETs which has immutable semantics.
   2. FBINSTR - this class implements the notion of a string of OCTETs which has reference semantics.
   3. BIN_CURSOR - this class implements the concept of an indexed buffer from which chunks can be taken for use as necessary.

| Language Index |  | Required Library Index

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