6.6.4.2 Iterating Over Character Sets ¶
Character set cursors are a means for iterating over the members of a
character sets. After creating a character set cursor with
char-set-cursor
, a cursor can be dereferenced with
char-set-ref
, advanced to the next member with
char-set-cursor-next
. Whether a cursor has passed past the last
element of the set can be checked with end-of-char-set?
.
Additionally, mapping and (un-)folding procedures for character sets are
provided.
- Scheme Procedure: char-set-cursor cs ¶
- C Function: scm_char_set_cursor (cs) ¶
Return a cursor into the character set cs.
- Scheme Procedure: char-set-ref cs cursor ¶
- C Function: scm_char_set_ref (cs, cursor) ¶
Return the character at the current cursor position
cursor in the character set cs. It is an error to
pass a cursor for which end-of-char-set?
returns true.
- Scheme Procedure: char-set-cursor-next cs cursor ¶
- C Function: scm_char_set_cursor_next (cs, cursor) ¶
Advance the character set cursor cursor to the next
character in the character set cs. It is an error if the
cursor given satisfies end-of-char-set?
.
- Scheme Procedure: end-of-char-set? cursor ¶
- C Function: scm_end_of_char_set_p (cursor) ¶
Return #t
if cursor has reached the end of a
character set, #f
otherwise.
- Scheme Procedure: char-set-fold kons knil cs ¶
- C Function: scm_char_set_fold (kons, knil, cs) ¶
Fold the procedure kons over the character set cs,
initializing it with knil.
- Scheme Procedure: char-set-unfold p f g seed [base_cs] ¶
- C Function: scm_char_set_unfold (p, f, g, seed, base_cs) ¶
This is a fundamental constructor for character sets.
- g is used to generate a series of “seed” values
from the initial seed: seed, (g seed),
(g^2 seed), (g^3 seed), …
- p tells us when to stop – when it returns true
when applied to one of the seed values.
- f maps each seed value to a character. These
characters are added to the base character set base_cs to
form the result; base_cs defaults to the empty set.
- Scheme Procedure: char-set-unfold! p f g seed base_cs ¶
- C Function: scm_char_set_unfold_x (p, f, g, seed, base_cs) ¶
This is a fundamental constructor for character sets.
- g is used to generate a series of “seed” values
from the initial seed: seed, (g seed),
(g^2 seed), (g^3 seed), …
- p tells us when to stop – when it returns true
when applied to one of the seed values.
- f maps each seed value to a character. These
characters are added to the base character set base_cs to
form the result; base_cs defaults to the empty set.
- Scheme Procedure: char-set-for-each proc cs ¶
- C Function: scm_char_set_for_each (proc, cs) ¶
Apply proc to every character in the character set
cs. The return value is not specified.
- Scheme Procedure: char-set-map proc cs ¶
- C Function: scm_char_set_map (proc, cs) ¶
Map the procedure proc over every character in cs.
proc must be a character -> character procedure.