Sophie

Sophie

distrib > Arklinux > devel > x86_64 > media > main > by-pkgid > 0ec239e30e77c6ccf6375bf75d2e8547 > files > 26

flac-1.2.1-1ark.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>FLAC: include/FLAC++/metadata.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.2 -->
<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>
<div class="nav">
<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">FLAC++</a></div>
<h1>metadata.h</h1><a href="+_2metadata_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC++ - Free Lossless Audio Codec library</span>
00002 <span class="comment"> * Copyright (C) 2002,2003,2004,2005,2006,2007  Josh Coalson</span>
00003 <span class="comment"> *</span>
00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
00006 <span class="comment"> * are met:</span>
00007 <span class="comment"> *</span>
00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
00010 <span class="comment"> *</span>
00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
00014 <span class="comment"> *</span>
00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
00017 <span class="comment"> * this software without specific prior written permission.</span>
00018 <span class="comment"> *</span>
00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR</span>
00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
00030 <span class="comment"> */</span>
00031 
00032 <span class="preprocessor">#ifndef FLACPP__METADATA_H</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define FLACPP__METADATA_H</span>
00034 <span class="preprocessor"></span>
00035 <span class="preprocessor">#include "<a class="code" href="+_2export_8h.html">export.h</a>"</span>
00036 
00037 <span class="preprocessor">#include "<a class="code" href="metadata_8h.html">FLAC/metadata.h</a>"</span>
00038 
00039 <span class="comment">// ===============================================================</span>
00040 <span class="comment">//</span>
00041 <span class="comment">//  Full documentation for the metadata interface can be found</span>
00042 <span class="comment">//  in the C layer in include/FLAC/metadata.h</span>
00043 <span class="comment">//</span>
00044 <span class="comment">// ===============================================================</span>
00045 
00074 <span class="keyword">namespace </span>FLAC {
00075     <span class="keyword">namespace </span>Metadata {
00076 
00077         <span class="comment">// ============================================================</span>
00078         <span class="comment">//</span>
00079         <span class="comment">//  Metadata objects</span>
00080         <span class="comment">//</span>
00081         <span class="comment">// ============================================================</span>
00082 
<a name="l00108"></a><a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html">00108</a>         <span class="keyword">class </span>FLACPP_API Prototype {
00109         <span class="keyword">protected</span>:
00111 
00114             Prototype(<span class="keyword">const</span> Prototype &amp;);
00115             Prototype(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;);
00116             Prototype(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *);
00118 
00129             Prototype(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy);
00130 
00132 
00133             Prototype &amp;operator=(<span class="keyword">const</span> Prototype &amp;);
00134             Prototype &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;);
00135             Prototype &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *);
00137 
00141             Prototype &amp;assign_object(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy);
00142 
00145             <span class="keyword">virtual</span> <span class="keywordtype">void</span> clear();
00146 
00147             ::FLAC__StreamMetadata *object_;
00148         <span class="keyword">public</span>:
00151             <span class="keyword">virtual</span> ~Prototype();
00152 
00154 
00156             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Prototype &amp;) <span class="keyword">const</span>;
00157             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;) <span class="keyword">const</span>;
00158             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) <span class="keyword">const</span>;
00160 
00162 
00163             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Prototype &amp;) <span class="keyword">const</span>;
00164             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;) <span class="keyword">const</span>;
00165             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *) <span class="keyword">const</span>;
00167 
00168             <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">SimpleIterator</a>;
00169             <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFLAC_1_1Metadata_1_1Iterator.html">Iterator</a>;
00170 
00175             <span class="keyword">inline</span> <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>;
00176 
00183             <span class="keywordtype">bool</span> get_is_last() <span class="keyword">const</span>;
00184 
00190 <a class="code" href="group__flac__format.html#ga113">			::FLAC__MetadataType</a> get_type() <span class="keyword">const</span>;
00191 
00201             <span class="keywordtype">unsigned</span> get_length() <span class="keyword">const</span>;
00202 
00209             <span class="keywordtype">void</span> set_is_last(<span class="keywordtype">bool</span>);
00210 
00218             <span class="keyword">inline</span> operator const ::FLAC__StreamMetadata *() <span class="keyword">const</span>;
00219         <span class="keyword">private</span>:
00221             Prototype();
00222 
00223             <span class="comment">// These are used only by Iterator</span>
00224             <span class="keywordtype">bool</span> is_reference_;
00225             <span class="keyword">inline</span> <span class="keywordtype">void</span> set_reference(<span class="keywordtype">bool</span> x) { is_reference_ = x; }
00226         };
00227 
00228 <span class="preprocessor">#ifdef _MSC_VER</span>
00229 <span class="preprocessor"></span><span class="comment">// warning C4800: 'int' : forcing to bool 'true' or 'false' (performance warning)</span>
00230 <span class="preprocessor">#pragma warning ( disable : 4800 )</span>
00231 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00232 <span class="preprocessor"></span>
<a name="l00233"></a><a class="code" href="group__flacpp__metadata__object.html#ga1">00233</a>         <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(<span class="keyword">const</span> Prototype &amp;object)<span class="keyword"> const</span>
00234 <span class="keyword">        </span>{ <span class="keywordflow">return</span> (<span class="keywordtype">bool</span>)<a class="code" href="group__flac__metadata__object.html#ga3">::FLAC__metadata_object_is_equal</a>(object_, object.<a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentp0">object_</a>); }
00235 
00236         <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const</span>
00237 <span class="keyword">        </span>{ <span class="keywordflow">return</span> (<span class="keywordtype">bool</span>)<a class="code" href="group__flac__metadata__object.html#ga3">::FLAC__metadata_object_is_equal</a>(object_, &amp;object); }
00238 
00239         <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const</span>
00240 <span class="keyword">        </span>{ <span class="keywordflow">return</span> (<span class="keywordtype">bool</span>)<a class="code" href="group__flac__metadata__object.html#ga3">::FLAC__metadata_object_is_equal</a>(object_, object); }
00241 
00242 <span class="preprocessor">#ifdef _MSC_VER</span>
00243 <span class="preprocessor"></span><span class="comment">// @@@ how to re-enable?  the following doesn't work</span>
00244 <span class="comment">// #pragma warning ( enable : 4800 )</span>
00245 <span class="preprocessor">#endif</span>
00246 <span class="preprocessor"></span>
<a name="l00247"></a><a class="code" href="group__flacpp__metadata__object.html#ga4">00247</a>         <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(<span class="keyword">const</span> Prototype &amp;object)<span class="keyword"> const</span>
00248 <span class="keyword">        </span>{ <span class="keywordflow">return</span> !<a class="code" href="group__flacpp__metadata__object.html#ga1">operator==</a>(object); }
00249 
00250         <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const</span>
00251 <span class="keyword">        </span>{ <span class="keywordflow">return</span> !<a class="code" href="group__flacpp__metadata__object.html#ga1">operator==</a>(object); }
00252 
00253         <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const</span>
00254 <span class="keyword">        </span>{ <span class="keywordflow">return</span> !<a class="code" href="group__flacpp__metadata__object.html#ga1">operator==</a>(object); }
00255 
<a name="l00256"></a><a class="code" href="group__flacpp__metadata__object.html#ga7">00256</a>         <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__object.html#ga7">Prototype::is_valid</a>()<span class="keyword"> const</span>
00257 <span class="keyword">        </span>{ <span class="keywordflow">return</span> 0 != object_; }
00258 
<a name="l00259"></a><a class="code" href="group__flacpp__metadata__object.html#ga8">00259</a>         <span class="keyword">inline</span> Prototype::operator const ::FLAC__StreamMetadata *()<span class="keyword"> const</span>
00260 <span class="keyword">        </span>{ <span class="keywordflow">return</span> object_; }
00261 
00263         FLACPP_API Prototype *<a class="code" href="group__flacpp__metadata__object.html#ga0">clone</a>(<span class="keyword">const</span> Prototype *);
00264 
00265 
<a name="l00270"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html">00270</a>         <span class="keyword">class </span>FLACPP_API StreamInfo : <span class="keyword">public</span> Prototype {
00271         <span class="keyword">public</span>:
00272             StreamInfo();
00273 
00275 
<a name="l00278"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa1">00278</a>             <span class="keyword">inline</span> StreamInfo(<span class="keyword">const</span> StreamInfo &amp;object): Prototype(object) { }
00279             <span class="keyword">inline</span> StreamInfo(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
00280             <span class="keyword">inline</span> StreamInfo(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
00282 
<a name="l00286"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa4">00286</a>             <span class="keyword">inline</span> StreamInfo(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
00287 
00288             ~StreamInfo();
00289 
00291 
<a name="l00292"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa6">00292</a>             <span class="keyword">inline</span> StreamInfo &amp;operator=(<span class="keyword">const</span> StreamInfo &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00293             <span class="keyword">inline</span> StreamInfo &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00294             <span class="keyword">inline</span> StreamInfo &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00296 
<a name="l00300"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa9">00300</a>             <span class="keyword">inline</span> StreamInfo &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00301 
00303 
<a name="l00304"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa10">00304</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> StreamInfo &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00305             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00306             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00308 
00310 
<a name="l00311"></a><a class="code" href="classFLAC_1_1Metadata_1_1StreamInfo.html#FLAC_1_1Metadata_1_1StreamInfoa13">00311</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> StreamInfo &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00312             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00313             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00315 
00317 
00318             <span class="keywordtype">unsigned</span> get_min_blocksize() <span class="keyword">const</span>;
00319             <span class="keywordtype">unsigned</span> get_max_blocksize() <span class="keyword">const</span>;
00320             <span class="keywordtype">unsigned</span> get_min_framesize() <span class="keyword">const</span>;
00321             <span class="keywordtype">unsigned</span> get_max_framesize() <span class="keyword">const</span>;
00322             <span class="keywordtype">unsigned</span> get_sample_rate() <span class="keyword">const</span>;
00323             <span class="keywordtype">unsigned</span> get_channels() <span class="keyword">const</span>;
00324             <span class="keywordtype">unsigned</span> get_bits_per_sample() <span class="keyword">const</span>;
00325             FLAC__uint64 get_total_samples() <span class="keyword">const</span>;
00326             <span class="keyword">const</span> FLAC__byte *get_md5sum() <span class="keyword">const</span>;
00327 
00328             <span class="keywordtype">void</span> set_min_blocksize(<span class="keywordtype">unsigned</span> value);
00329             <span class="keywordtype">void</span> set_max_blocksize(<span class="keywordtype">unsigned</span> value);
00330             <span class="keywordtype">void</span> set_min_framesize(<span class="keywordtype">unsigned</span> value);
00331             <span class="keywordtype">void</span> set_max_framesize(<span class="keywordtype">unsigned</span> value);
00332             <span class="keywordtype">void</span> set_sample_rate(<span class="keywordtype">unsigned</span> value);
00333             <span class="keywordtype">void</span> set_channels(<span class="keywordtype">unsigned</span> value);
00334             <span class="keywordtype">void</span> set_bits_per_sample(<span class="keywordtype">unsigned</span> value);
00335             <span class="keywordtype">void</span> set_total_samples(FLAC__uint64 value);
00336             <span class="keywordtype">void</span> set_md5sum(<span class="keyword">const</span> FLAC__byte value[16]);
00338         };
00339 
<a name="l00344"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html">00344</a>         <span class="keyword">class </span>FLACPP_API Padding : <span class="keyword">public</span> Prototype {
00345         <span class="keyword">public</span>:
00346             Padding();
00347 
00349 
<a name="l00352"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga1">00352</a>             <span class="keyword">inline</span> Padding(<span class="keyword">const</span> Padding &amp;object): Prototype(object) { }
00353             <span class="keyword">inline</span> Padding(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
00354             <span class="keyword">inline</span> Padding(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
00356 
<a name="l00360"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga4">00360</a>             <span class="keyword">inline</span> Padding(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
00361 
00362             ~Padding();
00363 
00365 
<a name="l00366"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga6">00366</a>             <span class="keyword">inline</span> Padding &amp;operator=(<span class="keyword">const</span> Padding &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00367             <span class="keyword">inline</span> Padding &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00368             <span class="keyword">inline</span> Padding &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00370 
<a name="l00374"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga9">00374</a>             <span class="keyword">inline</span> Padding &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00375 
00377 
<a name="l00378"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga10">00378</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Padding &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00379             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00380             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00382 
00384 
<a name="l00385"></a><a class="code" href="classFLAC_1_1Metadata_1_1Padding.html#FLAC_1_1Metadata_1_1Paddinga13">00385</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Padding &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00386             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00387             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00389 
00390             <span class="keywordtype">void</span> set_length(<span class="keywordtype">unsigned</span> length);
00391         };
00392 
<a name="l00397"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html">00397</a>         <span class="keyword">class </span>FLACPP_API Application : <span class="keyword">public</span> Prototype {
00398         <span class="keyword">public</span>:
00399             Application();
00400             <span class="comment">//</span>
00402 <span class="comment"></span>
<a name="l00405"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa1">00405</a>             <span class="keyword">inline</span> Application(<span class="keyword">const</span> Application &amp;object): Prototype(object) { }
00406             <span class="keyword">inline</span> Application(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
00407             <span class="keyword">inline</span> Application(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
00409 
<a name="l00413"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa4">00413</a>             <span class="keyword">inline</span> Application(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
00414 
00415             ~Application();
00416 
00418 
<a name="l00419"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa6">00419</a>             <span class="keyword">inline</span> Application &amp;operator=(<span class="keyword">const</span> Application &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00420             <span class="keyword">inline</span> Application &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00421             <span class="keyword">inline</span> Application &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00423 
<a name="l00427"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa9">00427</a>             <span class="keyword">inline</span> Application &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00428 
00430 
<a name="l00431"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa10">00431</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Application &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00432             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00433             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00435 
00437 
<a name="l00438"></a><a class="code" href="classFLAC_1_1Metadata_1_1Application.html#FLAC_1_1Metadata_1_1Applicationa13">00438</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Application &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00439             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00440             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00442 
00443             <span class="keyword">const</span> FLAC__byte *get_id() <span class="keyword">const</span>;
00444             <span class="keyword">const</span> FLAC__byte *get_data() <span class="keyword">const</span>;
00445 
00446             <span class="keywordtype">void</span> set_id(<span class="keyword">const</span> FLAC__byte value[4]);
00448             <span class="keywordtype">bool</span> set_data(<span class="keyword">const</span> FLAC__byte *data, <span class="keywordtype">unsigned</span> length);
00449             <span class="keywordtype">bool</span> set_data(FLAC__byte *data, <span class="keywordtype">unsigned</span> length, <span class="keywordtype">bool</span> copy);
00450         };
00451 
<a name="l00456"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html">00456</a>         <span class="keyword">class </span>FLACPP_API SeekTable : <span class="keyword">public</span> Prototype {
00457         <span class="keyword">public</span>:
00458             SeekTable();
00459 
00461 
<a name="l00464"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea1">00464</a>             <span class="keyword">inline</span> SeekTable(<span class="keyword">const</span> SeekTable &amp;object): Prototype(object) { }
00465             <span class="keyword">inline</span> SeekTable(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
00466             <span class="keyword">inline</span> SeekTable(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
00468 
<a name="l00472"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea4">00472</a>             <span class="keyword">inline</span> SeekTable(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
00473 
00474             ~SeekTable();
00475 
00477 
<a name="l00478"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea6">00478</a>             <span class="keyword">inline</span> SeekTable &amp;operator=(<span class="keyword">const</span> SeekTable &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00479             <span class="keyword">inline</span> SeekTable &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00480             <span class="keyword">inline</span> SeekTable &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00482 
<a name="l00486"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea9">00486</a>             <span class="keyword">inline</span> SeekTable &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00487 
00489 
<a name="l00490"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea10">00490</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> SeekTable &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00491             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00492             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00494 
00496 
<a name="l00497"></a><a class="code" href="classFLAC_1_1Metadata_1_1SeekTable.html#FLAC_1_1Metadata_1_1SeekTablea13">00497</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> SeekTable &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00498             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00499             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00501 
00502             <span class="keywordtype">unsigned</span> get_num_points() <span class="keyword">const</span>;
00503             ::FLAC__StreamMetadata_SeekPoint get_point(<span class="keywordtype">unsigned</span> index) <span class="keyword">const</span>;
00504 
00506             <span class="keywordtype">void</span> set_point(<span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> &amp;point);
00507 
00509             <span class="keywordtype">bool</span> insert_point(<span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> &amp;point);
00510 
00512             <span class="keywordtype">bool</span> delete_point(<span class="keywordtype">unsigned</span> index);
00513 
00515             <span class="keywordtype">bool</span> is_legal() <span class="keyword">const</span>;
00516         };
00517 
<a name="l00522"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html">00522</a>         <span class="keyword">class </span>FLACPP_API VorbisComment : <span class="keyword">public</span> Prototype {
00523         <span class="keyword">public</span>:
<a name="l00553"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html">00553</a>             <span class="keyword">class </span>FLACPP_API Entry {
00554             <span class="keyword">public</span>:
00555                 Entry();
00556 
00557                 Entry(<span class="keyword">const</span> <span class="keywordtype">char</span> *field, <span class="keywordtype">unsigned</span> field_length);
00558                 Entry(<span class="keyword">const</span> <span class="keywordtype">char</span> *field); <span class="comment">// assumes \a field is NUL-terminated</span>
00559 
00560                 Entry(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_value, <span class="keywordtype">unsigned</span> field_value_length);
00561                 Entry(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_value); <span class="comment">// assumes \a field_value is NUL-terminated</span>
00562 
00563                 Entry(<span class="keyword">const</span> Entry &amp;entry);
00564 
00565                 Entry &amp;operator=(<span class="keyword">const</span> Entry &amp;entry);
00566 
00567                 <span class="keyword">virtual</span> ~Entry();
00568 
00569                 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>; 
00570 
00571                 <span class="keywordtype">unsigned</span> get_field_length() <span class="keyword">const</span>;
00572                 <span class="keywordtype">unsigned</span> get_field_name_length() <span class="keyword">const</span>;
00573                 <span class="keywordtype">unsigned</span> get_field_value_length() <span class="keyword">const</span>;
00574 
00575                 ::FLAC__StreamMetadata_VorbisComment_Entry get_entry() <span class="keyword">const</span>;
00576                 <span class="keyword">const</span> <span class="keywordtype">char</span> *get_field() <span class="keyword">const</span>;
00577                 <span class="keyword">const</span> <span class="keywordtype">char</span> *get_field_name() <span class="keyword">const</span>;
00578                 <span class="keyword">const</span> <span class="keywordtype">char</span> *get_field_value() <span class="keyword">const</span>;
00579 
00580                 <span class="keywordtype">bool</span> set_field(<span class="keyword">const</span> <span class="keywordtype">char</span> *field, <span class="keywordtype">unsigned</span> field_length);
00581                 <span class="keywordtype">bool</span> set_field(<span class="keyword">const</span> <span class="keywordtype">char</span> *field); <span class="comment">// assumes \a field is NUL-terminated</span>
00582                 <span class="keywordtype">bool</span> set_field_name(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name);
00583                 <span class="keywordtype">bool</span> set_field_value(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_value, <span class="keywordtype">unsigned</span> field_value_length);
00584                 <span class="keywordtype">bool</span> set_field_value(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_value); <span class="comment">// assumes \a field_value is NUL-terminated</span>
00585             <span class="keyword">protected</span>:
00586                 <span class="keywordtype">bool</span> is_valid_;
00587                 ::FLAC__StreamMetadata_VorbisComment_Entry entry_;
00588                 <span class="keywordtype">char</span> *field_name_;
00589                 <span class="keywordtype">unsigned</span> field_name_length_;
00590                 <span class="keywordtype">char</span> *field_value_;
00591                 <span class="keywordtype">unsigned</span> field_value_length_;
00592             <span class="keyword">private</span>:
00593                 <span class="keywordtype">void</span> zero();
00594                 <span class="keywordtype">void</span> clear();
00595                 <span class="keywordtype">void</span> clear_entry();
00596                 <span class="keywordtype">void</span> clear_field_name();
00597                 <span class="keywordtype">void</span> clear_field_value();
00598                 <span class="keywordtype">void</span> construct(<span class="keyword">const</span> <span class="keywordtype">char</span> *field, <span class="keywordtype">unsigned</span> field_length);
00599                 <span class="keywordtype">void</span> construct(<span class="keyword">const</span> <span class="keywordtype">char</span> *field); <span class="comment">// assumes \a field is NUL-terminated</span>
00600                 <span class="keywordtype">void</span> construct(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_value, <span class="keywordtype">unsigned</span> field_value_length);
00601                 <span class="keywordtype">void</span> construct(<span class="keyword">const</span> <span class="keywordtype">char</span> *field_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *field_value); <span class="comment">// assumes \a field_value is NUL-terminated</span>
00602                 <span class="keywordtype">void</span> compose_field();
00603                 <span class="keywordtype">void</span> parse_field();
00604             };
00605 
00606             VorbisComment();
00607 
00609 
<a name="l00612"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta1">00612</a>             <span class="keyword">inline</span> VorbisComment(<span class="keyword">const</span> VorbisComment &amp;object): Prototype(object) { }
00613             <span class="keyword">inline</span> VorbisComment(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
00614             <span class="keyword">inline</span> VorbisComment(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
00616 
<a name="l00620"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta4">00620</a>             <span class="keyword">inline</span> VorbisComment(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
00621 
00622             ~VorbisComment();
00623 
00625 
<a name="l00626"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta6">00626</a>             <span class="keyword">inline</span> VorbisComment &amp;operator=(<span class="keyword">const</span> VorbisComment &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00627             <span class="keyword">inline</span> VorbisComment &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00628             <span class="keyword">inline</span> VorbisComment &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00630 
<a name="l00634"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta9">00634</a>             <span class="keyword">inline</span> VorbisComment &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00635 
00637 
<a name="l00638"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta10">00638</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> VorbisComment &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00639             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00640             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00642 
00644 
<a name="l00645"></a><a class="code" href="classFLAC_1_1Metadata_1_1VorbisComment.html#FLAC_1_1Metadata_1_1VorbisCommenta13">00645</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> VorbisComment &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00646             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00647             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00649 
00650             <span class="keywordtype">unsigned</span> get_num_comments() <span class="keyword">const</span>;
00651             <span class="keyword">const</span> FLAC__byte *get_vendor_string() <span class="keyword">const</span>; <span class="comment">// NUL-terminated UTF-8 string</span>
00652             Entry get_comment(<span class="keywordtype">unsigned</span> index) <span class="keyword">const</span>;
00653 
00655             <span class="keywordtype">bool</span> set_vendor_string(<span class="keyword">const</span> FLAC__byte *string); <span class="comment">// NUL-terminated UTF-8 string</span>
00656 
00658             <span class="keywordtype">bool</span> set_comment(<span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> Entry &amp;entry);
00659 
00661             <span class="keywordtype">bool</span> insert_comment(<span class="keywordtype">unsigned</span> index, <span class="keyword">const</span> Entry &amp;entry);
00662 
00664             <span class="keywordtype">bool</span> append_comment(<span class="keyword">const</span> Entry &amp;entry);
00665 
00667             <span class="keywordtype">bool</span> delete_comment(<span class="keywordtype">unsigned</span> index);
00668         };
00669 
<a name="l00674"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html">00674</a>         <span class="keyword">class </span>FLACPP_API CueSheet : <span class="keyword">public</span> Prototype {
00675         <span class="keyword">public</span>:
<a name="l00682"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html">00682</a>             <span class="keyword">class </span>FLACPP_API Track {
00683             <span class="keyword">protected</span>:
00684                 ::FLAC__StreamMetadata_CueSheet_Track *object_;
00685             <span class="keyword">public</span>:
00686                 Track();
00687                 Track(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *track);
00688                 Track(<span class="keyword">const</span> Track &amp;track);
00689                 Track &amp;operator=(<span class="keyword">const</span> Track &amp;track);
00690 
00691                 <span class="keyword">virtual</span> ~Track();
00692 
00693                 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>; 
00694 
00695 
00696                 <span class="keyword">inline</span> FLAC__uint64 get_offset()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_-&gt;offset; }
00697                 <span class="keyword">inline</span> FLAC__byte get_number()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_-&gt;number; }
00698                 <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *get_isrc()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_-&gt;isrc; }
00699                 <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> get_type()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_-&gt;type; }
00700                 <span class="keyword">inline</span> <span class="keywordtype">bool</span> get_pre_emphasis()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_-&gt;pre_emphasis; }
00701 
00702                 <span class="keyword">inline</span> FLAC__byte get_num_indices()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_-&gt;num_indices; }
00703                 ::FLAC__StreamMetadata_CueSheet_Index get_index(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>;
00704 
00705                 <span class="keyword">inline</span> const ::FLAC__StreamMetadata_CueSheet_Track *get_track()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> object_; }
00706 
00707                 <span class="keyword">inline</span> <span class="keywordtype">void</span> set_offset(FLAC__uint64 value) { object_-&gt;offset = value; }
00708                 <span class="keyword">inline</span> <span class="keywordtype">void</span> set_number(FLAC__byte value) { object_-&gt;number = value; }
00709                 <span class="keywordtype">void</span> set_isrc(<span class="keyword">const</span> <span class="keywordtype">char</span> value[12]);
00710                 <span class="keywordtype">void</span> set_type(<span class="keywordtype">unsigned</span> value);
00711                 <span class="keyword">inline</span> <span class="keywordtype">void</span> set_pre_emphasis(<span class="keywordtype">bool</span> value) { object_-&gt;pre_emphasis = value? 1 : 0; }
00712 
00713                 <span class="keywordtype">void</span> set_index(<span class="keywordtype">unsigned</span> i, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> &amp;index);
00714                 <span class="comment">//@@@ It's awkward but to insert/delete index points</span>
00715                 <span class="comment">//@@@ you must use the routines in the CueSheet class.</span>
00716             };
00717 
00718             CueSheet();
00719 
00721 
<a name="l00724"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta1">00724</a>             <span class="keyword">inline</span> CueSheet(<span class="keyword">const</span> CueSheet &amp;object): Prototype(object) { }
00725             <span class="keyword">inline</span> CueSheet(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
00726             <span class="keyword">inline</span> CueSheet(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
00728 
<a name="l00732"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta4">00732</a>             <span class="keyword">inline</span> CueSheet(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
00733 
00734             ~CueSheet();
00735 
00737 
<a name="l00738"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta6">00738</a>             <span class="keyword">inline</span> CueSheet &amp;operator=(<span class="keyword">const</span> CueSheet &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00739             <span class="keyword">inline</span> CueSheet &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00740             <span class="keyword">inline</span> CueSheet &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00742 
<a name="l00746"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta9">00746</a>             <span class="keyword">inline</span> CueSheet &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00747 
00749 
<a name="l00750"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta10">00750</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> CueSheet &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00751             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00752             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00754 
00756 
<a name="l00757"></a><a class="code" href="classFLAC_1_1Metadata_1_1CueSheet.html#FLAC_1_1Metadata_1_1CueSheeta13">00757</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> CueSheet &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00758             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00759             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00761 
00762             <span class="keyword">const</span> <span class="keywordtype">char</span> *get_media_catalog_number() <span class="keyword">const</span>;
00763             FLAC__uint64 get_lead_in() <span class="keyword">const</span>;
00764             <span class="keywordtype">bool</span> get_is_cd() <span class="keyword">const</span>;
00765 
00766             <span class="keywordtype">unsigned</span> get_num_tracks() <span class="keyword">const</span>;
00767             Track get_track(<span class="keywordtype">unsigned</span> i) <span class="keyword">const</span>;
00768 
00769             <span class="keywordtype">void</span> set_media_catalog_number(<span class="keyword">const</span> <span class="keywordtype">char</span> value[128]);
00770             <span class="keywordtype">void</span> set_lead_in(FLAC__uint64 value);
00771             <span class="keywordtype">void</span> set_is_cd(<span class="keywordtype">bool</span> value);
00772 
00773             <span class="keywordtype">void</span> set_index(<span class="keywordtype">unsigned</span> track_num, <span class="keywordtype">unsigned</span> index_num, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> &amp;index);
00774 
00776             <span class="keywordtype">bool</span> insert_index(<span class="keywordtype">unsigned</span> track_num, <span class="keywordtype">unsigned</span> index_num, <span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> &amp;index);
00777 
00779             <span class="keywordtype">bool</span> delete_index(<span class="keywordtype">unsigned</span> track_num, <span class="keywordtype">unsigned</span> index_num);
00780 
00782             <span class="keywordtype">bool</span> set_track(<span class="keywordtype">unsigned</span> i, <span class="keyword">const</span> Track &amp;track);
00783 
00785             <span class="keywordtype">bool</span> insert_track(<span class="keywordtype">unsigned</span> i, <span class="keyword">const</span> Track &amp;track);
00786 
00788             <span class="keywordtype">bool</span> delete_track(<span class="keywordtype">unsigned</span> i);
00789 
00791             <span class="keywordtype">bool</span> is_legal(<span class="keywordtype">bool</span> check_cd_da_subset = <span class="keyword">false</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> **violation = 0) <span class="keyword">const</span>;
00792 
00794             FLAC__uint32 calculate_cddb_id() <span class="keyword">const</span>;
00795         };
00796 
<a name="l00801"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html">00801</a>         <span class="keyword">class </span>FLACPP_API Picture : <span class="keyword">public</span> Prototype {
00802         <span class="keyword">public</span>:
00803             Picture();
00804 
00806 
<a name="l00809"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea1">00809</a>             <span class="keyword">inline</span> Picture(<span class="keyword">const</span> Picture &amp;object): Prototype(object) { }
00810             <span class="keyword">inline</span> Picture(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
00811             <span class="keyword">inline</span> Picture(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
00813 
<a name="l00817"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea4">00817</a>             <span class="keyword">inline</span> Picture(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
00818 
00819             ~Picture();
00820 
00822 
<a name="l00823"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea6">00823</a>             <span class="keyword">inline</span> Picture &amp;operator=(<span class="keyword">const</span> Picture &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00824             <span class="keyword">inline</span> Picture &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00825             <span class="keyword">inline</span> Picture &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00827 
<a name="l00831"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea9">00831</a>             <span class="keyword">inline</span> Picture &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00832 
00834 
<a name="l00835"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea10">00835</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Picture &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00836             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00837             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00839 
00841 
<a name="l00842"></a><a class="code" href="classFLAC_1_1Metadata_1_1Picture.html#FLAC_1_1Metadata_1_1Picturea13">00842</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Picture &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00843             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00844             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00846 <a class="code" href="group__flac__format.html#ga114"></a>
00847 <a class="code" href="group__flac__format.html#ga114">			::FLAC__StreamMetadata_Picture_Type</a> get_type() <span class="keyword">const</span>;
00848             <span class="keyword">const</span> <span class="keywordtype">char</span> *get_mime_type() <span class="keyword">const</span>; <span class="comment">// NUL-terminated printable ASCII string</span>
00849             <span class="keyword">const</span> FLAC__byte *get_description() <span class="keyword">const</span>; <span class="comment">// NUL-terminated UTF-8 string</span>
00850             FLAC__uint32 get_width() <span class="keyword">const</span>;
00851             FLAC__uint32 get_height() <span class="keyword">const</span>;
00852             FLAC__uint32 get_depth() <span class="keyword">const</span>;
00853             FLAC__uint32 get_colors() <span class="keyword">const</span>; 
00854             FLAC__uint32 get_data_length() <span class="keyword">const</span>;
00855             <span class="keyword">const</span> FLAC__byte *get_data() <span class="keyword">const</span>;
00856 
00857             <span class="keywordtype">void</span> set_type(::<a class="code" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type);
00858 
00860             <span class="keywordtype">bool</span> set_mime_type(<span class="keyword">const</span> <span class="keywordtype">char</span> *string); <span class="comment">// NUL-terminated printable ASCII string</span>
00861 
00863             <span class="keywordtype">bool</span> set_description(<span class="keyword">const</span> FLAC__byte *string); <span class="comment">// NUL-terminated UTF-8 string</span>
00864 
00865             <span class="keywordtype">void</span> set_width(FLAC__uint32 value) <span class="keyword">const</span>;
00866             <span class="keywordtype">void</span> set_height(FLAC__uint32 value) <span class="keyword">const</span>;
00867             <span class="keywordtype">void</span> set_depth(FLAC__uint32 value) <span class="keyword">const</span>;
00868             <span class="keywordtype">void</span> set_colors(FLAC__uint32 value) <span class="keyword">const</span>; 
00869 
00871             <span class="keywordtype">bool</span> set_data(<span class="keyword">const</span> FLAC__byte *data, FLAC__uint32 data_length);
00872         };
00873 
<a name="l00880"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html">00880</a>         <span class="keyword">class </span>FLACPP_API Unknown : <span class="keyword">public</span> Prototype {
00881         <span class="keyword">public</span>:
00882             Unknown();
00883             <span class="comment">//</span>
00885 <span class="comment"></span>
<a name="l00888"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna1">00888</a>             <span class="keyword">inline</span> Unknown(<span class="keyword">const</span> Unknown &amp;object): Prototype(object) { }
00889             <span class="keyword">inline</span> Unknown(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object): Prototype(object) { }
00890             <span class="keyword">inline</span> Unknown(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object): Prototype(object) { }
00892 
<a name="l00896"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna4">00896</a>             <span class="keyword">inline</span> Unknown(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy): Prototype(object, copy) { }
00897 
00898             ~Unknown();
00899 
00901 
<a name="l00902"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna6">00902</a>             <span class="keyword">inline</span> Unknown &amp;operator=(<span class="keyword">const</span> Unknown &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00903             <span class="keyword">inline</span> Unknown &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00904             <span class="keyword">inline</span> Unknown &amp;operator=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1Prototypeb4">Prototype::operator=</a>(object); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00906 
<a name="l00910"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna9">00910</a>             <span class="keyword">inline</span> Unknown &amp;assign(::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object, <span class="keywordtype">bool</span> copy) { <a class="code" href="classFLAC_1_1Metadata_1_1Prototype.html#FLAC_1_1Metadata_1_1VorbisCommentb0">Prototype::assign_object</a>(object, copy); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
00911 
00913 
<a name="l00914"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna10">00914</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Unknown &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00915             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00916             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga1">Prototype::operator==</a>(object); }
00918 
00920 
<a name="l00921"></a><a class="code" href="classFLAC_1_1Metadata_1_1Unknown.html#FLAC_1_1Metadata_1_1Unknowna13">00921</a>             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Unknown &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00922             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> &amp;object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00923             <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> ::<a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a> *object)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__flacpp__metadata__object.html#ga4">Prototype::operator!=</a>(object); }
00925 
00926             <span class="keyword">const</span> FLAC__byte *get_data() <span class="keyword">const</span>;
00927 
00929             <span class="keywordtype">bool</span> set_data(<span class="keyword">const</span> FLAC__byte *data, <span class="keywordtype">unsigned</span> length);
00930             <span class="keywordtype">bool</span> set_data(FLAC__byte *data, <span class="keywordtype">unsigned</span> length, <span class="keywordtype">bool</span> copy);
00931         };
00932 
00933         <span class="comment">/* \} */</span>
00934 
00935 
00948         FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga0">get_streaminfo</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, StreamInfo &amp;streaminfo); 
00949 
00950         FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga1">get_tags</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, VorbisComment *&amp;tags); 
00951         FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga1">get_tags</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, VorbisComment &amp;tags); 
00952 
00953         FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga3">get_cuesheet</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, CueSheet *&amp;cuesheet); 
00954         FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga3">get_cuesheet</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, CueSheet &amp;cuesheet); 
00955 
00956         FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga5">get_picture</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, Picture *&amp;picture, ::<a class="code" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <span class="keyword">const</span> FLAC__byte *description, <span class="keywordtype">unsigned</span> max_width, <span class="keywordtype">unsigned</span> max_height, <span class="keywordtype">unsigned</span> max_depth, <span class="keywordtype">unsigned</span> max_colors); 
00957         FLACPP_API <span class="keywordtype">bool</span> <a class="code" href="group__flacpp__metadata__level0.html#ga5">get_picture</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, Picture &amp;picture, ::<a class="code" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *mime_type, <span class="keyword">const</span> FLAC__byte *description, <span class="keywordtype">unsigned</span> max_width, <span class="keywordtype">unsigned</span> max_height, <span class="keywordtype">unsigned</span> max_depth, <span class="keywordtype">unsigned</span> max_colors); 
00958 
00959         <span class="comment">/* \} */</span>
00960 
00961 
<a name="l00996"></a><a class="code" href="classFLAC_1_1Metadata_1_1SimpleIterator.html">00996</a>         <span class="keyword">class </span>FLACPP_API SimpleIterator {
00997         <span class="keyword">public</span>:
<a name="l01000"></a><a class="code" href="classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html">01000</a>             <span class="keyword">class </span>FLACPP_API Status {
01001             <span class="keyword">public</span>:
01002                 <span class="keyword">inline</span> Status(::<a class="code" href="group__flac__metadata__level1.html#ga18">FLAC__Metadata_SimpleIteratorStatus</a> status): status_(status) { }
01003                 <span class="keyword">inline</span> <a class="code" href="group__flac__metadata__level1.html#ga18">operator ::FLAC__Metadata_SimpleIteratorStatus</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> status_; }
01004                 <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *as_cstring()<span class="keyword"> const </span>{ <a class="code" href="group__flac__metadata__level1.html#ga1">return ::FLAC__Metadata_SimpleIteratorStatusString</a>[status_]; }
01005             <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level1.html#ga18"></a>
01006 <a class="code" href="group__flac__metadata__level1.html#ga18">				::FLAC__Metadata_SimpleIteratorStatus</a> status_;
01007             };
01008 
01009             SimpleIterator();
01010             <span class="keyword">virtual</span> ~SimpleIterator();
01011 
01012             <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>; 
01013 
01014             <span class="keywordtype">bool</span> init(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <span class="keywordtype">bool</span> read_only, <span class="keywordtype">bool</span> preserve_file_stats); 
01015 
01016             Status status();                                                    
01017             <span class="keywordtype">bool</span> is_writable() <span class="keyword">const</span>;                                           
01018 
01019             <span class="keywordtype">bool</span> next();                                                        
01020             <span class="keywordtype">bool</span> prev();                                                        
01021             <span class="keywordtype">bool</span> is_last() <span class="keyword">const</span>;                                               
01022 
01023             off_t get_block_offset() <span class="keyword">const</span>;                                     
01024 <a class="code" href="group__flac__format.html#ga113">			::FLAC__MetadataType</a> get_block_type() <span class="keyword">const</span>;                        
01025             <span class="keywordtype">unsigned</span> get_block_length() <span class="keyword">const</span>;                                  
01026             <span class="keywordtype">bool</span> get_application_id(FLAC__byte *<span class="keywordtype">id</span>);                            
01027             Prototype *get_block();                                             
01028             <span class="keywordtype">bool</span> set_block(Prototype *block, <span class="keywordtype">bool</span> use_padding = <span class="keyword">true</span>);          
01029             <span class="keywordtype">bool</span> insert_block_after(Prototype *block, <span class="keywordtype">bool</span> use_padding = <span class="keyword">true</span>); 
01030             <span class="keywordtype">bool</span> delete_block(<span class="keywordtype">bool</span> use_padding = <span class="keyword">true</span>);                         
01031 
01032         <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level1.html#ga0"></a>
01033 <a class="code" href="group__flac__metadata__level1.html#ga0">			::FLAC__Metadata_SimpleIterator</a> *iterator_;
01034             <span class="keywordtype">void</span> clear();
01035         };
01036 
01037         <span class="comment">/* \} */</span>
01038 
01039 
<a name="l01082"></a><a class="code" href="classFLAC_1_1Metadata_1_1Chain.html">01082</a>         <span class="keyword">class </span>FLACPP_API Chain {
01083         <span class="keyword">public</span>:
<a name="l01086"></a><a class="code" href="classFLAC_1_1Metadata_1_1Chain_1_1Status.html">01086</a>             <span class="keyword">class </span>FLACPP_API Status {
01087             <span class="keyword">public</span>:
01088                 <span class="keyword">inline</span> Status(::<a class="code" href="group__flac__metadata__level2.html#ga27">FLAC__Metadata_ChainStatus</a> status): status_(status) { }
01089                 <span class="keyword">inline</span> <a class="code" href="group__flac__metadata__level2.html#ga27">operator ::FLAC__Metadata_ChainStatus</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> status_; }
01090                 <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *as_cstring()<span class="keyword"> const </span>{ <a class="code" href="group__flac__metadata__level2.html#ga2">return ::FLAC__Metadata_ChainStatusString</a>[status_]; }
01091             <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level2.html#ga27"></a>
01092 <a class="code" href="group__flac__metadata__level2.html#ga27">				::FLAC__Metadata_ChainStatus</a> status_;
01093             };
01094 
01095             Chain();
01096             <span class="keyword">virtual</span> ~Chain();
01097 
01098             <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classFLAC_1_1Metadata_1_1Iterator.html">Iterator</a>;
01099 
01100             <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>; 
01101 
01102             Status status();                                                
01103 
01104             <span class="keywordtype">bool</span> read(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <span class="keywordtype">bool</span> is_ogg = <span class="keyword">false</span>);                                
01105             <span class="keywordtype">bool</span> read(<a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, <a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks, <span class="keywordtype">bool</span> is_ogg = <span class="keyword">false</span>);  
01106 
01107             <span class="keywordtype">bool</span> check_if_tempfile_needed(<span class="keywordtype">bool</span> use_padding);                
01108 
01109             <span class="keywordtype">bool</span> write(<span class="keywordtype">bool</span> use_padding = <span class="keyword">true</span>, <span class="keywordtype">bool</span> preserve_file_stats = <span class="keyword">false</span>); 
01110             <span class="keywordtype">bool</span> write(<span class="keywordtype">bool</span> use_padding, ::<a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, ::<a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks); 
01111             <span class="keywordtype">bool</span> write(<span class="keywordtype">bool</span> use_padding, ::<a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> handle, ::<a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> callbacks, ::<a class="code" href="group__flac__callbacks.html#ga0">FLAC__IOHandle</a> temp_handle, ::<a class="code" href="structFLAC____IOCallbacks.html">FLAC__IOCallbacks</a> temp_callbacks); 
01112 
01113             <span class="keywordtype">void</span> merge_padding();                                           
01114             <span class="keywordtype">void</span> sort_padding();                                            
01115 
01116         <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level2.html#ga0"></a>
01117 <a class="code" href="group__flac__metadata__level2.html#ga0">			::FLAC__Metadata_Chain</a> *chain_;
01118             <span class="keyword">virtual</span> <span class="keywordtype">void</span> clear();
01119         };
01120 
<a name="l01126"></a><a class="code" href="classFLAC_1_1Metadata_1_1Iterator.html">01126</a>         <span class="keyword">class </span>FLACPP_API Iterator {
01127         <span class="keyword">public</span>:
01128             Iterator();
01129             <span class="keyword">virtual</span> ~Iterator();
01130 
01131             <span class="keywordtype">bool</span> is_valid() <span class="keyword">const</span>; 
01132 
01133 
01134             <span class="keywordtype">void</span> init(Chain &amp;chain);                       
01135 
01136             <span class="keywordtype">bool</span> next();                                   
01137             <span class="keywordtype">bool</span> prev();                                   
01138 <a class="code" href="group__flac__format.html#ga113"></a>
01139 <a class="code" href="group__flac__format.html#ga113">			::FLAC__MetadataType</a> get_block_type() <span class="keyword">const</span>;   
01140             Prototype *get_block();                        
01141             <span class="keywordtype">bool</span> set_block(Prototype *block);              
01142             <span class="keywordtype">bool</span> delete_block(<span class="keywordtype">bool</span> replace_with_padding);  
01143             <span class="keywordtype">bool</span> insert_block_before(Prototype *block);    
01144             <span class="keywordtype">bool</span> insert_block_after(Prototype *block);     
01145 
01146         <span class="keyword">protected</span>:<a class="code" href="group__flac__metadata__level2.html#ga1"></a>
01147 <a class="code" href="group__flac__metadata__level2.html#ga1">			::FLAC__Metadata_Iterator</a> *iterator_;
01148             <span class="keyword">virtual</span> <span class="keywordtype">void</span> clear();
01149         };
01150 
01151         <span class="comment">/* \} */</span>
01152 
01153     }
01154 }
01155 
01156 <span class="preprocessor">#endif</span>
</pre></div>
<hr size="1">
<div class="copyright">
	<!-- @@@ oh so hacky -->
	<table>
		<tr>
			<td align="left">
				Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson
			</td>
			<td width="1%" align="right">
				<a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
			</td>
		</tr>
	</table>
</div>
<!-- Copyright (c)  2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson -->
<!-- Permission is granted to copy, distribute and/or modify this document -->
<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
<!-- or any later version published by the Free Software Foundation; -->
<!-- with no invariant sections. -->
<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
</body>
</html>