亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? buffer__2_8h-source.html

?? 用來介紹ZIG Library游戲網絡引擎的文檔
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
<!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>buffer_2.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center><hr><h1>buffer_2.h</h1><div class="fragment"><pre>00001 <span class="comment">/*</span>00002 <span class="comment">    ZIG - An extendable, portable game engine focused on networking &amp; scripting</span>00003 <span class="comment">    Project Home: http://zige.sourceforge.net</span>00004 <span class="comment">    Copyright (C) 2002  F醔io Reis Cecin &lt;fcecin AT inf DOT ufrgs DOT br&gt;</span>00005 <span class="comment"></span>00006 <span class="comment">    This library is free software; you can redistribute it and/or</span>00007 <span class="comment">    modify it under the terms of the GNU Lesser General Public</span>00008 <span class="comment">    License as published by the Free Software Foundation; either</span>00009 <span class="comment">    version 2.1 of the License, or (at your option) any later version.</span>00010 <span class="comment"></span>00011 <span class="comment">    This library is distributed in the hope that it will be useful,</span>00012 <span class="comment">    but WITHOUT ANY WARRANTY; without even the implied warranty of</span>00013 <span class="comment">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span>00014 <span class="comment">    Lesser General Public License for more details.</span>00015 <span class="comment"></span>00016 <span class="comment">    You should have received a copy of the GNU Lesser General Public</span>00017 <span class="comment">    License along with this library; if not, write to the Free Software</span>00018 <span class="comment">    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA   </span>00019 <span class="comment">*/</span>00020 <span class="comment">/*</span>00021 <span class="comment"></span>00022 <span class="comment">        shared buffer, version 2 - no base class</span>00023 <span class="comment"></span>00024 <span class="comment">        assignment and copy ctor makes DEEP COPY</span>00025 <span class="comment"></span>00026 <span class="comment">        debug the refcounted version + copy on write later, when this version is already working OK.</span>00027 <span class="comment"></span>00028 <span class="comment">*/</span>00029 00030 <span class="keyword">class </span><a class="code" href="classbuffer__c.html">buffer_c</a>;00031 <a name="l00033"></a><a class="code" href="classserializable__c.html">00033</a> <span class="keyword">class </span><a class="code" href="classserializable__c.html">serializable_c</a> {00034 <span class="keyword">public</span>:00035         00042         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classserializable__c.html#a0">read</a>(<a class="code" href="classbuffer__c.html">buffer_c</a> &amp;in);00043 00050         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classserializable__c.html#a1">write</a>(<a class="code" href="classbuffer__c.html">buffer_c</a> &amp;out) <span class="keyword">const</span>;00051 00052         <span class="comment">// this method is defined by the magic macro ZIG_SERIALIZABLE_CLASS (see typereg.h). this is</span>00053         <span class="comment">// one of the reasons why you need to include ZIG_SERIALIZABLE_CLASS(X) in class X to be </span>00054         <span class="comment">// serializable.</span>00055         <span class="keyword">virtual</span> <span class="keywordtype">int</span> ZIG_GetTypeId() <span class="keyword">const</span> = 0;00056 00057         <span class="comment">// this method is defined by the magic macro ZIG_SERIALIZABLE_CLASS (see typereg.h). this allows</span>00058         <span class="comment">// us to implement the "default serialization" mechanism (which is just a bitwise memcpy).</span>00059         <span class="keyword">virtual</span> <span class="keywordtype">int</span> ZIG_GetMySizeof()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">sizeof</span>(serializable_c); };00060 };00061 00062 <span class="comment">//define this to make access to a single instance of buffer_c not synchronized</span>00063 <span class="preprocessor">#define BUFFER_NO_SYNC</span>00064 <span class="preprocessor"></span>00065 <span class="comment">//define this to disable statistics collection on buffers</span>00066 <span class="preprocessor">#define BUFFER_NO_STATS</span>00067 <span class="preprocessor"></span>00068 <span class="comment">// includes</span>00069 <span class="preprocessor">#include "zigdefs.h"</span>00070 <span class="preprocessor">#include "thread.h"</span>00071 <span class="preprocessor">#include &lt;string&gt;</span>00072 <span class="keyword">using</span> <span class="keyword">namespace </span>std;00073 00074 <span class="comment">//this is the buffer's allocation unit. if big: less alocation, more wasted memory. if small, too much</span>00075 <span class="comment">//allocation, possibly less wasted memory</span>00076 <span class="preprocessor">#define BUFFER_CHUNK_SIZE 128</span>00077 <span class="preprocessor"></span>00078 00079 <span class="preprocessor">#ifndef BUFFER_NO_STATS</span>00080 <span class="preprocessor"></span>00081 <span class="keyword">extern</span> mutex_c cbuffer_mutex;00082 <span class="keyword">extern</span> <span class="keyword">volatile</span> <span class="keywordtype">int</span> cbuffer_count;00083 <span class="keyword">extern</span> <span class="keyword">volatile</span> <span class="keywordtype">int</span> cbuffer_totmem;00084 <span class="keyword">extern</span> <span class="keyword">volatile</span> <span class="keywordtype">int</span> cbuffer_maxmem;00085 00086 <span class="keywordtype">void</span> check_cbuffer_maxmem(<span class="keywordtype">int</span> yeah);00087 00088 <span class="preprocessor">#endif</span>00089 <span class="preprocessor"></span>00090 <span class="comment">// shared buffer reg - a growable buffer</span>00091 <span class="keyword">class </span>buffer_t {00092 <span class="keyword">public</span>:00093         <span class="keywordtype">char</span> *data;             <span class="comment">//pointer to buffer</span>00094         <span class="keywordtype">int</span>     alen;                   <span class="comment">//allocated length</span>00095         <span class="keywordtype">int</span> ulen;                       <span class="comment">//used length</span>00096         buffer_t() {00097                 data = 0;00098                 alen = 0;00099                 ulen = 0;00100         }00101 };00102 00104 <span class="comment">//concrete subclass of shared_c</span><a name="l00105"></a><a class="code" href="classbuffer__c.html">00105</a> <span class="keyword">class </span><a class="code" href="classbuffer__c.html">buffer_c</a> {00106 <span class="keyword">public</span>:00107 00109         <a class="code" href="classbuffer__c.html#a0">buffer_c</a>();00110 00112         <a class="code" href="classbuffer__c.html#a0">buffer_c</a>(<span class="keywordtype">int</span> <a class="code" href="classbuffer__c.html#a14">size</a>);00113 00115         <a class="code" href="classbuffer__c.html#a0">buffer_c</a>(<span class="keyword">const</span> <a class="code" href="classbuffer__c.html">buffer_c</a> &amp;b);00116 00118         <a class="code" href="classbuffer__c.html">buffer_c</a>&amp; <a class="code" href="classbuffer__c.html#a3">operator=</a>(<span class="keyword">const</span> <a class="code" href="classbuffer__c.html">buffer_c</a> &amp;b);00119 00121         <span class="keyword">virtual</span> <a class="code" href="classbuffer__c.html#a4">~buffer_c</a>();00122 00126         <span class="keywordtype">void</span> <a class="code" href="classbuffer__c.html#a5">wrap</a>(<span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> buffer_size);00127 00129         <span class="keywordtype">void</span> <a class="code" href="classbuffer__c.html#a6">purge</a>();00130 00133         <span class="keywordtype">void</span> <a class="code" href="classbuffer__c.html#a7">ensure_capacity</a>(<span class="keywordtype">int</span> capacity);00134 00137         <span class="keywordtype">int</span> <a class="code" href="classbuffer__c.html#a8">get_capacity</a>();00138 00140         <span class="keywordtype">void</span> <a class="code" href="classbuffer__c.html#a9">clear</a>();00141 00143         <span class="keywordtype">void</span> <a class="code" href="classbuffer__c.html#a10">seek</a>(<span class="keywordtype">int</span> ptarg);00144 00146         <span class="keywordtype">void</span> <a class="code" href="classbuffer__c.html#a11">seek_end</a>();00147 00149         <span class="keywordtype">void</span> <a class="code" href="classbuffer__c.html#a12">skip</a>(<span class="keywordtype">int</span> amount);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩三级一区| 亚洲精品在线观看网站| 亚洲欧美日韩人成在线播放| 99久久777色| 亚洲精品成a人| 欧美日韩卡一卡二| 日日摸夜夜添夜夜添国产精品| 欧美久久免费观看| 国产日产亚洲精品系列| 日本不卡的三区四区五区| 欧美美女喷水视频| 看片的网站亚洲| 久久精品亚洲麻豆av一区二区 | 午夜精品久久久久久不卡8050| 欧美欧美欧美欧美首页| 麻豆成人久久精品二区三区红| 欧美va亚洲va香蕉在线| 成人午夜电影久久影院| 亚洲综合一区二区三区| 欧美精品第一页| 国产在线一区二区| 亚洲欧美一区二区三区孕妇| 欧美精品黑人性xxxx| 国产精品一线二线三线精华| 亚洲欧洲成人自拍| 91精品婷婷国产综合久久性色| 精品一区免费av| 亚洲欧洲精品一区二区三区不卡| 欧美精品一二三| 国产成人综合亚洲网站| 一区二区三区在线高清| 精品国产一区a| 一本高清dvd不卡在线观看| 日本不卡的三区四区五区| 国产精品色婷婷久久58| 91精品啪在线观看国产60岁| 波多野结衣视频一区| 日韩精品视频网| 极品少妇xxxx偷拍精品少妇| 国产精品福利一区| 欧美电影一区二区三区| 91免费看视频| 国内精品伊人久久久久影院对白| 一区二区三区久久| 国产三级一区二区| 欧美精品三级日韩久久| aa级大片欧美| 国产精品一区二区无线| 性做久久久久久久久| 日韩理论电影院| 国产色一区二区| 日韩一区二区免费在线观看| 色综合久久88色综合天天免费| 免费欧美在线视频| 亚洲成精国产精品女| 亚洲欧洲av色图| 久久久99久久| 久久久国产午夜精品| 日韩一区二区在线观看视频| 欧美午夜精品久久久久久孕妇| 国产91丝袜在线18| 韩国毛片一区二区三区| 奇米影视在线99精品| 亚洲成人动漫精品| 亚洲精品视频在线看| 国产精品麻豆欧美日韩ww| 精品成人佐山爱一区二区| 欧美一卡二卡三卡| 欧美日韩夫妻久久| 欧美剧在线免费观看网站| 欧美性欧美巨大黑白大战| 91黄视频在线观看| 91免费版pro下载短视频| eeuss鲁片一区二区三区在线观看| 精品综合免费视频观看| 麻豆精品在线观看| 久久成人免费网| 麻豆91精品91久久久的内涵| 日韩在线一区二区三区| 午夜激情一区二区| 奇米影视一区二区三区小说| 男男gaygay亚洲| 久久99深爱久久99精品| 黄色资源网久久资源365| 久久爱www久久做| 精品在线观看免费| 国产精品亚洲午夜一区二区三区| 国产一区中文字幕| 国产成人三级在线观看| 成人毛片老司机大片| 一本色道久久加勒比精品| 色综合欧美在线| 欧美日韩精品一区二区三区蜜桃| 欧美日韩黄视频| 91精品国产高清一区二区三区| 日韩午夜小视频| 国产清纯在线一区二区www| 国产精品日日摸夜夜摸av| 国产精品卡一卡二卡三| 亚洲一区二区欧美日韩| 日韩电影在线观看电影| 免费在线观看一区二区三区| 国产91精品一区二区麻豆网站 | 欧美精品色一区二区三区| 精品少妇一区二区三区在线播放| 日韩欧美一级片| 国产色产综合色产在线视频| 中文字幕亚洲一区二区av在线| 日韩美女视频一区二区 | 久久综合狠狠综合久久综合88 | 亚洲一级在线观看| 久久精品99国产精品日本| 成人夜色视频网站在线观看| 色琪琪一区二区三区亚洲区| 欧美精品 日韩| 久久亚洲综合色一区二区三区| 国产精品美女久久久久av爽李琼| 亚洲综合另类小说| 国产高清不卡二三区| 色av综合在线| 欧美一区二区三区的| 91精彩视频在线观看| 欧美大片一区二区| 亚洲天堂免费看| 捆绑紧缚一区二区三区视频| 91一区一区三区| 欧美大尺度电影在线| 亚洲免费伊人电影| 狠狠色丁香婷婷综合| 色综合夜色一区| 久久网站热最新地址| 五月激情综合色| 成人免费视频免费观看| 日韩欧美中文一区| 中文字幕一区二区三中文字幕| 日本一区中文字幕| 99久久免费精品高清特色大片| 日韩欧美高清一区| 日韩久久一区二区| 国产成人综合精品三级| 日韩亚洲欧美成人一区| 亚洲激情自拍偷拍| 国产麻豆91精品| 日韩欧美中文字幕一区| 亚洲午夜国产一区99re久久| 国产mv日韩mv欧美| 欧美大肚乱孕交hd孕妇| 五月激情综合网| 91免费观看在线| 中文字幕精品一区| 国产一区二区视频在线| 欧美一卡二卡在线观看| 婷婷夜色潮精品综合在线| 9色porny自拍视频一区二区| 久久久www成人免费毛片麻豆| 视频精品一区二区| 欧美日韩日日夜夜| 亚洲国产成人91porn| 日本韩国精品在线| 亚洲视频一二三区| 不卡一卡二卡三乱码免费网站| 久久久久一区二区三区四区| 精品一区二区三区久久| 91精品国产手机| 美女www一区二区| 欧美一区二区精品在线| 奇米一区二区三区| 日韩一区二区三区视频| 日韩专区欧美专区| 51精品久久久久久久蜜臀| 亚洲成在线观看| 欧美人妇做爰xxxⅹ性高电影| 亚洲一区二区三区中文字幕 | 欧美肥胖老妇做爰| 日本成人中文字幕| 日韩欧美在线123| 蜜桃精品在线观看| 精品久久久久久久久久久久包黑料 | 欧美性色aⅴ视频一区日韩精品| 亚洲激情五月婷婷| 在线观看一区不卡| 偷偷要91色婷婷| 精品国产3级a| 国产成人精品午夜视频免费| 国产精品欧美综合在线| 91在线视频观看| 亚洲va欧美va人人爽| 欧美一级片在线观看| 国产呦萝稀缺另类资源| 国产精品嫩草影院com| 99久久久精品| 亚洲第一会所有码转帖| 精品国产精品网麻豆系列| 国产98色在线|日韩| 亚洲天堂2014| 欧美一区二区三区四区高清| 国产精品综合一区二区三区| 亚洲视频一二区| 日韩欧美国产一区二区三区| 成人免费电影视频|