1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3<title>FLAC: FLAC++/metadata.h: metadata object classes</title> 4<link href="doxygen.css" rel="stylesheet" type="text/css"> 5</head><body> 6<!-- Generated by Doxygen 1.4.2 --> 7<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div> 8<h1>FLAC++/metadata.h: metadata object classes<br> 9<small> 10[<a class="el" href="group__flacpp__metadata.html">FLAC++/metadata.h: metadata interfaces</a>]</small> 11</h1><hr><a name="_details"></a><h2>Detailed Description</h2> 12This module contains classes representing FLAC metadata blocks in memory.<p> 13The behavior closely mimics the C layer interface; be sure to read the detailed description of the <a class="el" href="group__flac__metadata__object.html">C metadata object module </a>.<p> 14Any time a metadata object is constructed or assigned, you should check is_valid() to make sure the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object was able to be created.<p> 15<dl compact><dt><b>Warning:</b></dt><dd>When the get_*() methods of any metadata object method return you a const pointer, DO NOT disobey and write into it. Always use the set_*() methods. </dd></dl> 16 17<p> 18<table border="0" cellpadding="0" cellspacing="0"> 19<tr><td></td></tr> 20<tr><td colspan="2"><br><h2>Classes</h2></td></tr> 21<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td></tr> 22 23<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td></tr> 24 25<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td></tr> 26 27<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td></tr> 28 29<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td></tr> 30 31<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td></tr> 32 33<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td></tr> 34 35<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Picture.html">FLAC::Metadata::Picture</a></td></tr> 36 37<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td></tr> 38 39<tr><td colspan="2"><br><h2>Functions</h2></td></tr> 40<tr><td class="memItemLeft" nowrap align="right" valign="top">Prototype * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga0">FLAC::Metadata::clone</a> (const Prototype *)</td></tr> 41 42<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga1">FLAC::Metadata::Prototype::operator==</a> (const Prototype &) const </td></tr> 43 44<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga2" doxytag="flacpp_metadata_object::operator=="></a> 45bool </td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &) const </td></tr> 46 47<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga3" doxytag="flacpp_metadata_object::operator=="></a> 48bool </td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) const </td></tr> 49 50<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga4">FLAC::Metadata::Prototype::operator!=</a> (const Prototype &) const </td></tr> 51 52<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga5" doxytag="flacpp_metadata_object::operator!="></a> 53bool </td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &) const </td></tr> 54 55<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga6" doxytag="flacpp_metadata_object::operator!="></a> 56bool </td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) const </td></tr> 57 58<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga7">FLAC::Metadata::Prototype::is_valid</a> () const </td></tr> 59 60<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga8">FLAC::Metadata::Prototype::operator const ::FLAC__StreamMetadata *</a> () const </td></tr> 61 62</table> 63<hr><h2>Function Documentation</h2> 64<a class="anchor" name="ga0" doxytag="FLAC::Metadata::clone"></a><p> 65<table class="mdTable" cellpadding="2" cellspacing="0"> 66 <tr> 67 <td class="mdRow"> 68 <table cellpadding="0" cellspacing="0" border="0"> 69 <tr> 70 <td class="md" nowrap valign="top">Prototype* FLAC::Metadata::clone </td> 71 <td class="md" valign="top">( </td> 72 <td class="md" nowrap valign="top">const Prototype * </td> 73 <td class="mdname1" valign="top" nowrap> </td> 74 <td class="md" valign="top"> ) </td> 75 <td class="md" nowrap></td> 76 </tr> 77 </table> 78 </td> 79 </tr> 80</table> 81<table cellspacing="5" cellpadding="0" border="0"> 82 <tr> 83 <td> 84 85 </td> 86 <td> 87 88<p> 89Create a deep copy of an object and return it. </td> 90 </tr> 91</table> 92<a class="anchor" name="ga1" doxytag="FLAC::Metadata::Prototype::operator=="></a><p> 93<table class="mdTable" cellpadding="2" cellspacing="0"> 94 <tr> 95 <td class="mdRow"> 96 <table cellpadding="0" cellspacing="0" border="0"> 97 <tr> 98 <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::operator== </td> 99 <td class="md" valign="top">( </td> 100 <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> & </td> 101 <td class="mdname1" valign="top" nowrap> </td> 102 <td class="md" valign="top"> ) </td> 103 <td class="md" nowrap> const<code> [inline, inherited]</code></td> 104 </tr> 105 </table> 106 </td> 107 </tr> 108</table> 109<table cellspacing="5" cellpadding="0" border="0"> 110 <tr> 111 <td> 112 113 </td> 114 <td> 115 116<p> 117Check for equality, performing a deep compare by following pointers. </td> 118 </tr> 119</table> 120<a class="anchor" name="ga4" doxytag="FLAC::Metadata::Prototype::operator!="></a><p> 121<table class="mdTable" cellpadding="2" cellspacing="0"> 122 <tr> 123 <td class="mdRow"> 124 <table cellpadding="0" cellspacing="0" border="0"> 125 <tr> 126 <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::operator!= </td> 127 <td class="md" valign="top">( </td> 128 <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> & </td> 129 <td class="mdname1" valign="top" nowrap> </td> 130 <td class="md" valign="top"> ) </td> 131 <td class="md" nowrap> const<code> [inline, inherited]</code></td> 132 </tr> 133 </table> 134 </td> 135 </tr> 136</table> 137<table cellspacing="5" cellpadding="0" border="0"> 138 <tr> 139 <td> 140 141 </td> 142 <td> 143 144<p> 145Check for inequality, performing a deep compare by following pointers. </td> 146 </tr> 147</table> 148<a class="anchor" name="ga7" doxytag="FLAC::Metadata::Prototype::is_valid"></a><p> 149<table class="mdTable" cellpadding="2" cellspacing="0"> 150 <tr> 151 <td class="mdRow"> 152 <table cellpadding="0" cellspacing="0" border="0"> 153 <tr> 154 <td class="md" nowrap valign="top">bool FLAC::Metadata::Prototype::is_valid </td> 155 <td class="md" valign="top">( </td> 156 <td class="mdname1" valign="top" nowrap> </td> 157 <td class="md" valign="top"> ) </td> 158 <td class="md" nowrap> const<code> [inline, inherited]</code></td> 159 </tr> 160 </table> 161 </td> 162 </tr> 163</table> 164<table cellspacing="5" cellpadding="0" border="0"> 165 <tr> 166 <td> 167 168 </td> 169 <td> 170 171<p> 172Returns <code>true</code> if the object was correctly constructed (i.e. the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object was properly allocated), else <code>false</code>. </td> 173 </tr> 174</table> 175<a class="anchor" name="ga8" doxytag="FLAC::Metadata::Prototype::operator const ::FLAC__StreamMetadata *"></a><p> 176<table class="mdTable" cellpadding="2" cellspacing="0"> 177 <tr> 178 <td class="mdRow"> 179 <table cellpadding="0" cellspacing="0" border="0"> 180 <tr> 181 <td class="md" nowrap valign="top">FLAC::Metadata::Prototype::operator const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> * </td> 182 <td class="md" valign="top">( </td> 183 <td class="mdname1" valign="top" nowrap> </td> 184 <td class="md" valign="top"> ) </td> 185 <td class="md" nowrap> const<code> [inline, inherited]</code></td> 186 </tr> 187 </table> 188 </td> 189 </tr> 190</table> 191<table cellspacing="5" cellpadding="0" border="0"> 192 <tr> 193 <td> 194 195 </td> 196 <td> 197 198<p> 199Returns a pointer to the underlying <a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> object. This can be useful for plugging any holes between the C++ and C interfaces.<p> 200<dl compact><dt><b>Assertions: </b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="group__flacpp__metadata__object.html#ga7">is_valid</a>() 201</pre></div> </dd></dl> 202 </td> 203 </tr> 204</table> 205 206<hr size="1"> 207<div class="copyright"> 208 <!-- @@@ oh so hacky --> 209 <table> 210 <tr> 211 <td align="left"> 212 Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson 213 </td> 214 <td width="1%" align="right"> 215 <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a> 216 </td> 217 </tr> 218 </table> 219</div> 220<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson --> 221<!-- Permission is granted to copy, distribute and/or modify this document --> 222<!-- under the terms of the GNU Free Documentation License, Version 1.1 --> 223<!-- or any later version published by the Free Software Foundation; --> 224<!-- with no invariant sections. --> 225<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html --> 226</body> 227</html> 228