gap-buffer vocabulary
Factor handbook > Vocabulary index


Summary
Gap buffer data structure

Meta-data
Tags:collections sequences
Authors:Alex Chapman


Words

Tuple classes
ClassSuperclassSlots
gb tupleseq gap-start gap-end expand-factor min-size
index-out-of-bounds tupleindex gap-buffer
position-out-of-bounds tupleposition gap-buffer


Generic words
WordStack effect
delete*( pos gb -- )
insert*( seq position gb -- )
move-gap( n gb -- )


Ordinary words
WordStack effect
(copy-element)( to start seq -- )
(delete*)( gb -- )
(move-gap)( i gb -- )
<gb>( seq -- gb )
<index-out-of-bounds>( index gap-buffer -- index-out-of-bounds )
?decrease( gb -- )
after-gap( gb -- gb )
before-gap( gb -- gb )
buffer-length( gb -- n )
copy-after-gap( array gb -- )
copy-before-gap( array gb -- )
copy-element( dst start seq -- )
copy-elements( dst start end seq -- )
copy-elements-back( dst start seq n -- )
copy-elements-forward( dst start seq n -- )
decrease-buffer-size( gb -- )
enough-room?( n gb -- ? )
ensure-room( n gb -- )
fix-gap( n gb -- )
gap-length( gb -- n )
gb-too-big?( gb -- ? )
increase-buffer-size( n gb -- )
increment-gap-start( gb n -- )
index>position( i gb -- pos )
insert-elements( seq gb -- )
move-gap-back( i gb -- )
move-gap-back-around( i gb -- )
move-gap-back-inside( i gb -- )
move-gap-back-inside?( i gb -- i gb ? )
move-gap-forward( i gb -- )
move-gap-forward-around( i gb -- )
move-gap-forward-inside( i gb -- )
move-gap-forward-inside?( i gb -- i gb ? )
move-gap-forward?( i gb -- i gb ? )
move-gap?( i gb -- i gb ? )
pop-elem( position gb -- elem )
pop-end( gb -- elem )
pop-start( gb -- elem )
position-out-of-bounds( position gap-buffer -- * )
position>index( pos gb -- i )
prepare-insert( seq position gb -- seq gb )
push-end( obj gb -- )
push-start( obj gb -- )
required-space( n gb -- n )
resize-buffer( gb new-size -- )
rotate( n gb -- )
rotate-left( gb -- )
rotate-right( gb -- )
set-new-gap-end( array gb -- )
valid-index?( i gb -- ? )
valid-position?( pos gb -- ? )


Class predicate words
WordStack effect
gb?( object -- ? )
index-out-of-bounds?( object -- ? )
position-out-of-bounds?( object -- ? )


Files