diff options
Diffstat (limited to 'doc/html/Pipeline_8h_source.html')
-rw-r--r-- | doc/html/Pipeline_8h_source.html | 228 |
1 files changed, 228 insertions, 0 deletions
diff --git a/doc/html/Pipeline_8h_source.html b/doc/html/Pipeline_8h_source.html new file mode 100644 index 0000000..9010cc5 --- /dev/null +++ b/doc/html/Pipeline_8h_source.html @@ -0,0 +1,228 @@ +<!-- HTML header for doxygen 1.8.3.1--> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.3.1"/> +<title>Templates -- Meow: meowpp/Pipeline.h Source File</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); + $(window).load(resizeHeight); +</script> +<link href="stylesheet.css" rel="stylesheet" type="text/css" /> +<link href="custom.css" rel="stylesheet" type="text/css"/> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectlogo"><img alt="Logo" src="logo.png"/></td> + <td style="padding-left: 0.5em;"> + <div id="projectname">Templates -- Meow +  <span id="projectnumber">1.1.2</span> + </div> + <div id="projectbrief">不能,也不應該先編譯成obj-file的templates</div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.3.1 --> +</div><!-- top --> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + <div id="nav-sync" class="sync"></div> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> +$(document).ready(function(){initNavTree('Pipeline_8h_source.html','');}); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Pipeline.h</div> </div> +</div><!--header--> +<div class="contents"> +<a href="Pipeline_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef Pipeline_H__</span></div> +<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define Pipeline_H__</span></div> +<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span></div> +<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include "<a class="code" href="Self_8h.html">Self.h</a>"</span></div> +<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div> +<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include <list></span></div> +<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div> +<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="keyword">namespace </span>meow {</div> +<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="keyword">template</span><<span class="keyword">class</span> Input, <span class="keyword">class</span> Output, <span class="keyword">class</span> Medium></div> +<div class="line"><a name="l00014"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html"> 14</a></span> <span class="keyword">class </span><a class="code" href="classmeow_1_1Pipeline.html" title="pipeline ">Pipeline</a> {</div> +<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">protected</span>:</div> +<div class="line"><a name="l00016"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#ab5c5d983ab507579bb2958339caa6356"> 16</a></span>  <span class="keyword">typedef</span> std::list<Medium const*>::const_iterator <a class="code" href="classmeow_1_1Pipeline.html#ab5c5d983ab507579bb2958339caa6356">MediumPointerIteratorK</a>;</div> +<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">private</span>:</div> +<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <span class="keyword">struct </span>Myself {</div> +<div class="line"><a name="l00019"></a><span class="lineno"><a class="code" href="structmeow_1_1Pipeline_1_1Myself_1_1MediumInfo.html"> 19</a></span>  <span class="keyword">struct </span><a class="code" href="structmeow_1_1Pipeline_1_1Myself_1_1MediumInfo.html">MediumInfo</a> {</div> +<div class="line"><a name="l00020"></a><span class="lineno"><a class="code" href="structmeow_1_1Pipeline_1_1Myself_1_1MediumInfo.html#a690761e082bed4240d7d9c19d2bfe8f8"> 20</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structmeow_1_1Pipeline_1_1Myself_1_1MediumInfo.html#a690761e082bed4240d7d9c19d2bfe8f8">autoDel_</a>;</div> +<div class="line"><a name="l00021"></a><span class="lineno"><a class="code" href="structmeow_1_1Pipeline_1_1Myself_1_1MediumInfo.html#affff71e6cc8c5f4bb3918d9bda624047"> 21</a></span>  <span class="keywordtype">int</span> <a class="code" href="structmeow_1_1Pipeline_1_1Myself_1_1MediumInfo.html#affff71e6cc8c5f4bb3918d9bda624047">counter_</a>;</div> +<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div> +<div class="line"><a name="l00023"></a><span class="lineno"><a class="code" href="structmeow_1_1Pipeline_1_1Myself_1_1MediumInfo.html#ac7f042f7c96e2170e5c13f5d98fb5d0a"> 23</a></span>  <a class="code" href="structmeow_1_1Pipeline_1_1Myself_1_1MediumInfo.html#ac7f042f7c96e2170e5c13f5d98fb5d0a">MediumInfo</a>(<span class="keywordtype">bool</span> ad): <a class="code" href="structmeow_1_1Pipeline_1_1Myself_1_1MediumInfo.html#a690761e082bed4240d7d9c19d2bfe8f8">autoDel_</a>(ad), <a class="code" href="structmeow_1_1Pipeline_1_1Myself_1_1MediumInfo.html#affff71e6cc8c5f4bb3918d9bda624047">counter_</a>(1) {</div> +<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  }</div> +<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="structmeow_1_1Pipeline_1_1Myself_1_1MediumInfo.html#a2cf1d9e410e152bc045017d966fa3e52"> 25</a></span>  <a class="code" href="structmeow_1_1Pipeline_1_1Myself_1_1MediumInfo.html#a2cf1d9e410e152bc045017d966fa3e52">~MediumInfo</a>() {</div> +<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  }</div> +<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  };</div> +<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  std::list<Medium const*> pipe_;</div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  std::list<MediumInfo* > info_;</div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  Myself() {</div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  }</div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  Myself(Myself <span class="keyword">const</span>& b): pipe_(b.pipe_), info_(b.info_) {</div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keywordflow">for</span> (std::list<MediumInfo*>::iterator</div> +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  it = info_.begin(); it != info_.end(); ++it) {</div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  (*it).counter_ += 1;</div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  }</div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  }</div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  ~Myself() {</div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  std::list<MediumInfo* >::iterator it = info_.begin();</div> +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  std::list<Medium const*>::iterator ip = pipe_.begin();</div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">for</span> ( ; it != info_.end(); ++it, ++ip) {</div> +<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">if</span> ((*it).counter_ <= 0 && (*it).autoDel_ == <span class="keyword">true</span>) {</div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">delete</span> *ip;</div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  }</div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  }</div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  }</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordtype">bool</span> <a class="code" href="classmeow_1_1Pipeline.html#ad68f17ba679781f8d8996de3f742584c" title="add a medium to the front of this pipeline">frontAdd</a>(Medium <span class="keyword">const</span>* ptr, <span class="keywordtype">bool</span> auto_delete) {</div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  pipe_.push_front(ptr);</div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  info_.push_front(<span class="keyword">new</span> MediumInfo(auto_delete));</div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  }</div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordtype">bool</span> <a class="code" href="classmeow_1_1Pipeline.html#a1bc72f0b75abb48b8c5212813b8dc8f4" title="add a medium to the back of this pipeline">backAdd</a>(Medium <span class="keyword">const</span>* ptr, <span class="keywordtype">bool</span> auto_delete) {</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  pipe_.push_back(ptr);</div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  info_.push_back(<span class="keyword">new</span> MediumInfo(auto_delete));</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  }</div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordtype">bool</span> <a class="code" href="classmeow_1_1Pipeline.html#a6ce35017ddf9c669a095290a3ebed8c5" title="remove a medium from the front of this pipeline">frontDel</a>() {</div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">if</span> (pipe_.empty()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  info_.front().counter_ -= 1;</div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">if</span> (info_.front().autoDel_ && info_.front().counter_ <= 0) {</div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keyword">delete</span> pipe_.front();</div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  }</div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  pipe_.pop_front();</div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  }</div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordtype">bool</span> <a class="code" href="classmeow_1_1Pipeline.html#a8263e4d001096fb013fea1465d5fa4d5" title="add a medium from the back of this pipeline">backDel</a>() {</div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">if</span> (pipe_.empty()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  info_.back().counter_ -= 1;</div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">if</span> (info_.back().autoDel_ && info_.back().counter_ <= 0) {</div> +<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keyword">delete</span> pipe_.back();</div> +<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  pipe_.pop_back();</div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div> +<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  }</div> +<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  };</div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  Self<Myself> <span class="keyword">const</span> <span class="keyword">self</span>;</div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">protected</span>:</div> +<div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#ad6ff2086fe68c50f526739f3d781bab4"> 88</a></span>  <a class="code" href="classmeow_1_1Pipeline.html#ad6ff2086fe68c50f526739f3d781bab4" title="constructor with empty contain">Pipeline</a>(): self() {</div> +<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  }</div> +<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div> +<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#a9acf9a46f19f097629ce2eeb690a23d7"> 94</a></span>  <a class="code" href="classmeow_1_1Pipeline.html#a9acf9a46f19f097629ce2eeb690a23d7" title="copy constructor">Pipeline</a>(<a class="code" href="classmeow_1_1Pipeline.html" title="pipeline ">Pipeline</a> <span class="keyword">const</span>& p): self(p.self(), COPY_FROM) {</div> +<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div> +<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div> +<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#a146677fa11b0b47af3000d4b0a72fc47"> 103</a></span>  <a class="code" href="classmeow_1_1Pipeline.html" title="pipeline ">Pipeline</a>& <a class="code" href="classmeow_1_1Pipeline.html#a146677fa11b0b47af3000d4b0a72fc47" title="copy contain from gived pipeline">copyFrom</a>(<a class="code" href="classmeow_1_1Pipeline.html" title="pipeline ">Pipeline</a> <span class="keyword">const</span>& p) {</div> +<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">self</span>().<a class="code" href="classmeow_1_1Pipeline.html#a146677fa11b0b47af3000d4b0a72fc47" title="copy contain from gived pipeline">copyFrom</a>(p.self);</div> +<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  }</div> +<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div> +<div class="line"><a name="l00114"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#a43280db4560580c0b1618810caab4b02"> 114</a></span>  <a class="code" href="classmeow_1_1Pipeline.html" title="pipeline ">Pipeline</a>& <a class="code" href="classmeow_1_1Pipeline.html#a43280db4560580c0b1618810caab4b02" title="reference from gived pipeline">referenceFrom</a>(<a class="code" href="classmeow_1_1Pipeline.html" title="pipeline ">Pipeline</a> <span class="keyword">const</span>& p) {</div> +<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keyword">self</span>().<a class="code" href="classmeow_1_1Pipeline.html#a43280db4560580c0b1618810caab4b02" title="reference from gived pipeline">referenceFrom</a>(p.self);</div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  }</div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div> +<div class="line"><a name="l00121"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#a107cc18a159ceb2fcde495363c55047e"> 121</a></span>  <a class="code" href="classmeow_1_1Pipeline.html" title="pipeline ">Pipeline</a>& <a class="code" href="classmeow_1_1Pipeline.html#a107cc18a159ceb2fcde495363c55047e" title="same as copyFrom(p) ">operator=</a>(<a class="code" href="classmeow_1_1Pipeline.html" title="pipeline ">Pipeline</a> <span class="keyword">const</span>& p) {</div> +<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Pipeline.html#a146677fa11b0b47af3000d4b0a72fc47" title="copy contain from gived pipeline">copyFrom</a>(p);</div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }</div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div> +<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#a8425f0a6a4dff7b3bd54f5a0323839c3"> 128</a></span>  std::list<Medium const*> <span class="keyword">const</span>& <a class="code" href="classmeow_1_1Pipeline.html#a8425f0a6a4dff7b3bd54f5a0323839c3" title="return const-reference of the pipe list">pipe</a>()<span class="keyword"> const </span>{</div> +<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">return</span> <span class="keyword">self</span>->pipe_;</div> +<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  }</div> +<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div> +<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00136"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#a3cffd384d9b8969122adda3b9087352a"> 136</a></span>  <span class="keyword">virtual</span> <a class="code" href="classmeow_1_1Pipeline.html#a3cffd384d9b8969122adda3b9087352a" title="destructor">~Pipeline</a>() {</div> +<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  }</div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keyword">virtual</span> Output <a class="code" href="classmeow_1_1Pipeline.html#a41613bf7d08d61043b8791665bdb2395" title="go">goThrough</a>(Input <span class="keyword">const</span>& in) <span class="keyword">const</span> = 0;</div> +<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div> +<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#a2f135be41a794fe8c6ac88e4b954feb8"> 152</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmeow_1_1Pipeline.html#a2f135be41a794fe8c6ac88e4b954feb8" title="return whether this pipeline can reverse">inversable</a>() {</div> +<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div> +<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  }</div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div> +<div class="line"><a name="l00162"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#ad8a007463d13af873d9ab6e5926be374"> 162</a></span>  <span class="keyword">virtual</span> Input <a class="code" href="classmeow_1_1Pipeline.html#ad8a007463d13af873d9ab6e5926be374" title="reverse go">goThroughInv</a>(Output <span class="keyword">const</span>& in)<span class="keyword"> const </span>{</div> +<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">return</span> Input();</div> +<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  }</div> +<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div> +<div class="line"><a name="l00173"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#ad68f17ba679781f8d8996de3f742584c"> 173</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmeow_1_1Pipeline.html#ad68f17ba679781f8d8996de3f742584c" title="add a medium to the front of this pipeline">frontAdd</a>(Medium <span class="keyword">const</span>* ptr, <span class="keywordtype">bool</span> auto_delete) {</div> +<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> <span class="keyword">self</span>()-><a class="code" href="classmeow_1_1Pipeline.html#ad68f17ba679781f8d8996de3f742584c" title="add a medium to the front of this pipeline">frontAdd</a>(ptr, auto_delete);</div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  }</div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div> +<div class="line"><a name="l00183"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#a1bc72f0b75abb48b8c5212813b8dc8f4"> 183</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmeow_1_1Pipeline.html#a1bc72f0b75abb48b8c5212813b8dc8f4" title="add a medium to the back of this pipeline">backAdd</a>(Medium <span class="keyword">const</span>* ptr, <span class="keywordtype">bool</span> auto_delete) {</div> +<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">return</span> <span class="keyword">self</span>()-><a class="code" href="classmeow_1_1Pipeline.html#a1bc72f0b75abb48b8c5212813b8dc8f4" title="add a medium to the back of this pipeline">backAdd</a>(ptr, auto_delete);</div> +<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  }</div> +<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div> +<div class="line"><a name="l00192"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#a6ce35017ddf9c669a095290a3ebed8c5"> 192</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmeow_1_1Pipeline.html#a6ce35017ddf9c669a095290a3ebed8c5" title="remove a medium from the front of this pipeline">frontDel</a>() {</div> +<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">return</span> <span class="keyword">self</span>()-><a class="code" href="classmeow_1_1Pipeline.html#a6ce35017ddf9c669a095290a3ebed8c5" title="remove a medium from the front of this pipeline">frontDel</a>();</div> +<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  }</div> +<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div> +<div class="line"><a name="l00201"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#a8263e4d001096fb013fea1465d5fa4d5"> 201</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmeow_1_1Pipeline.html#a8263e4d001096fb013fea1465d5fa4d5" title="add a medium from the back of this pipeline">backDel</a>() {</div> +<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">return</span> <span class="keyword">self</span>()-><a class="code" href="classmeow_1_1Pipeline.html#a8263e4d001096fb013fea1465d5fa4d5" title="add a medium from the back of this pipeline">backDel</a>();</div> +<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  }</div> +<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div> +<div class="line"><a name="l00208"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#a0ae87626df1cef4c04a11af40c6765b1"> 208</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> <a class="code" href="classmeow_1_1Pipeline.html#a0ae87626df1cef4c04a11af40c6765b1" title="return how many medium in this pipeline">size</a>()<span class="keyword"> const </span>{</div> +<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">return</span> <span class="keyword">self</span>->pipe_.size();</div> +<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  }</div> +<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div> +<div class="line"><a name="l00215"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#ade80a603d4ce3d9761ec57a2087749c7"> 215</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classmeow_1_1Pipeline.html#ade80a603d4ce3d9761ec57a2087749c7" title="same as (size() == 0)">empty</a>()<span class="keyword"> const </span>{</div> +<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">return</span> (<a class="code" href="classmeow_1_1Pipeline.html#a0ae87626df1cef4c04a11af40c6765b1" title="return how many medium in this pipeline">size</a>() == 0);</div> +<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  }</div> +<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div> +<div class="line"><a name="l00222"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#a68341b2e6f51ec85d585f1f5fc658da9"> 222</a></span>  <span class="keyword">virtual</span> Medium <span class="keyword">const</span>* <a class="code" href="classmeow_1_1Pipeline.html#a68341b2e6f51ec85d585f1f5fc658da9" title="get the const-pointer of the first medium">first</a>()<span class="keyword"> const </span>{</div> +<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">return</span> <span class="keyword">self</span>->pipe_.front().pointer_;</div> +<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  }</div> +<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div> +<div class="line"><a name="l00229"></a><span class="lineno"><a class="code" href="classmeow_1_1Pipeline.html#a46fba2a5d88bf742223732e523e7d234"> 229</a></span>  <span class="keyword">virtual</span> Medium <span class="keyword">const</span>* <a class="code" href="classmeow_1_1Pipeline.html#a46fba2a5d88bf742223732e523e7d234" title="get the const-pointer of the last medium">last</a>()<span class="keyword"> const </span>{</div> +<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">return</span> <span class="keyword">self</span>->pipe_.end().pointer_;</div> +<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  }</div> +<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> };</div> +<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div> +<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> } <span class="comment">// meow</span></div> +<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div> +<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor">#endif // Pipeline_H__</span></div> +</div><!-- fragment --></div><!-- contents --> +</div><!-- doc-content --> +<!-- HTML footer for doxygen 1.8.3.1--> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="navelem"><a class="el" href="dir_92fecd8d02dd5e7a67429447fdf0f60f.html">meowpp</a></li><li class="navelem"><a class="el" href="Pipeline_8h.html">Pipeline.h</a></li> + <li class="footer">Generated on Fri Jun 6 2014 17:51:46 for Templates -- Meow by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3.1 </li> + </ul> +</div> +</body> +</html> |