view src/flac-1.2.1/doc/html/api/+_2metadata_8h-source.html @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 05aa0afa9217
children
line wrap: on
line source
<!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>