manpagez: man pages & more
info guile
Home | html | info | man
[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on April 20, 2013 using texi2html 5.0.

© manpagez.com 2000-2019
Individual documents may contain additional copyright information.