⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pstreams.h.html

📁 PTypes是一个扩充了多线程和网络功能的STL库
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<font CLASS=preproc><font CLASS=keyword>public</font>:</font>    infilter(instm* istm, <font CLASS=keytype>int</font> ibufsize <font CLASS=symbols>=</font> <font CLASS=symbols>-</font><font CLASS=integer>1</font>);    <font CLASS=keyword>virtual</font> ~infilter();    <font CLASS=keyword>virtual</font> string get_errstmname();    instm* get_stm()  { <font CLASS=keyword>return</font> stm; }    <font CLASS=keytype>void</font> set_stm(instm* stm);};<font CLASS=comment>//</font><font CLASS=comment>// abstract output filter class</font><font CLASS=comment>//</font><font CLASS=keyword>class</font> outfilter: public outstm{<font CLASS=preproc><font CLASS=keyword>protected</font>:</font>    outstm* stm;    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> freenotify(component* sender);    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> doopen();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> doclose();<font CLASS=preproc><font CLASS=keyword>public</font>:</font>    outfilter(outstm* istm, <font CLASS=keytype>int</font> ibufsize <font CLASS=symbols>=</font> <font CLASS=symbols>-</font><font CLASS=integer>1</font>);    <font CLASS=keyword>virtual</font> ~outfilter();    <font CLASS=keyword>virtual</font> string get_errstmname();    outstm* get_stm()  { <font CLASS=keyword>return</font> stm; }    <font CLASS=keytype>void</font> set_stm(outstm* stm);};<font CLASS=comment>//</font><font CLASS=comment>// inmemory - memory stream</font><font CLASS=comment>//</font><font CLASS=keyword>class</font> inmemory: public instm {<font CLASS=preproc><font CLASS=keyword>protected</font>:</font>    string mem;    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> bufalloc();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> buffree();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> bufvalidate();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> doopen();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> doclose();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>int</font>  doseek(<font CLASS=keytype>int</font> newpos, ioseekmode mode);    <font CLASS=keyword>virtual</font> <font CLASS=keytype>int</font>  dorawread(<font CLASS=keytype>char</font>* buf, <font CLASS=keytype>int</font> count);<font CLASS=preproc><font CLASS=keyword>public</font>:</font>    inmemory(<font CLASS=keyword>const</font> string&amp; imem);    <font CLASS=keyword>virtual</font> ~inmemory();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>int</font> classid();    <font CLASS=keyword>virtual</font> string get_streamname();    <font CLASS=keytype>int</font> seek(<font CLASS=keytype>int</font> newpos, ioseekmode mode <font CLASS=symbols>=</font> IO_BEGIN);    string get_strdata()  { <font CLASS=keyword>return</font> mem; }    <font CLASS=keytype>void</font> set_strdata(<font CLASS=keyword>const</font> string&amp; data);};<font CLASS=comment>//</font><font CLASS=comment>// outmemory - memory stream</font><font CLASS=comment>//</font><font CLASS=keyword>class</font> outmemory: public outstm {<font CLASS=preproc><font CLASS=keyword>protected</font>:</font>    string mem;    <font CLASS=keytype>int</font> limit;    <font CLASS=keytype>int</font> increment;      <font CLASS=comment>// deprecated</font>    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> doopen();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> doclose();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>int</font>  doseek(<font CLASS=keytype>int</font> newpos, ioseekmode mode);    <font CLASS=keyword>virtual</font> <font CLASS=keytype>int</font>  dorawwrite(<font CLASS=keyword>const</font> <font CLASS=keytype>char</font>* buf, <font CLASS=keytype>int</font> count);<font CLASS=preproc><font CLASS=keyword>public</font>:</font>    outmemory(<font CLASS=keytype>int</font> limit <font CLASS=symbols>=</font> <font CLASS=symbols>-</font><font CLASS=integer>1</font>, <font CLASS=keytype>int</font> increment = <font CLASS=integer>0</font>);      <font CLASS=comment>// increment is deprecated</font>    <font CLASS=keyword>virtual</font> ~outmemory();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>int</font> classid();    <font CLASS=keyword>virtual</font> string get_streamname();    <font CLASS=keytype>int</font> tell()               { <font CLASS=keyword>return</font> abspos; }    string get_strdata();    <font CLASS=keyword>const</font> <font CLASS=keytype>char</font>* get_data()   { <font CLASS=keyword>return</font> pconst(mem); }    <font CLASS=comment>// deprecated</font>};<font CLASS=comment>// -------------------------------------------------------------------- //</font><font CLASS=comment>// ---  file input/output --------------------------------------------- //</font><font CLASS=comment>// -------------------------------------------------------------------- //</font><font CLASS=comment>//</font><font CLASS=comment>// infile - file input</font><font CLASS=comment>//</font><font CLASS=keyword>class</font> outfile;<font CLASS=keyword>class</font> infile: public instm{<font CLASS=preproc><font CLASS=keyword>protected</font>:</font>    string filename;    <font CLASS=keytype>int</font>    syshandle;   <font CLASS=comment>// if not -1, assigned to handle in open() instead of opening a file by a name</font>    <font CLASS=keytype>int</font>    peerhandle;  <font CLASS=comment>// pipe peer handle, needed for closing the peer after fork() on unix</font>    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> doopen();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> doclose();<font CLASS=preproc><font CLASS=keyword>public</font>:</font>    infile();    infile(<font CLASS=keyword>const</font> <font CLASS=keytype>char</font>* ifn);    infile(<font CLASS=keyword>const</font> string&amp; ifn);    <font CLASS=keyword>virtual</font> ~infile();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>int</font> classid();    <font CLASS=keytype>void</font> pipe(outfile&amp;);    <font CLASS=keyword>virtual</font> string get_streamname();    <font CLASS=keytype>int</font> get_syshandle()                     { <font CLASS=keyword>return</font> syshandle; }    <font CLASS=keytype>void</font> set_syshandle(<font CLASS=keytype>int</font> ihandle)         { close(); syshandle <font CLASS=symbols>=</font> ihandle; }    <font CLASS=keytype>int</font> get_peerhandle()                    { <font CLASS=keyword>return</font> peerhandle; }    string get_filename()                   { <font CLASS=keyword>return</font> filename; }    <font CLASS=keytype>void</font> set_filename(<font CLASS=keyword>const</font> string&amp; ifn)    { close(); filename <font CLASS=symbols>=</font> ifn; }    <font CLASS=keytype>void</font> set_filename(<font CLASS=keyword>const</font> <font CLASS=keytype>char</font>* ifn)      { close(); filename <font CLASS=symbols>=</font> ifn; }};<font CLASS=comment>//</font><font CLASS=comment>// outfile - file output</font><font CLASS=comment>//</font><font CLASS=keyword>class</font> outfile: public outstm{<font CLASS=preproc><font CLASS=keyword>protected</font>:</font>    <font CLASS=keyword>friend</font> <font CLASS=keyword>class</font> infile; <font CLASS=comment>// infile::pipe() needs access to peerhandle</font>    string filename;    <font CLASS=keytype>int</font>    syshandle;   <font CLASS=comment>// if not -1, assigned to handle in open() instead of opening a file by a name</font>    <font CLASS=keytype>int</font>    peerhandle;  <font CLASS=comment>// pipe peer handle, needed for closing the peer after fork() on unix</font>    <font CLASS=keytype>int</font>    umode;       <font CLASS=comment>// unix file mode (unix only), default = 644</font>    <font CLASS=keytype>bool</font>   append;      <font CLASS=comment>// append (create new if needed), default = false</font>    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> doopen();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> doclose();<font CLASS=preproc><font CLASS=keyword>public</font>:</font>    outfile();    outfile(<font CLASS=keyword>const</font> <font CLASS=keytype>char</font>* ifn, <font CLASS=keytype>bool</font> iappend <font CLASS=symbols>=</font> <font CLASS=keyword>false</font>);    outfile(<font CLASS=keyword>const</font> string&amp; ifn, <font CLASS=keytype>bool</font> iappend <font CLASS=symbols>=</font> <font CLASS=keyword>false</font>);    <font CLASS=keyword>virtual</font> ~outfile();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>int</font> classid();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> flush();    <font CLASS=keyword>virtual</font> string get_streamname();    <font CLASS=keytype>int</font> get_syshandle()                     { <font CLASS=keyword>return</font> syshandle; }    <font CLASS=keytype>void</font> set_syshandle(<font CLASS=keytype>int</font> ihandle)         { close(); syshandle <font CLASS=symbols>=</font> ihandle; }    <font CLASS=keytype>int</font> get_peerhandle()                    { <font CLASS=keyword>return</font> peerhandle; }    string get_filename()                   { <font CLASS=keyword>return</font> filename; }    <font CLASS=keytype>void</font> set_filename(<font CLASS=keyword>const</font> string&amp; ifn)    { close(); filename <font CLASS=symbols>=</font> ifn; }    <font CLASS=keytype>void</font> set_filename(<font CLASS=keyword>const</font> <font CLASS=keytype>char</font>* ifn)      { close(); filename <font CLASS=symbols>=</font> ifn; }    <font CLASS=keytype>bool</font> get_append()                       { <font CLASS=keyword>return</font> append; }    <font CLASS=keytype>void</font> set_append(<font CLASS=keytype>bool</font> iappend)           { close(); append <font CLASS=symbols>=</font> iappend; }    <font CLASS=keytype>int</font>  get_umode()                        { <font CLASS=keyword>return</font> umode; }    <font CLASS=keytype>void</font> set_umode(<font CLASS=keytype>int</font> iumode)              { close(); umode <font CLASS=symbols>=</font> iumode; }};<font CLASS=comment>//</font><font CLASS=comment>// logfile - file output with thread-safe putf()</font><font CLASS=comment>//</font><font CLASS=keyword>class</font> logfile: public outfile{<font CLASS=preproc><font CLASS=keyword>protected</font>:</font><font CLASS=preproc>#ifndef</font> PTYPES_ST     mutex lock;<font CLASS=preproc>#endif</font> <font CLASS=preproc><font CLASS=keyword>public</font>:</font>    logfile();    logfile(<font CLASS=keyword>const</font> <font CLASS=keytype>char</font>* ifn, <font CLASS=keytype>bool</font> iappend <font CLASS=symbols>=</font> <font CLASS=keyword>true</font>);    logfile(<font CLASS=keyword>const</font> string&amp; ifn, <font CLASS=keytype>bool</font> iappend <font CLASS=symbols>=</font> <font CLASS=keyword>true</font>);    <font CLASS=keyword>virtual</font> ~logfile();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>int</font> classid();    <font CLASS=keytype>void</font> vputf(<font CLASS=keyword>const</font> <font CLASS=keytype>char</font>* fmt, va_list);    <font CLASS=keytype>void</font> putf(<font CLASS=keyword>const</font> <font CLASS=keytype>char</font>* fmt, ...);};<font CLASS=comment>//</font><font CLASS=comment>// intee - UNIX tee-style utility class</font><font CLASS=comment>//</font><font CLASS=keyword>class</font> intee: public infilter {<font CLASS=preproc><font CLASS=keyword>protected</font>:</font>    outfile file;    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> doopen();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> doclose();    <font CLASS=keyword>virtual</font> <font CLASS=keytype>void</font> dofilter();<font CLASS=preproc><font CLASS=keyword>public</font>:</font>    intee(instm* istm, <font CLASS=keyword>const</font> <font CLASS=keytype>char</font>* ifn, <font CLASS=keytype>bool</font> iappend <font CLASS=symbols>=</font> <font CLASS=keyword>false</font>);    intee(instm* istm, <font CLASS=keyword>const</font> string&amp; ifn, <font CLASS=keytype>bool</font> iappend <font CLASS=symbols>=</font> <font CLASS=keyword>false</font>);    <font CLASS=keyword>virtual</font> ~intee();    outfile* get_file()   { <font CLASS=keyword>return</font> &amp;file; }    <font CLASS=keyword>virtual</font> string get_streamname();};<font CLASS=comment>// -------------------------------------------------------------------- //</font><font CLASS=comment>// ---  named pipes --------------------------------------------------- //</font><font CLASS=comment>// -------------------------------------------------------------------- //</font><font CLASS=comment>// on Unix this directory can be overridden by providing the</font><font CLASS=comment>// full path, e.g. '/var/run/mypipe'. the path is ignored on </font><font CLASS=comment>// Windows and is always replaced with '\\&lt;server&gt;\pipe\'</font><font CLASS=preproc>#ifndef</font> WIN32 <font CLASS=preproc>#</font>  define DEF_NAMED_PIPES_DIR <font CLASS=dblquot>"/tmp/"</font> <font CLASS=preproc>#endif</font> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -