📄 aflibmemcache_8h-source.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>aflibMemCache.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.15 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center><hr><h1>aflibMemCache.h</h1><a href="aflibMemCache_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>00002 <font class="comment"> * Copyright: (C) 2000-2001 Bruce W. Forsberg</font>00003 <font class="comment"> *</font>00004 <font class="comment"> * This library is free software; you can redistribute it and/or</font>00005 <font class="comment"> * modify it under the terms of the GNU Lesser General Public</font>00006 <font class="comment"> * License as published by the Free Software Foundation; either</font>00007 <font class="comment"> * version 2.1 of the License, or any later version.</font>00008 <font class="comment"> *</font>00009 <font class="comment"> * This library is distributed in the hope that it will be useful,</font>00010 <font class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</font>00011 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font>00012 <font class="comment"> * Lesser General Public License for more details.</font>00013 <font class="comment"> *</font>00014 <font class="comment"> * You should have received a copy of the GNU Lesser General Public</font>00015 <font class="comment"> * License along with this library; if not, write to the Free Software</font>00016 <font class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</font>00017 <font class="comment"> *</font>00018 <font class="comment"> * Bruce Forsberg forsberg@tns.net</font>00019 <font class="comment"> *</font>00020 <font class="comment"> */</font>00021 00022 00023 <font class="preprocessor">#ifndef _AFLIBMEMCACHE_H</font>00024 <font class="preprocessor"></font><font class="preprocessor">#define _AFLIBMEMCACHE_H</font>00025 <font class="preprocessor"></font>00026 00027 <font class="preprocessor">#ifdef HAVE_CONFIG_H</font>00028 <font class="preprocessor"></font><font class="preprocessor">#include <config.h></font>00029 <font class="preprocessor">#endif</font>00030 <font class="preprocessor"></font>00055 <font class="keyword">class </font><a class="code" href="classaflibData.html">aflibData</a>;00056 <font class="keyword">class </font><a class="code" href="classaflibMemNode.html">aflibMemNode</a>;00057 00058 <font class="preprocessor">#include <map></font>00059 <font class="keyword">using</font> std::map;00060 00061 <font class="keyword">class </font><a class="code" href="classaflibMemCache.html">aflibMemCache</a> {00062 00063 <font class="keyword">public</font>:00064 00065 <a class="code" href="classaflibMemCache.html#a0">aflibMemCache</a>();00066 00067 <font class="keyword">virtual</font>00068 <a class="code" href="classaflibMemCache.html#a1">~aflibMemCache</a>();00069 00070 <font class="keywordtype">bool</font>00071 <a class="code" href="classaflibMemCache.html#a2">getCacheEnable</a>();00072 00073 <font class="keywordtype">void</font>00074 <a class="code" href="classaflibMemCache.html#a3">setCacheEnable</a>(<font class="keywordtype">bool</font> enable);00075 00076 <font class="keywordtype">long</font> <font class="keywordtype">long</font>00077 <a class="code" href="classaflibMemCache.html#a4">getCacheMax</a>() <font class="keyword">const</font>;00078 00079 <font class="keywordtype">long</font> <font class="keywordtype">long</font>00080 <a class="code" href="classaflibMemCache.html#a5">getCacheTotal</a>() <font class="keyword">const</font>;00081 00082 <font class="keywordtype">long</font> <font class="keywordtype">long</font>00083 <a class="code" href="classaflibMemCache.html#a6">getCacheLocal</a>() <font class="keyword">const</font>;00084 00085 <font class="keywordtype">void</font>00086 <a class="code" href="classaflibMemCache.html#a7">clearCache</a>();00087 00088 <font class="keyword">protected</font>:00089 00090 <font class="keywordtype">void</font>00091 <a class="code" href="classaflibMemCache.html#b0">lookupData</a>(00092 <font class="keywordtype">long</font> <font class="keywordtype">long</font>& position,00093 <font class="keywordtype">int</font>& num_samples);00094 00095 <font class="keywordtype">void</font>00096 <a class="code" href="classaflibMemCache.html#b1">fillDataFromCache</a>(00097 <a class="code" href="classaflibData.html">aflibData</a>& data,00098 <font class="keywordtype">long</font> <font class="keywordtype">long</font>& position,00099 <font class="keywordtype">int</font>& num_samples,00100 <font class="keywordtype">long</font> <font class="keywordtype">long</font> orig_position,00101 <font class="keywordtype">int</font> orig_num_samples);00102 00103 <font class="keyword">private</font>:00104 00105 <a class="code" href="classaflibMemCache.html#a0">aflibMemCache</a>(<a class="code" href="classaflibMemCache.html">aflibMemCache</a>& op);00106 00107 <font class="keyword">const</font> <a class="code" href="classaflibMemCache.html">aflibMemCache</a>&00108 operator=(<font class="keyword">const</font> <a class="code" href="classaflibMemCache.html">aflibMemCache</a>& op);00109 00110 <font class="keywordtype">void</font>00111 calcPosition(00112 <font class="keywordtype">long</font> <font class="keywordtype">long</font>& position,00113 <font class="keywordtype">int</font>& num_samples,00114 map< long long, aflibMemNode* >::iterator it);00115 00116 <font class="keywordtype">void</font>00117 reduceCache();00118 00119 <font class="keywordtype">bool</font>00120 checkExistingNode(00121 <font class="keywordtype">long</font> <font class="keywordtype">long</font> position,00122 <a class="code" href="classaflibData.html">aflibData</a>& data);00123 00124 <font class="keywordtype">void</font>00125 createNewNode(00126 <font class="keywordtype">int</font> start_element,00127 <font class="keywordtype">int</font> stop_element,00128 <font class="keywordtype">long</font> <font class="keywordtype">long</font> position,00129 <a class="code" href="classaflibData.html">aflibData</a>& data); 00130 00131 <font class="keywordtype">void</font>00132 cacheData(00133 <font class="keywordtype">long</font> <font class="keywordtype">long</font> position,00134 <a class="code" href="classaflibData.html">aflibData</a>& data);00135 00136 <font class="keywordtype">long</font> <font class="keywordtype">long</font> _cache_counter;00137 <font class="keywordtype">long</font> <font class="keywordtype">long</font> _cache_size_max;00138 <font class="keyword">static</font> <font class="keywordtype">long</font> <font class="keywordtype">long</font> _cache_size_total;00139 <font class="keywordtype">long</font> <font class="keywordtype">long</font> _cache_size_local;00140 <font class="keywordtype">bool</font> _enable;00141 map< long long, aflibMemNode* > _node_array;00142 00143 00144 };00145 00146 <font class="preprocessor">#endif</font>00147 <font class="preprocessor"></font>00148 </pre></div><hr><address align="right"><small>Generated on Wed May 8 20:51:06 2002 for Open Source Audio Library Project by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.15 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -