The basic cases either used a fixed number of spans (one for the array method and two for the gap method) or spans of size 1 (the linked list method). The recursive methods described in this section use a variable number of spans. How is the span size determined? There are two possibilities: either the spans are determined by the contents of the file or by the text editor independent of the sequence contents. The main example of content determined spans is to have one span per logical line of text.
If the editor is allowed to determine span sizes to its own best advantage the second issue is the size of the buffers. Again there are two possibilities: fixed size or variable size. Fixed size buffers are easier to manage and are often chosen to be some (low) multiple of the page size or the disk block size. A fixed size buffer implies a maximum span size (that is, the buffer size).
This table show the possibilities:
These are the three methods that will be examined in this section.