<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>Assimp: aiString Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Assimp  <span id="projectnumber">v2.0 (November 2010)</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.1.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <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="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-attribs">Public Attributes</a> </div> <div class="headertitle"> <div class="title">aiString Struct Reference</div> </div> </div><!--header--> <div class="contents"> <p>Represents an UTF-8 string, zero byte terminated. <a href="structai_string.html#details">More...</a></p> <p><a href="structai_string-members.html">List of all members.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a17c320c3e6f54fd65324698d4964d9c4"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structai_string.html#a17c320c3e6f54fd65324698d4964d9c4">aiString</a> ()</td></tr> <tr class="memdesc:a17c320c3e6f54fd65324698d4964d9c4"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor, the string is set to have zero length. <a href="#a17c320c3e6f54fd65324698d4964d9c4"></a><br/></td></tr> <tr class="memitem:a7b202e9e72e65099a6df0de7bc879163"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structai_string.html#a7b202e9e72e65099a6df0de7bc879163">aiString</a> (const <a class="el" href="structai_string.html">aiString</a> &rOther)</td></tr> <tr class="memdesc:a7b202e9e72e65099a6df0de7bc879163"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <a href="#a7b202e9e72e65099a6df0de7bc879163"></a><br/></td></tr> <tr class="memitem:ad977e1aea2f681e47e45e8a81c63c4a2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structai_string.html#ad977e1aea2f681e47e45e8a81c63c4a2">aiString</a> (const std::string &pString)</td></tr> <tr class="memdesc:ad977e1aea2f681e47e45e8a81c63c4a2"><td class="mdescLeft"> </td><td class="mdescRight">Constructor from std::string. <a href="#ad977e1aea2f681e47e45e8a81c63c4a2"></a><br/></td></tr> <tr class="memitem:a9ed045854a503b2e414ee7c756e39a6e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structai_string.html#a9ed045854a503b2e414ee7c756e39a6e">Append</a> (const char *app)</td></tr> <tr class="memdesc:a9ed045854a503b2e414ee7c756e39a6e"><td class="mdescLeft"> </td><td class="mdescRight">Append a string to the string. <a href="#a9ed045854a503b2e414ee7c756e39a6e"></a><br/></td></tr> <tr class="memitem:aa51cd987f420804340c75fd929b25b4d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structai_string.html#aa51cd987f420804340c75fd929b25b4d">Clear</a> ()</td></tr> <tr class="memdesc:aa51cd987f420804340c75fd929b25b4d"><td class="mdescLeft"> </td><td class="mdescRight">Clear the string - reset its length to zero. <a href="#aa51cd987f420804340c75fd929b25b4d"></a><br/></td></tr> <tr class="memitem:a93f36368135ea2ca3e9e1b6eb5bb4bbe"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structai_string.html#a93f36368135ea2ca3e9e1b6eb5bb4bbe">operator!=</a> (const <a class="el" href="structai_string.html">aiString</a> &other) const </td></tr> <tr class="memdesc:a93f36368135ea2ca3e9e1b6eb5bb4bbe"><td class="mdescLeft"> </td><td class="mdescRight">Inverse comparison operator. <a href="#a93f36368135ea2ca3e9e1b6eb5bb4bbe"></a><br/></td></tr> <tr class="memitem:a1da831142e75271700267742677be0ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structai_string.html">aiString</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structai_string.html#a1da831142e75271700267742677be0ae">operator=</a> (const char *sz)</td></tr> <tr class="memdesc:a1da831142e75271700267742677be0ae"><td class="mdescLeft"> </td><td class="mdescRight">Assign a const char* to the string. <a href="#a1da831142e75271700267742677be0ae"></a><br/></td></tr> <tr class="memitem:a0aca35abc50bf79952cd729d35d9dd4d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structai_string.html">aiString</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structai_string.html#a0aca35abc50bf79952cd729d35d9dd4d">operator=</a> (const std::string &pString)</td></tr> <tr class="memdesc:a0aca35abc50bf79952cd729d35d9dd4d"><td class="mdescLeft"> </td><td class="mdescRight">Assign a cstd::string to the string. <a href="#a0aca35abc50bf79952cd729d35d9dd4d"></a><br/></td></tr> <tr class="memitem:a26618a99f72788873d07b4dfa2b82dba"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structai_string.html#a26618a99f72788873d07b4dfa2b82dba">operator==</a> (const <a class="el" href="structai_string.html">aiString</a> &other) const </td></tr> <tr class="memdesc:a26618a99f72788873d07b4dfa2b82dba"><td class="mdescLeft"> </td><td class="mdescRight">Comparison operator. <a href="#a26618a99f72788873d07b4dfa2b82dba"></a><br/></td></tr> <tr class="memitem:aea4f745fc87cc28175dbc3b7e33411f0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structai_string.html#aea4f745fc87cc28175dbc3b7e33411f0">Set</a> (const std::string &pString)</td></tr> <tr class="memdesc:aea4f745fc87cc28175dbc3b7e33411f0"><td class="mdescLeft"> </td><td class="mdescRight">Copy a std::string to the <a class="el" href="structai_string.html" title="Represents an UTF-8 string, zero byte terminated.">aiString</a>. <a href="#aea4f745fc87cc28175dbc3b7e33411f0"></a><br/></td></tr> <tr class="memitem:a3149bea05889488dd2664b50be364a05"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structai_string.html#a3149bea05889488dd2664b50be364a05">Set</a> (const char *sz)</td></tr> <tr class="memdesc:a3149bea05889488dd2664b50be364a05"><td class="mdescLeft"> </td><td class="mdescRight">Copy a const char* to the <a class="el" href="structai_string.html" title="Represents an UTF-8 string, zero byte terminated.">aiString</a>. <a href="#a3149bea05889488dd2664b50be364a05"></a><br/></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr class="memitem:aa90b1da7d347a3dcca0a95061e6ea41d"><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="structai_string.html#aa90b1da7d347a3dcca0a95061e6ea41d">data</a> [<a class="el" href="ai_types_8h.html#a62cd28a234de9b546f2e22997e92f3de">MAXLEN</a>]</td></tr> <tr class="memdesc:aa90b1da7d347a3dcca0a95061e6ea41d"><td class="mdescLeft"> </td><td class="mdescRight">String buffer. <a href="#aa90b1da7d347a3dcca0a95061e6ea41d"></a><br/></td></tr> <tr class="memitem:a7d77c2031ff0340746aa046f7fbcf313"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structai_string.html#a7d77c2031ff0340746aa046f7fbcf313">length</a></td></tr> <tr class="memdesc:a7d77c2031ff0340746aa046f7fbcf313"><td class="mdescLeft"> </td><td class="mdescRight">Binary length of the string excluding the terminal 0. <a href="#a7d77c2031ff0340746aa046f7fbcf313"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Represents an UTF-8 string, zero byte terminated. </p> <p>The character set of an <a class="el" href="structai_string.html" title="Represents an UTF-8 string, zero byte terminated.">aiString</a> is explicitly defined to be UTF-8. This Unicode transformation was chosen in the belief that most strings in 3d files are limited to ASCII, thus the character set needed to be strictly ASCII compatible.</p> <p>Most text file loaders provide proper Unicode input file handling, special unicode characters are correctly transcoded to UTF8 and are kept throughout the libraries' import pipeline.</p> <p>For most applications, it will be absolutely sufficient to interpret the <a class="el" href="structai_string.html" title="Represents an UTF-8 string, zero byte terminated.">aiString</a> as ASCII data and work with it as one would work with a plain char*. Windows users in need of proper support for i.e asian characters can use the #MultiByteToWideChar(), #WideCharToMultiByte() WinAPI functionality to convert the UTF-8 strings to their working character set (i.e. MBCS, WideChar).</p> <p>We use this representation instead of std::string to be C-compatible. The (binary) length of such a string is limited to MAXLEN characters (including the the terminating zero). </p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a17c320c3e6f54fd65324698d4964d9c4"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">aiString::aiString </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Default constructor, the string is set to have zero length. </p> </div> </div> <a class="anchor" id="a7b202e9e72e65099a6df0de7bc879163"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">aiString::aiString </td> <td>(</td> <td class="paramtype">const <a class="el" href="structai_string.html">aiString</a> & </td> <td class="paramname"><em>rOther</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Copy constructor. </p> </div> </div> <a class="anchor" id="ad977e1aea2f681e47e45e8a81c63c4a2"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">aiString::aiString </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>pString</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Constructor from std::string. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a9ed045854a503b2e414ee7c756e39a6e"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void aiString::Append </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>app</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Append a string to the string. </p> </div> </div> <a class="anchor" id="aa51cd987f420804340c75fd929b25b4d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void aiString::Clear </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Clear the string - reset its length to zero. </p> </div> </div> <a class="anchor" id="a93f36368135ea2ca3e9e1b6eb5bb4bbe"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool aiString::operator!= </td> <td>(</td> <td class="paramtype">const <a class="el" href="structai_string.html">aiString</a> & </td> <td class="paramname"><em>other</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Inverse comparison operator. </p> </div> </div> <a class="anchor" id="a1da831142e75271700267742677be0ae"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structai_string.html">aiString</a>& aiString::operator= </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>sz</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Assign a const char* to the string. </p> </div> </div> <a class="anchor" id="a0aca35abc50bf79952cd729d35d9dd4d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structai_string.html">aiString</a>& aiString::operator= </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>pString</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Assign a cstd::string to the string. </p> </div> </div> <a class="anchor" id="a26618a99f72788873d07b4dfa2b82dba"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool aiString::operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="structai_string.html">aiString</a> & </td> <td class="paramname"><em>other</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Comparison operator. </p> </div> </div> <a class="anchor" id="aea4f745fc87cc28175dbc3b7e33411f0"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void aiString::Set </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>pString</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Copy a std::string to the <a class="el" href="structai_string.html" title="Represents an UTF-8 string, zero byte terminated.">aiString</a>. </p> </div> </div> <a class="anchor" id="a3149bea05889488dd2664b50be364a05"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void aiString::Set </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>sz</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Copy a const char* to the <a class="el" href="structai_string.html" title="Represents an UTF-8 string, zero byte terminated.">aiString</a>. </p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="aa90b1da7d347a3dcca0a95061e6ea41d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char aiString::data[<a class="el" href="ai_types_8h.html#a62cd28a234de9b546f2e22997e92f3de">MAXLEN</a>]</td> </tr> </table> </div><div class="memdoc"> <p>String buffer. </p> <p>Size limit is MAXLEN </p> </div> </div> <a class="anchor" id="a7d77c2031ff0340746aa046f7fbcf313"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t aiString::length</td> </tr> </table> </div><div class="memdoc"> <p>Binary length of the string excluding the terminal 0. </p> <p>This is NOT the logical length of strings containing UTF-8 multibyte sequences! It's the number of bytes from the beginning of the string to its end. </p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="ai_types_8h.html">aiTypes.h</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1.1 </small></address> </body> </html>