<!-- This comment will put IE 6, 7 and 8 in quirks mode --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>ICU 4.4.1: UReplaceableCallbacks Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javaScript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body onload='searchBox.OnSelectItem(0);'> <!-- Generated by Doxygen 1.6.2-20100208 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <img id="MSearchSelect" src="search/search.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </div> </li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div class="contents"> <h1>UReplaceableCallbacks Struct Reference</h1><!-- doxytag: class="UReplaceableCallbacks" --> <p>A set of function pointers that transliterators use to manipulate a UReplaceable. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="urep_8h_source.html">urep.h</a>></code></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Data Fields</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int32_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structUReplaceableCallbacks.html#abe20b175db7fe49c652d32b0047bd44d">length</a> )(const <a class="el" href="urep_8h.html#a22b35ca6677ac47c2f5b0d01ffbead60">UReplaceable</a> *rep)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Function pointer that returns the number of UChar code units in this text. <a href="#abe20b175db7fe49c652d32b0047bd44d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structUReplaceableCallbacks.html#add37b2389b812250b661fe51fe193941">charAt</a> )(const <a class="el" href="urep_8h.html#a22b35ca6677ac47c2f5b0d01ffbead60">UReplaceable</a> *rep, int32_t offset)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Function pointer that returns a UChar code units at the given offset into this text; 0 <= offset < n, where n is the value returned by (*length)(rep). <a href="#add37b2389b812250b661fe51fe193941"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structUReplaceableCallbacks.html#a6eb341066f05c7799cd13f6b0f1c56e7">char32At</a> )(const <a class="el" href="urep_8h.html#a22b35ca6677ac47c2f5b0d01ffbead60">UReplaceable</a> *rep, int32_t offset)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Function pointer that returns a UChar32 code point at the given offset into this text. <a href="#a6eb341066f05c7799cd13f6b0f1c56e7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structUReplaceableCallbacks.html#a2c289af568adb2040768e83ae847c4b7">replace</a> )(<a class="el" href="urep_8h.html#a22b35ca6677ac47c2f5b0d01ffbead60">UReplaceable</a> *rep, int32_t start, int32_t limit, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *text, int32_t textLength)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Function pointer that replaces text between start and limit in this text with the given text. <a href="#a2c289af568adb2040768e83ae847c4b7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structUReplaceableCallbacks.html#a0973de83b91b9d436c268de9bc878316">extract</a> )(<a class="el" href="urep_8h.html#a22b35ca6677ac47c2f5b0d01ffbead60">UReplaceable</a> *rep, int32_t start, int32_t limit, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dst)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Function pointer that copies the characters in the range [<code>start</code>, <code>limit</code>) into the array <code>dst</code>. <a href="#a0973de83b91b9d436c268de9bc878316"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structUReplaceableCallbacks.html#afe7d8ea1241deed1c92c7209c99199d7">copy</a> )(<a class="el" href="urep_8h.html#a22b35ca6677ac47c2f5b0d01ffbead60">UReplaceable</a> *rep, int32_t start, int32_t limit, int32_t dest)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Function pointer that copies text between start and limit in this text to another index in the text. <a href="#afe7d8ea1241deed1c92c7209c99199d7"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>A set of function pointers that transliterators use to manipulate a UReplaceable. </p> <p>The caller should supply the required functions to manipulate their text appropriately. Related to the C++ class <a class="el" href="classReplaceable.html" title="Replaceable is an abstract base class representing a string of characters that supports...">Replaceable</a>. </p> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable001672">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Definition at line <a class="el" href="urep_8h_source.html#l00051">51</a> of file <a class="el" href="urep_8h_source.html">urep.h</a>.</p> <hr/><h2>Field Documentation</h2> <a class="anchor" id="a6eb341066f05c7799cd13f6b0f1c56e7"></a><!-- doxytag: member="UReplaceableCallbacks::char32At" ref="a6eb341066f05c7799cd13f6b0f1c56e7" args=")(const UReplaceable *rep, int32_t offset)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>(* <a class="el" href="structUReplaceableCallbacks.html#a6eb341066f05c7799cd13f6b0f1c56e7">UReplaceableCallbacks::char32At</a>)(const <a class="el" href="urep_8h.html#a22b35ca6677ac47c2f5b0d01ffbead60">UReplaceable</a> *rep, int32_t offset)</td> </tr> </table> </div> <div class="memdoc"> <p>Function pointer that returns a UChar32 code point at the given offset into this text. </p> <p>See <a class="el" href="unistr_8h.html" title="C++ API: Unicode String.">unistr.h</a> for a description of <a class="el" href="structUReplaceableCallbacks.html#add37b2389b812250b661fe51fe193941" title="Function pointer that returns a UChar code units at the given offset into this text;...">charAt()</a> vs. <a class="el" href="structUReplaceableCallbacks.html#a6eb341066f05c7799cd13f6b0f1c56e7" title="Function pointer that returns a UChar32 code point at the given offset into this...">char32At()</a>.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>rep</em> </td><td>A pointer to "this" UReplaceable object. </td></tr> <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>The index at which to fetch the UChar32 (code point). </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The UChar32 (code point) at offset, or U+FFFF if the offset is out of bounds. </dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable001675">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div> <a class="anchor" id="add37b2389b812250b661fe51fe193941"></a><!-- doxytag: member="UReplaceableCallbacks::charAt" ref="add37b2389b812250b661fe51fe193941" args=")(const UReplaceable *rep, int32_t offset)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>(* <a class="el" href="structUReplaceableCallbacks.html#add37b2389b812250b661fe51fe193941">UReplaceableCallbacks::charAt</a>)(const <a class="el" href="urep_8h.html#a22b35ca6677ac47c2f5b0d01ffbead60">UReplaceable</a> *rep, int32_t offset)</td> </tr> </table> </div> <div class="memdoc"> <p>Function pointer that returns a UChar code units at the given offset into this text; 0 <= offset < n, where n is the value returned by (*length)(rep). </p> <p>See <a class="el" href="unistr_8h.html" title="C++ API: Unicode String.">unistr.h</a> for a description of <a class="el" href="structUReplaceableCallbacks.html#add37b2389b812250b661fe51fe193941" title="Function pointer that returns a UChar code units at the given offset into this text;...">charAt()</a> vs. <a class="el" href="structUReplaceableCallbacks.html#a6eb341066f05c7799cd13f6b0f1c56e7" title="Function pointer that returns a UChar32 code point at the given offset into this...">char32At()</a>.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>rep</em> </td><td>A pointer to "this" UReplaceable object. </td></tr> <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>The index at which to fetch the UChar (code unit). </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The UChar (code unit) at offset, or U+FFFF if the offset is out of bounds. </dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable001674">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div> <a class="anchor" id="afe7d8ea1241deed1c92c7209c99199d7"></a><!-- doxytag: member="UReplaceableCallbacks::copy" ref="afe7d8ea1241deed1c92c7209c99199d7" args=")(UReplaceable *rep, int32_t start, int32_t limit, int32_t dest)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* <a class="el" href="structUReplaceableCallbacks.html#afe7d8ea1241deed1c92c7209c99199d7">UReplaceableCallbacks::copy</a>)(<a class="el" href="urep_8h.html#a22b35ca6677ac47c2f5b0d01ffbead60">UReplaceable</a> *rep, int32_t start, int32_t limit, int32_t dest)</td> </tr> </table> </div> <div class="memdoc"> <p>Function pointer that copies text between start and limit in this text to another index in the text. </p> <p>Attributes (out of band info) should be retained. After this call, there will be (at least) two copies of the characters originally located at start..limit-1.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>rep</em> </td><td>A pointer to "this" UReplaceable object. </td></tr> <tr><td valign="top"></td><td valign="top"><em>start</em> </td><td>the starting index of the text to be copied, inclusive. </td></tr> <tr><td valign="top"></td><td valign="top"><em>limit</em> </td><td>the ending index of the text to be copied, exclusive. </td></tr> <tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>the index at which the copy of the UChars should be inserted. </td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable001678">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div> <a class="anchor" id="a0973de83b91b9d436c268de9bc878316"></a><!-- doxytag: member="UReplaceableCallbacks::extract" ref="a0973de83b91b9d436c268de9bc878316" args=")(UReplaceable *rep, int32_t start, int32_t limit, UChar *dst)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* <a class="el" href="structUReplaceableCallbacks.html#a0973de83b91b9d436c268de9bc878316">UReplaceableCallbacks::extract</a>)(<a class="el" href="urep_8h.html#a22b35ca6677ac47c2f5b0d01ffbead60">UReplaceable</a> *rep, int32_t start, int32_t limit, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dst)</td> </tr> </table> </div> <div class="memdoc"> <p>Function pointer that copies the characters in the range [<code>start</code>, <code>limit</code>) into the array <code>dst</code>. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>rep</em> </td><td>A pointer to "this" UReplaceable object. </td></tr> <tr><td valign="top"></td><td valign="top"><em>start</em> </td><td>offset of first character which will be copied into the array </td></tr> <tr><td valign="top"></td><td valign="top"><em>limit</em> </td><td>offset immediately following the last character to be copied </td></tr> <tr><td valign="top"></td><td valign="top"><em>dst</em> </td><td>array in which to copy characters. The length of <code>dst</code> must be at least <code>(limit - start)</code>. </td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable001677">Stable:</a></b></dt><dd>ICU 2.1 </dd></dl> </div> </div> <a class="anchor" id="abe20b175db7fe49c652d32b0047bd44d"></a><!-- doxytag: member="UReplaceableCallbacks::length" ref="abe20b175db7fe49c652d32b0047bd44d" args=")(const UReplaceable *rep)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int32_t(* <a class="el" href="structUReplaceableCallbacks.html#abe20b175db7fe49c652d32b0047bd44d">UReplaceableCallbacks::length</a>)(const <a class="el" href="urep_8h.html#a22b35ca6677ac47c2f5b0d01ffbead60">UReplaceable</a> *rep)</td> </tr> </table> </div> <div class="memdoc"> <p>Function pointer that returns the number of UChar code units in this text. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>rep</em> </td><td>A pointer to "this" UReplaceable object. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The length of the text. </dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable001673">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div> <a class="anchor" id="a2c289af568adb2040768e83ae847c4b7"></a><!-- doxytag: member="UReplaceableCallbacks::replace" ref="a2c289af568adb2040768e83ae847c4b7" args=")(UReplaceable *rep, int32_t start, int32_t limit, const UChar *text, int32_t textLength)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* <a class="el" href="structUReplaceableCallbacks.html#a2c289af568adb2040768e83ae847c4b7">UReplaceableCallbacks::replace</a>)(<a class="el" href="urep_8h.html#a22b35ca6677ac47c2f5b0d01ffbead60">UReplaceable</a> *rep, int32_t start, int32_t limit, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *text, int32_t textLength)</td> </tr> </table> </div> <div class="memdoc"> <p>Function pointer that replaces text between start and limit in this text with the given text. </p> <p>Attributes (out of band info) should be retained.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>rep</em> </td><td>A pointer to "this" UReplaceable object. </td></tr> <tr><td valign="top"></td><td valign="top"><em>start</em> </td><td>the starting index of the text to be replaced, inclusive. </td></tr> <tr><td valign="top"></td><td valign="top"><em>limit</em> </td><td>the ending index of the text to be replaced, exclusive. </td></tr> <tr><td valign="top"></td><td valign="top"><em>text</em> </td><td>the new text to replace the UChars from start..limit-1. </td></tr> <tr><td valign="top"></td><td valign="top"><em>textLength</em> </td><td>the number of UChars at text, or -1 if text is null-terminated. </td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable001676">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="urep_8h_source.html">urep.h</a></li> </ul> </div> <!--- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Defines</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address> </body> </html>