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&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;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 &nbsp;</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 &nbsp;</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 &nbsp;</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 &nbsp;</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 &nbsp;</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 &nbsp;</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 &nbsp;</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 &nbsp;</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 &nbsp;</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 *&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga1">FLAC::Metadata::Prototype::operator==</a> (const Prototype &amp;) 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&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;) 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&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flacpp__metadata__object.html#ga4">FLAC::Metadata::Prototype::operator!=</a> (const Prototype &amp;) 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&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;) 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&nbsp;</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&nbsp;</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">&nbsp;</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">(&nbsp;</td>
72          <td class="md" nowrap valign="top">const Prototype *&nbsp;</td>
73          <td class="mdname1" valign="top" nowrap>          </td>
74          <td class="md" valign="top">&nbsp;)&nbsp;</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      &nbsp;
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">(&nbsp;</td>
100          <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td>
101          <td class="mdname1" valign="top" nowrap>          </td>
102          <td class="md" valign="top">&nbsp;)&nbsp;</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      &nbsp;
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">(&nbsp;</td>
128          <td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> &amp;&nbsp;</td>
129          <td class="mdname1" valign="top" nowrap>          </td>
130          <td class="md" valign="top">&nbsp;)&nbsp;</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      &nbsp;
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">(&nbsp;</td>
156          <td class="mdname1" valign="top" nowrap>          </td>
157          <td class="md" valign="top">&nbsp;)&nbsp;</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      &nbsp;
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">(&nbsp;</td>
183          <td class="mdname1" valign="top" nowrap>          </td>
184          <td class="md" valign="top">&nbsp;)&nbsp;</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      &nbsp;
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