EVOLUTION-MANAGER
Edit File: classDDFSubfieldDefn.html
<!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"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>ISO8211Lib: DDFSubfieldDefn Class 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="doxygen.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">ISO8211Lib </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <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 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="functions.html"><span>Class Members</span></a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="classDDFSubfieldDefn-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">DDFSubfieldDefn Class Reference</div> </div> </div><!--header--> <div class="contents"> <p><code>#include <<a class="el" href="iso8211_8h_source.html">iso8211.h</a>></code></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:af2be10e48df9291c302eddc20d630a0c"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#af2be10e48df9291c302eddc20d630a0c">DDFBinaryFormat</a> </td></tr> <tr class="separator:af2be10e48df9291c302eddc20d630a0c"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:aa1f979abf8823c31b4bfef537892488c"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#aa1f979abf8823c31b4bfef537892488c">GetName</a> () const </td></tr> <tr class="separator:aa1f979abf8823c31b4bfef537892488c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a705717eb43db68bce8aad4b3605304e8"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#a705717eb43db68bce8aad4b3605304e8">GetFormat</a> () const </td></tr> <tr class="separator:a705717eb43db68bce8aad4b3605304e8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6f2e395c75812af3d72d54ec26c58a98"><td class="memItemLeft" align="right" valign="top">DDFDataType </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#a6f2e395c75812af3d72d54ec26c58a98">GetType</a> () const </td></tr> <tr class="separator:a6f2e395c75812af3d72d54ec26c58a98"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a67fddf36a98106bf445ea49811812b00"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#a67fddf36a98106bf445ea49811812b00">ExtractFloatData</a> (const char *pachData, int nMaxBytes, int *pnConsumedBytes)</td></tr> <tr class="separator:a67fddf36a98106bf445ea49811812b00"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a32ecb1b1e3da05e500049e4925dd20e5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#a32ecb1b1e3da05e500049e4925dd20e5">ExtractIntData</a> (const char *pachData, int nMaxBytes, int *pnConsumedBytes)</td></tr> <tr class="separator:a32ecb1b1e3da05e500049e4925dd20e5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad95ecafda6bcf87437030c273eb06643"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#ad95ecafda6bcf87437030c273eb06643">ExtractStringData</a> (const char *pachData, int nMaxBytes, int *pnConsumedBytes)</td></tr> <tr class="separator:ad95ecafda6bcf87437030c273eb06643"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abe4b3c8e16a3131e457094be08d26faf"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#abe4b3c8e16a3131e457094be08d26faf">GetDataLength</a> (const char *, int, int *)</td></tr> <tr class="separator:abe4b3c8e16a3131e457094be08d26faf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2eef42775cb6979f1758e68e86886db2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#a2eef42775cb6979f1758e68e86886db2">DumpData</a> (const char *pachData, int nMaxBytes, FILE *fp)</td></tr> <tr class="separator:a2eef42775cb6979f1758e68e86886db2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a65de1ab26a5d31c44b3c4b991653ab8e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#a65de1ab26a5d31c44b3c4b991653ab8e">FormatStringValue</a> (char *pachData, int nBytesAvailable, int *pnBytesUsed, const char *pszValue, int nValueLength=-1) const </td></tr> <tr class="separator:a65de1ab26a5d31c44b3c4b991653ab8e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a809d05212b6995b893d899f95f6ad654"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#a809d05212b6995b893d899f95f6ad654">FormatIntValue</a> (char *pachData, int nBytesAvailable, int *pnBytesUsed, int nNewValue) const </td></tr> <tr class="separator:a809d05212b6995b893d899f95f6ad654"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a68bae5e2a5020984bd02a6f7a61d1a2f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#a68bae5e2a5020984bd02a6f7a61d1a2f">FormatFloatValue</a> (char *pachData, int nBytesAvailable, int *pnBytesUsed, double dfNewValue) const </td></tr> <tr class="separator:a68bae5e2a5020984bd02a6f7a61d1a2f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a56d8a8843816c71b5a5da176a469dbfd"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#a56d8a8843816c71b5a5da176a469dbfd">GetWidth</a> () const </td></tr> <tr class="separator:a56d8a8843816c71b5a5da176a469dbfd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a31d4ef01622249c8a3d6cf2db005a3c3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#a31d4ef01622249c8a3d6cf2db005a3c3">GetDefaultValue</a> (char *pachData, int nBytesAvailable, int *pnBytesUsed) const </td></tr> <tr class="separator:a31d4ef01622249c8a3d6cf2db005a3c3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ace8e51966364c8bba8c800dc46df7af2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classDDFSubfieldDefn.html#ace8e51966364c8bba8c800dc46df7af2">Dump</a> (FILE *fp)</td></tr> <tr class="separator:ace8e51966364c8bba8c800dc46df7af2"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Information from the DDR record describing one subfield of a <a class="el" href="classDDFFieldDefn.html">DDFFieldDefn</a>. All subfields of a field will occur in each occurrence of that field (as a <a class="el" href="classDDFField.html">DDFField</a>) in a <a class="el" href="classDDFRecord.html">DDFRecord</a>. Subfield's actually contain formatted data (as instances within a record). </p> </div><h2 class="groupheader">Member Enumeration Documentation</h2> <a class="anchor" id="af2be10e48df9291c302eddc20d630a0c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="classDDFSubfieldDefn.html#af2be10e48df9291c302eddc20d630a0c">DDFSubfieldDefn::DDFBinaryFormat</a></td> </tr> </table> </div><div class="memdoc"> <p>Binary format: this is the digit immediately following the B or b for binary formats. </p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="ace8e51966364c8bba8c800dc46df7af2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void DDFSubfieldDefn::Dump </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"><em>fp</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Write out subfield definition info to debugging file.</p> <p>A variety of information about this field definition is written to the give debugging file handle.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">fp</td><td>The standard IO file handle to write to. i.e. stderr </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a2eef42775cb6979f1758e68e86886db2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void DDFSubfieldDefn::DumpData </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pachData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nMaxBytes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">FILE * </td> <td class="paramname"><em>fp</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Dump subfield value to debugging file.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pachData</td><td>Pointer to data for this subfield. </td></tr> <tr><td class="paramname">nMaxBytes</td><td>Maximum number of bytes available in pachData. </td></tr> <tr><td class="paramname">fp</td><td>File to write report to. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a67fddf36a98106bf445ea49811812b00"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double DDFSubfieldDefn::ExtractFloatData </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pachSourceData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nMaxBytes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>pnConsumedBytes</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Extract a subfield value as a float. Given a pointer to the data for this subfield (from within a <a class="el" href="classDDFRecord.html">DDFRecord</a>) this method will return the floating point data for this subfield. The number of bytes consumed as part of this field can also be fetched. This method may be called for any type of subfield, and will return zero if the subfield is not numeric.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pachSourceData</td><td>The pointer to the raw data for this field. This may have come from <a class="el" href="classDDFRecord.html#a7c54f9f861d4301ff20aef781a1a6817">DDFRecord::GetData()</a>, taking into account skip factors over previous subfields data. </td></tr> <tr><td class="paramname">nMaxBytes</td><td>The maximum number of bytes that are accessible after pachSourceData. </td></tr> <tr><td class="paramname">pnConsumedBytes</td><td>Pointer to an integer into which the number of bytes consumed by this field should be written. May be NULL to ignore. This is used as a skip factor to increment pachSourceData to point to the next subfields data.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The subfield's numeric value (or zero if it isn't numeric).</dd></dl> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classDDFSubfieldDefn.html#a32ecb1b1e3da05e500049e4925dd20e5">ExtractIntData()</a>, <a class="el" href="classDDFSubfieldDefn.html#ad95ecafda6bcf87437030c273eb06643">ExtractStringData()</a> </dd></dl> </div> </div> <a class="anchor" id="a32ecb1b1e3da05e500049e4925dd20e5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int DDFSubfieldDefn::ExtractIntData </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pachSourceData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nMaxBytes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>pnConsumedBytes</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Extract a subfield value as an integer. Given a pointer to the data for this subfield (from within a <a class="el" href="classDDFRecord.html">DDFRecord</a>) this method will return the int data for this subfield. The number of bytes consumed as part of this field can also be fetched. This method may be called for any type of subfield, and will return zero if the subfield is not numeric.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pachSourceData</td><td>The pointer to the raw data for this field. This may have come from <a class="el" href="classDDFRecord.html#a7c54f9f861d4301ff20aef781a1a6817">DDFRecord::GetData()</a>, taking into account skip factors over previous subfields data. </td></tr> <tr><td class="paramname">nMaxBytes</td><td>The maximum number of bytes that are accessible after pachSourceData. </td></tr> <tr><td class="paramname">pnConsumedBytes</td><td>Pointer to an integer into which the number of bytes consumed by this field should be written. May be NULL to ignore. This is used as a skip factor to increment pachSourceData to point to the next subfields data.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The subfield's numeric value (or zero if it isn't numeric).</dd></dl> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classDDFSubfieldDefn.html#a67fddf36a98106bf445ea49811812b00">ExtractFloatData()</a>, <a class="el" href="classDDFSubfieldDefn.html#ad95ecafda6bcf87437030c273eb06643">ExtractStringData()</a> </dd></dl> </div> </div> <a class="anchor" id="ad95ecafda6bcf87437030c273eb06643"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char * DDFSubfieldDefn::ExtractStringData </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pachSourceData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nMaxBytes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>pnConsumedBytes</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Extract a zero terminated string containing the data for this subfield. Given a pointer to the data for this subfield (from within a <a class="el" href="classDDFRecord.html">DDFRecord</a>) this method will return the data for this subfield. The number of bytes consumed as part of this field can also be fetched. This number may be one longer than the string length if there is a terminator character used.</p> <p>This function will return the raw binary data of a subfield for types other than DDFString, including data past zero chars. This is the standard way of extracting DDFBinaryString subfields for instance.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pachSourceData</td><td>The pointer to the raw data for this field. This may have come from <a class="el" href="classDDFRecord.html#a7c54f9f861d4301ff20aef781a1a6817">DDFRecord::GetData()</a>, taking into account skip factors over previous subfields data. </td></tr> <tr><td class="paramname">nMaxBytes</td><td>The maximum number of bytes that are accessible after pachSourceData. </td></tr> <tr><td class="paramname">pnConsumedBytes</td><td>Pointer to an integer into which the number of bytes consumed by this field should be written. May be NULL to ignore. This is used as a skip factor to increment pachSourceData to point to the next subfields data.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>A pointer to a buffer containing the data for this field. The returned pointer is to an internal buffer which is invalidated on the next <a class="el" href="classDDFSubfieldDefn.html#ad95ecafda6bcf87437030c273eb06643">ExtractStringData()</a> call on this <a class="el" href="classDDFSubfieldDefn.html">DDFSubfieldDefn()</a>. It should not be freed by the application.</dd></dl> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classDDFSubfieldDefn.html#a32ecb1b1e3da05e500049e4925dd20e5">ExtractIntData()</a>, <a class="el" href="classDDFSubfieldDefn.html#a67fddf36a98106bf445ea49811812b00">ExtractFloatData()</a> </dd></dl> </div> </div> <a class="anchor" id="a68bae5e2a5020984bd02a6f7a61d1a2f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int DDFSubfieldDefn::FormatFloatValue </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>pachData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nBytesAvailable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>pnBytesUsed</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>dfNewValue</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </div><div class="memdoc"> <p>Format float subfield value.</p> <p>Returns a buffer with the passed in float value reformatted in a way suitable for storage in a <a class="el" href="classDDFField.html">DDFField</a> for this subfield. </p> </div> </div> <a class="anchor" id="a809d05212b6995b893d899f95f6ad654"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int DDFSubfieldDefn::FormatIntValue </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>pachData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nBytesAvailable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>pnBytesUsed</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nNewValue</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </div><div class="memdoc"> <p>Format int subfield value.</p> <p>Returns a buffer with the passed in int value reformatted in a way suitable for storage in a <a class="el" href="classDDFField.html">DDFField</a> for this subfield. </p> </div> </div> <a class="anchor" id="a65de1ab26a5d31c44b3c4b991653ab8e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int DDFSubfieldDefn::FormatStringValue </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>pachData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nBytesAvailable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>pnBytesUsed</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>pszValue</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nValueLength</em> = <code>-1</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </div><div class="memdoc"> <p>Format string subfield value.</p> <p>Returns a buffer with the passed in string value reformatted in a way suitable for storage in a <a class="el" href="classDDFField.html">DDFField</a> for this subfield. </p> </div> </div> <a class="anchor" id="abe4b3c8e16a3131e457094be08d26faf"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int DDFSubfieldDefn::GetDataLength </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>pachSourceData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nMaxBytes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>pnConsumedBytes</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Scan for the end of variable length data. Given a pointer to the data for this subfield (from within a <a class="el" href="classDDFRecord.html">DDFRecord</a>) this method will return the number of bytes which are data for this subfield. The number of bytes consumed as part of this field can also be fetched. This number may be one longer than the length if there is a terminator character used.</p> <p>This method is mainly for internal use, or for applications which want the raw binary data to interpret themselves. Otherwise use one of <a class="el" href="classDDFSubfieldDefn.html#ad95ecafda6bcf87437030c273eb06643">ExtractStringData()</a>, <a class="el" href="classDDFSubfieldDefn.html#a32ecb1b1e3da05e500049e4925dd20e5">ExtractIntData()</a> or <a class="el" href="classDDFSubfieldDefn.html#a67fddf36a98106bf445ea49811812b00">ExtractFloatData()</a>.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pachSourceData</td><td>The pointer to the raw data for this field. This may have come from <a class="el" href="classDDFRecord.html#a7c54f9f861d4301ff20aef781a1a6817">DDFRecord::GetData()</a>, taking into account skip factors over previous subfields data. </td></tr> <tr><td class="paramname">nMaxBytes</td><td>The maximum number of bytes that are accessible after pachSourceData. </td></tr> <tr><td class="paramname">pnConsumedBytes</td><td>Pointer to an integer into which the number of bytes consumed by this field should be written. May be NULL to ignore.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The number of bytes at pachSourceData which are actual data for this record (not including unit, or field terminator). </dd></dl> </div> </div> <a class="anchor" id="a31d4ef01622249c8a3d6cf2db005a3c3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int DDFSubfieldDefn::GetDefaultValue </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"><em>pachData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nBytesAvailable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>pnBytesUsed</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </div><div class="memdoc"> <p>Get default data.</p> <p>Returns the default subfield data contents for this subfield definition. For variable length numbers this will normally be "0<unit-terminator>". For variable length strings it will be "<unit-terminator>". For fixed length numbers it is zero filled. For fixed length strings it is space filled. For binary numbers it is binary zero filled.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pachData</td><td>the buffer into which the returned default will be placed. May be NULL if just querying default size. </td></tr> <tr><td class="paramname">nBytesAvailable</td><td>the size of pachData in bytes. </td></tr> <tr><td class="paramname">pnBytesUsed</td><td>will receive the size of the subfield default data in bytes.</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>TRUE on success or FALSE on failure or if the passed buffer is too small to hold the default. </dd></dl> </div> </div> <a class="anchor" id="a705717eb43db68bce8aad4b3605304e8"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const char* DDFSubfieldDefn::GetFormat </td> <td>(</td> <td class="paramname"></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>Get pointer to subfield format string </p> </div> </div> <a class="anchor" id="aa1f979abf8823c31b4bfef537892488c"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const char* DDFSubfieldDefn::GetName </td> <td>(</td> <td class="paramname"></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>Get pointer to subfield name. </p> </div> </div> <a class="anchor" id="a6f2e395c75812af3d72d54ec26c58a98"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">DDFDataType DDFSubfieldDefn::GetType </td> <td>(</td> <td class="paramname"></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>Get the general type of the subfield. This can be used to determine which of <a class="el" href="classDDFSubfieldDefn.html#a67fddf36a98106bf445ea49811812b00">ExtractFloatData()</a>, <a class="el" href="classDDFSubfieldDefn.html#a32ecb1b1e3da05e500049e4925dd20e5">ExtractIntData()</a> or <a class="el" href="classDDFSubfieldDefn.html#ad95ecafda6bcf87437030c273eb06643">ExtractStringData()</a> should be used. </p> <dl class="section return"><dt>Returns</dt><dd>The subfield type. One of DDFInt, DDFFloat, DDFString or DDFBinaryString. </dd></dl> </div> </div> <a class="anchor" id="a56d8a8843816c71b5a5da176a469dbfd"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">int DDFSubfieldDefn::GetWidth </td> <td>(</td> <td class="paramname"></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>Get the subfield width (zero for variable). </p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="iso8211_8h_source.html">iso8211.h</a></li> <li>ddfsubfielddefn.cpp</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.5 </small></address> </body> </html>