Module description
- str -- Dynamic text string
-
The str module implements a dynamic text string.
String structure
- str% ( -- n )
- Get the required space for a str variable
String creation, initialisation and destruction
- str-init ( str -- )
- Initialise to an empty string
- str-(free) ( str -- )
- Free the string data from the heap
- str-create ( "<spaces>name" -- ; -- str )
- Create a named empty string in the dictionary
- str-new ( -- str )
- Create a new empty string on the heap
- str-free ( str -- )
- Free the string from the heap
Member words
- str-empty? ( str -- flag )
- Check for an empty string
- str-length@ ( str -- u )
- Get the length of the string
- str-length! ( u str -- )
- Set the length of the string
- str-index? ( n str -- flag )
- Check if the index n is valid in the string
- str-data@ ( str -- c-addr )
- Get the start of the string
- str-size! ( u str -- )
- Insure the size u of the string
- Get the extra space allocated during resizing of the string
- Set the extra space allocated during resizing of the string
- Get the initial extra space allocated during resizing of the string
- Set the initial extra space allocated during resizing of the string
Set words
- str-clear ( str -- )
- Clear the string
- str-set ( c-addr u str -- )
- Set the string c-addr u in the string
- str-append-string ( c-addr u str -- )
- Append the string c-addr u to the string
- str-prepend-string ( c-addr u str -- )
- Prepend the string c-addr u to the string
- str-append-chars ( char u str -- )
- Append u chars in the string
- str-prepend-chars ( char u str -- )
- Prepend u chars in the string
- str-insert-string ( c-addr u n str -- )
- Insert the string c-addr in the string at index n
- str-insert-chars ( char u n str -- )
- Insert u chars in the string at index n
Get words
- str-get-substring ( u n str -- c-addr u )
- Get a substring starting from index n, u characters long
- str-get ( str -- c-addr u )
- Get the string in the string
- str-bounds ( str -- c-addr+u c-addr )
- Get the bounds of the string
Delete word
- str-delete ( u n str -- )
- Delete a substring starting at index n with length u from the string
Zero terminated string words
- str-set-zstring ( c-addr str -- )
- Set a zero terminated string in the string
- str-get-zstring ( str -- c-addr )
- Get the string as zero terminated string
Strings word
- str^move ( str2 str1 -- Move str2 in str1 )
Character words
- str-append-char ( char str -- )
- Append a character at the end of the string
- str-prepend-char ( char str -- )
- Prepend a character at the start of the string
- str-push-char ( char str -- )
- Push a character at the end of the string
- str-pop-char ( str -- char )
- Pop a character from the end of the string
- str-enqueue-char ( char str -- )
- Place a character at the start of the string
- str-dequeue-char ( char str -- )
- Get the character at the end of the string
- str-set-char ( char n str -- )
- Set the character on the nth position in the string
- str-get-char ( n str -- char )
- Get the character from the nth position in the string
- str-insert-char ( char n str -- )
- Insert the character on the nth position in the string
- str-delete-char ( n str -- )
- Delete the character on the nth position in the string
Special words
- str-count ( c-addr u str -- u )
- Count the number of occurrences of the string c-addr u in the string
- str-execute ( i*x xt str -- j*x )
- Execute the xt token for every character in the string
- str-execute? ( i*x xt str -- j*x flag )
- Execute the xt token for every character in the string or until xt returns true, flag is true if xt returned true
Special manipulation words
- str-capatilize ( str -- )
- Capitalize the first word in the string
- str-cap-words ( str -- )
- Capitalize all words in the string
- str-center ( u str -- )
- Center the string in width u
- str-align-left ( u str -- )
- Align left the string in width u
- str-align-right ( u str -- )
- Align right the string in width u
- str-strip-leading ( str -- )
- Strip leading spaces in the string
- str+strip-leading ( c-addr1 u1 -- c-addr2 u2 )
- Strip leading whitespace in the string c-addr1 u1
- str-strip-trailing ( str -- )
- Strip trailing spaces in the string
- str+strip-trailing ( c-addr u1 -- c-addr u2 )
- Strip trailing whitespace in the string c-addr u1
- str-strip ( str -- )
- Strip leading and trailing spaces in the string
- str+strip ( c-addr1 u1 -- c-addr2 u2 )
- Strip leading and trailing spaces from string c-addr1 u1
- str-lower ( str -- )
- Convert the string to lower case
- str-upper ( str -- )
- Convert the string to upper case
- str-expand-tabs ( u str -- )
- Expand the tabs to u spaces in the string
Comparison words
- str-icompare ( c-addr u str -- n )
- Compare case-insensitive the string c-addr u with the string, return the result [-1,0,1]
- str-ccompare ( c-addr u str -- n )
- Compare case-sensitive the string c-addr u with the string, return the result [-1,0,1]
- str^icompare ( str1 str2 -- n )
- Compare case-insensitive the strings str1 and str, return the result [-1,0,1]
- str^ccompare ( str1 str2 -- n )
- Compare case-sensitive the string str1 and str2, return the result [-1,0,1]
Search and replace words
- str-find ( c-addr u n1 str -- n2 )
- Find the first occurrence of the string c-addr u starting from index n1 in the string, return -1 if not found
- str-replace ( c-addr1 u1 c-addr2 u2 str -- )
- Replace all occurences of the string c-addr2 u2 with the string c-addr1 u1 in the string
Split words
- str+columns ( c-addr u n -- c-addrn un ... c-addr1 u1 n )
- Split the string c-addr u in n substrings, u width wide, skipping leading spaces [recursive]
Inspection
- str-dump ( str -- )
- Dump the string
Generated by fsdocgen 0.1.0