1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
<title>FLAC++/metadata.h: metadata object classes</title>
3
<title>FLAC: FLAC++/metadata.h: metadata object classes</title>
4
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
6
<!-- Generated by Doxygen 1.2.14 -->
8
<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">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center>
9
<hr><h1>FLAC++/metadata.h: metadata object classes<br>
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>
11
10
[<a class="el" href="group__flacpp__metadata.html">FLAC++/metadata.h: metadata interfaces</a>]</small>
12
</h1><table border=0 cellpadding=0 cellspacing=0>
13
<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
14
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">FLAC::Metadata::Prototype</a></td></tr>
15
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html">FLAC::Metadata::StreamInfo</a></td></tr>
16
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classFLAC_1_1Metadata_1_1Padding.html">FLAC::Metadata::Padding</a></td></tr>
17
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classFLAC_1_1Metadata_1_1Application.html">FLAC::Metadata::Application</a></td></tr>
18
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classFLAC_1_1Metadata_1_1SeekTable.html">FLAC::Metadata::SeekTable</a></td></tr>
19
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classFLAC_1_1Metadata_1_1VorbisComment.html">FLAC::Metadata::VorbisComment</a></td></tr>
20
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classFLAC_1_1Metadata_1_1CueSheet.html">FLAC::Metadata::CueSheet</a></td></tr>
21
<tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classFLAC_1_1Metadata_1_1Unknown.html">FLAC::Metadata::Unknown</a></td></tr>
22
<tr><td colspan=2><br><h2>[NOHEADER]</h2></td></tr>
23
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="group__flacpp__metadata__object.html#a1">operator==</a> (const Prototype &) const</td></tr>
24
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="group__flacpp__metadata__object.html#a2">operator==</a> (const::FLAC__StreamMetadata &) const</td></tr>
25
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="group__flacpp__metadata__object.html#a3">operator==</a> (const::FLAC__StreamMetadata *) const</td></tr>
26
<tr><td colspan=2><br><h2>[NOHEADER]</h2></td></tr>
27
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="group__flacpp__metadata__object.html#a4">operator!=</a> (const Prototype &) const</td></tr>
28
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="group__flacpp__metadata__object.html#a5">operator!=</a> (const::FLAC__StreamMetadata &) const</td></tr>
29
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="group__flacpp__metadata__object.html#a6">operator!=</a> (const::FLAC__StreamMetadata *) const</td></tr>
30
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
31
<tr><td nowrap align=right valign=top>FLACPP_API Prototype * </td><td valign=bottom><a class="el" href="group__flacpp__metadata__object.html#a0">clone</a> (const Prototype *)</td></tr>
32
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="group__flacpp__metadata__object.html#a7">is_valid</a> () const</td></tr>
33
<tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="group__flacpp__metadata__object.html#a8">operator const ::FLAC__StreamMetadata *</a> () const</td></tr>
11
</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
12
This module contains classes representing FLAC metadata blocks in memory.<p>
13
The 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>
14
Any 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>
18
<table border="0" cellpadding="0" cellspacing="0">
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
44
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga2" doxytag="flacpp_metadata_object::operator=="></a>
45
bool </td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &) const </td></tr>
47
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga3" doxytag="flacpp_metadata_object::operator=="></a>
48
bool </td><td class="memItemRight" valign="bottom"><b>operator==</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) const </td></tr>
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>
52
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga5" doxytag="flacpp_metadata_object::operator!="></a>
53
bool </td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &) const </td></tr>
55
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga6" doxytag="flacpp_metadata_object::operator!="></a>
56
bool </td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) const </td></tr>
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>
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>
35
<hr><a name="_details"></a><h2>Detailed Description</h2>
36
This module contains classes representing FLAC metadata blocks in memory.
38
The 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>.
40
Any time a metadata object is constructed or assigned, you should check is_valid() to make sure the underlying FLAC__StreamMetadata object was able to be created.
44
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. </dl><hr><h2>Function Documentation</h2>
45
<a name="a0" doxytag="FLAC::Metadata::clone"></a><p>
46
<table width="100%" cellpadding="2" cellspacing="0" border="0">
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">
49
68
<table cellpadding="0" cellspacing="0" border="0">
51
<td class="md" nowrap valign="top"> FLACPP_API <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a>* clone </td>
70
<td class="md" nowrap valign="top">Prototype* FLAC::Metadata::clone </td>
52
71
<td class="md" valign="top">( </td>
53
<td class="md" nowrap valign="top">const <a class="el" href="classFLAC_1_1Metadata_1_1Prototype.html">Prototype</a> * </td>
54
<td class="mdname1" valign="top" nowrap> </td>
55
<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>
56
75
<td class="md" nowrap></td>
63
<table cellspacing=5 cellpadding=0 border=0>
81
<table cellspacing="5" cellpadding="0" border="0">
100
117
Check for equality, performing a deep compare by following pointers. </td>
103
<a name="a2" doxytag="FLAC::Metadata::Prototype::operator=="></a><p>
104
<table width="100%" cellpadding="2" cellspacing="0" border="0">
107
<table cellpadding="0" cellspacing="0" border="0">
109
<td class="md" nowrap valign="top"> bool FLAC::Metadata::Prototype::operator== </td>
110
<td class="md" valign="top">( </td>
111
<td class="md" nowrap valign="top">const::FLAC__StreamMetadata & </td>
112
<td class="mdname1" valign="top" nowrap> </td>
113
<td class="md" valign="top">) </td>
114
<td class="md" nowrap> const<code> [inline, inherited]</code></td>
121
<table cellspacing=5 cellpadding=0 border=0>
129
Check for equality, performing a deep compare by following pointers.
131
Reimplemented in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#z6_1">FLAC::Metadata::StreamInfo</a>. </td>
134
<a name="a3" doxytag="FLAC::Metadata::Prototype::operator=="></a><p>
135
<table width="100%" cellpadding="2" cellspacing="0" border="0">
138
<table cellpadding="0" cellspacing="0" border="0">
140
<td class="md" nowrap valign="top"> bool FLAC::Metadata::Prototype::operator== </td>
141
<td class="md" valign="top">( </td>
142
<td class="md" nowrap valign="top">const::FLAC__StreamMetadata * </td>
143
<td class="mdname1" valign="top" nowrap> </td>
144
<td class="md" valign="top">) </td>
145
<td class="md" nowrap> const<code> [inline, inherited]</code></td>
152
<table cellspacing=5 cellpadding=0 border=0>
160
Check for equality, performing a deep compare by following pointers.
162
Reimplemented in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#z6_2">FLAC::Metadata::StreamInfo</a>. </td>
165
<a name="a4" doxytag="FLAC::Metadata::Prototype::operator!="></a><p>
166
<table width="100%" cellpadding="2" cellspacing="0" border="0">
169
<table cellpadding="0" cellspacing="0" border="0">
171
<td class="md" nowrap valign="top"> bool FLAC::Metadata::Prototype::operator!= </td>
172
<td class="md" valign="top">( </td>
173
<td class="md" nowrap valign="top">const Prototype & </td>
174
<td class="mdname1" valign="top" nowrap> </td>
175
<td class="md" valign="top">) </td>
176
<td class="md" nowrap> const<code> [inline, inherited]</code></td>
183
<table cellspacing=5 cellpadding=0 border=0>
120
<a class="anchor" name="ga4" doxytag="FLAC::Metadata::Prototype::operator!="></a><p>
121
<table class="mdTable" cellpadding="2" cellspacing="0">
124
<table cellpadding="0" cellspacing="0" border="0">
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>
137
<table cellspacing="5" cellpadding="0" border="0">
191
145
Check for inequality, performing a deep compare by following pointers. </td>
194
<a name="a5" doxytag="FLAC::Metadata::Prototype::operator!="></a><p>
195
<table width="100%" cellpadding="2" cellspacing="0" border="0">
198
<table cellpadding="0" cellspacing="0" border="0">
200
<td class="md" nowrap valign="top"> bool FLAC::Metadata::Prototype::operator!= </td>
201
<td class="md" valign="top">( </td>
202
<td class="md" nowrap valign="top">const::FLAC__StreamMetadata & </td>
203
<td class="mdname1" valign="top" nowrap> </td>
204
<td class="md" valign="top">) </td>
205
<td class="md" nowrap> const<code> [inline, inherited]</code></td>
212
<table cellspacing=5 cellpadding=0 border=0>
220
Check for inequality, performing a deep compare by following pointers.
222
Reimplemented in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#z7_1">FLAC::Metadata::StreamInfo</a>. </td>
225
<a name="a6" doxytag="FLAC::Metadata::Prototype::operator!="></a><p>
226
<table width="100%" cellpadding="2" cellspacing="0" border="0">
229
<table cellpadding="0" cellspacing="0" border="0">
231
<td class="md" nowrap valign="top"> bool FLAC::Metadata::Prototype::operator!= </td>
232
<td class="md" valign="top">( </td>
233
<td class="md" nowrap valign="top">const::FLAC__StreamMetadata * </td>
234
<td class="mdname1" valign="top" nowrap> </td>
235
<td class="md" valign="top">) </td>
236
<td class="md" nowrap> const<code> [inline, inherited]</code></td>
243
<table cellspacing=5 cellpadding=0 border=0>
251
Check for inequality, performing a deep compare by following pointers.
253
Reimplemented in <a class="el" href="classFLAC_1_1Metadata_1_1StreamInfo.html#z7_2">FLAC::Metadata::StreamInfo</a>. </td>
256
<a name="a7" doxytag="FLAC::Metadata::Prototype::is_valid"></a><p>
257
<table width="100%" cellpadding="2" cellspacing="0" border="0">
260
<table cellpadding="0" cellspacing="0" border="0">
262
<td class="md" nowrap valign="top"> bool FLAC::Metadata::Prototype::is_valid </td>
263
<td class="md" valign="top">( </td>
264
<td class="mdname1" valign="top" nowrap> </td>
265
<td class="md" valign="top">) </td>
266
<td class="md" nowrap> const<code> [inline, inherited]</code></td>
273
<table cellspacing=5 cellpadding=0 border=0>
281
Returns <code>true</code> if the object was correctly constructed (i.e. the underlying FLAC__StreamMetadata object was properly allocated), else <code>false</code>. </td>
284
<a name="a8" doxytag="FLAC::Metadata::Prototype::operator const ::FLAC__StreamMetadata *"></a><p>
285
<table width="100%" cellpadding="2" cellspacing="0" border="0">
288
<table cellpadding="0" cellspacing="0" border="0">
290
<td class="md" nowrap valign="top"> FLAC::Metadata::Prototype::operator const ::<a class="el" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> * </td>
291
<td class="md" valign="top">( </td>
292
<td class="mdname1" valign="top" nowrap> </td>
293
<td class="md" valign="top">) </td>
294
<td class="md" nowrap> const<code> [inline, inherited]</code></td>
301
<table cellspacing=5 cellpadding=0 border=0>
309
Returns a pointer to the underlying FLAC__StreamMetadata object. This can be useful for plugging any holes between the C++ and C interfaces.<dl compact><dt><b>
311
<div class="fragment"><pre><a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#a7">is_valid</a>()
312
</pre></div> </dl> </td>
315
<hr><address><small>Generated on Fri Feb 4 18:39:18 2005 for FLAC by
316
<a href="http://www.doxygen.org/index.html">
317
<img src="doxygen.gif" alt="doxygen" align="middle" border=0
318
width=110 height=53></a>1.2.14 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
319
© 1997-2002</small></address>
148
<a class="anchor" name="ga7" doxytag="FLAC::Metadata::Prototype::is_valid"></a><p>
149
<table class="mdTable" cellpadding="2" cellspacing="0">
152
<table cellpadding="0" cellspacing="0" border="0">
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>
164
<table cellspacing="5" cellpadding="0" border="0">
172
Returns <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>
175
<a class="anchor" name="ga8" doxytag="FLAC::Metadata::Prototype::operator const ::FLAC__StreamMetadata *"></a><p>
176
<table class="mdTable" cellpadding="2" cellspacing="0">
179
<table cellpadding="0" cellspacing="0" border="0">
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>
191
<table cellspacing="5" cellpadding="0" border="0">
199
Returns 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>
207
<div class="copyright">
208
<!-- @@@ oh so hacky -->
212
Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
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>
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 -->