.\" Copyright (C) 2001 Information-technology Promotion Agency (IPA) .\" Copyright (C) 2001-2003 .\" National Institute of Advanced Industrial Science and Technology (AIST) .\" This file si aprt of the m17n library documentation. .\" Permission is granted to copy, distribute and/or modify this document .\" under the terms of the GNU Free Documentation License, Version 1.2 or .\" any later version published by the Free Software Foundation; with no .\" Invariant Section, Front-Cover Texts "The m17n library documentation", .\" and no Back-Cover Texts. A copy of the license is included in the .\" appendix entitled "GNU Free Documentation License". .TH "mchartable_map" 3m17n "14 Jul 2007" "" "Version 1.4.0" "" "The m17n Library" \" -*- nroff -*- .ad l .nh .SH NAME mchartable_map - Call a function for characters in a chartable. .SH SYNOPSIS int \fBmchartable_map\fP (\fBMCharTable\fP * \fItable\fP, void * \fIignore\fP, void(*)(int, \fIint\fP, void *, void *) \fIfunc\fP, void * \fIfunc_arg\fP) .SH DESCRIPTION The .ft B mchartable_map() .ft R function calls function .ft B func .ft R for characters in chartable .ft B table\fP. .ft R No function call occurs for characters that have value .ft B ignore .ft R in .ft B table\fP. .ft R Comparison of .ft B ignore .ft R and character value is done with the operator .ft C ==\fP. .ft R Be careful when you use string literals or pointers. .PP Instead of calling .ft B func .ft R for each character, .ft B mchartable_map() .ft R tries to optimize the number of function calls, i.e. it makes a single function call for a chunk of characters when those consecutive characters have the same value. .PP No matter how long the character chunk is, .ft B func .ft R is called with four arguments; .ft B from\fP, .ft R .ft B to\fP, .ft R .ft B val\fP, .ft R and .ft B arg\fP. .ft R .ft B from .ft R and .ft B to .ft R (both inclusive) defines the range of characters that have value .ft B val\fP. .ft R .ft B arg .ft R is the same as .ft B func_arg\fP. .ft R .PP .SH RETURN VALUE .PP.RS 4 This function always returns 0. .RE .PP