diff options
author | cathook <b01902109@csie.ntu.edu.tw> | 2014-06-01 13:56:57 +0800 |
---|---|---|
committer | cathook <b01902109@csie.ntu.edu.tw> | 2014-06-01 13:56:57 +0800 |
commit | d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0 (patch) | |
tree | 16f7920c5079e0aefcf9509d2dbab59c464d42bd /doc/html/classmeow_1_1Self.html | |
parent | bd58f63900410ec4764031f2e6de2d75e91434b3 (diff) | |
download | meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.gz meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.bz2 meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.lz meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.xz meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.zst meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.zip |
big chnage
Diffstat (limited to 'doc/html/classmeow_1_1Self.html')
-rw-r--r-- | doc/html/classmeow_1_1Self.html | 544 |
1 files changed, 544 insertions, 0 deletions
diff --git a/doc/html/classmeow_1_1Self.html b/doc/html/classmeow_1_1Self.html new file mode 100644 index 0000000..d753e2b --- /dev/null +++ b/doc/html/classmeow_1_1Self.html @@ -0,0 +1,544 @@ +<!-- 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: meow::Self< Data > Class Template Reference</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('classmeow_1_1Self.html','');}); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="classmeow_1_1Self-members.html">List of all members</a> </div> + <div class="headertitle"> +<div class="title">meow::Self< Data > Class Template Reference</div> </div> +</div><!--header--> +<div class="contents"> + +<p>具有copy on write, 且擁有比C++更靈活的reference機制 + <a href="classmeow_1_1Self.html#details">More...</a></p> + +<p><code>#include "<a class="el" href="Self_8h_source.html">Self.h</a>"</code></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr class="memitem:a0db7c98f250aeee3b06a49ebe0f16937"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a0db7c98f250aeee3b06a49ebe0f16937">Self</a> (bool create_body)</td></tr> +<tr class="memdesc:a0db7c98f250aeee3b06a49ebe0f16937"><td class="mdescLeft"> </td><td class="mdescRight">constructor <a href="#a0db7c98f250aeee3b06a49ebe0f16937">More...</a><br/></td></tr> +<tr class="separator:a0db7c98f250aeee3b06a49ebe0f16937"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a000ede7e217c31401cc0a4b1c6749ee5"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a000ede7e217c31401cc0a4b1c6749ee5">Self</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &b)</td></tr> +<tr class="memdesc:a000ede7e217c31401cc0a4b1c6749ee5"><td class="mdescLeft"> </td><td class="mdescRight">不允許copy constructor <a href="#a000ede7e217c31401cc0a4b1c6749ee5">More...</a><br/></td></tr> +<tr class="separator:a000ede7e217c31401cc0a4b1c6749ee5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ada16564a03665b10810a6342d61044bc"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#ada16564a03665b10810a6342d61044bc">~Self</a> ()</td></tr> +<tr class="memdesc:ada16564a03665b10810a6342d61044bc"><td class="mdescLeft"> </td><td class="mdescRight">解構子 <a href="#ada16564a03665b10810a6342d61044bc">More...</a><br/></td></tr> +<tr class="separator:ada16564a03665b10810a6342d61044bc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6063551c3e6ac647500e938ade8fbc99"><td class="memItemLeft" align="right" valign="top">Data const * </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a6063551c3e6ac647500e938ade8fbc99">operator-></a> () const </td></tr> +<tr class="memdesc:a6063551c3e6ac647500e938ade8fbc99"><td class="mdescLeft"> </td><td class="mdescRight">回傳指向 Data const 的指標 <a href="#a6063551c3e6ac647500e938ade8fbc99">More...</a><br/></td></tr> +<tr class="separator:a6063551c3e6ac647500e938ade8fbc99"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ace312355261c68ac7531767939f5c4c2"><td class="memItemLeft" align="right" valign="top">Data * </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#ace312355261c68ac7531767939f5c4c2">operator-></a> ()</td></tr> +<tr class="memdesc:ace312355261c68ac7531767939f5c4c2"><td class="mdescLeft"> </td><td class="mdescRight">回傳指向 Data 的指標, 如有需要, 這邊會做資料的duplicate <a href="#ace312355261c68ac7531767939f5c4c2">More...</a><br/></td></tr> +<tr class="separator:ace312355261c68ac7531767939f5c4c2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a5962339e9ee49312ab770f1119256ca6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Self.html">Self</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a5962339e9ee49312ab770f1119256ca6">operator()</a> () const </td></tr> +<tr class="memdesc:a5962339e9ee49312ab770f1119256ca6"><td class="mdescLeft"> </td><td class="mdescRight">回傳非const型態的自己 <a href="#a5962339e9ee49312ab770f1119256ca6">More...</a><br/></td></tr> +<tr class="separator:a5962339e9ee49312ab770f1119256ca6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a7ae7da730705bf2330a259308e5a6828"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a7ae7da730705bf2330a259308e5a6828">copyFrom</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &s)</td></tr> +<tr class="memdesc:a7ae7da730705bf2330a259308e5a6828"><td class="mdescLeft"> </td><td class="mdescRight">將給定的 <code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> 的資料複製到自己這裡 <a href="#a7ae7da730705bf2330a259308e5a6828">More...</a><br/></td></tr> +<tr class="separator:a7ae7da730705bf2330a259308e5a6828"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a576e99ba0ba6e8263b4d2cfd9238440f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a576e99ba0ba6e8263b4d2cfd9238440f">referenceFrom</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &s)</td></tr> +<tr class="memdesc:a576e99ba0ba6e8263b4d2cfd9238440f"><td class="mdescLeft"> </td><td class="mdescRight">將自己reference 到給定的 <code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> <a href="#a576e99ba0ba6e8263b4d2cfd9238440f">More...</a><br/></td></tr> +<tr class="separator:a576e99ba0ba6e8263b4d2cfd9238440f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab3671e44693b79e2f987f59652d46ca9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#ab3671e44693b79e2f987f59652d46ca9">same</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &s) const </td></tr> +<tr class="memdesc:ab3671e44693b79e2f987f59652d46ca9"><td class="mdescLeft"> </td><td class="mdescRight">比對兩個 <code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> 是否指向同一個reference <a href="#ab3671e44693b79e2f987f59652d46ca9">More...</a><br/></td></tr> +<tr class="separator:ab3671e44693b79e2f987f59652d46ca9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a91098e2218c358470e81d64f35d6491d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a91098e2218c358470e81d64f35d6491d">equal</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &s) const </td></tr> +<tr class="memdesc:a91098e2218c358470e81d64f35d6491d"><td class="mdescLeft"> </td><td class="mdescRight">比對兩個 <code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> 的內容是否一樣 <a href="#a91098e2218c358470e81d64f35d6491d">More...</a><br/></td></tr> +<tr class="separator:a91098e2218c358470e81d64f35d6491d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a10f22a83c3afcf65f8f9680f2a2f945c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a10f22a83c3afcf65f8f9680f2a2f945c">referenceLess</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &s) const </td></tr> +<tr class="memdesc:a10f22a83c3afcf65f8f9680f2a2f945c"><td class="mdescLeft"> </td><td class="mdescRight">以reference作為判斷依據的小於判斷 <a href="#a10f22a83c3afcf65f8f9680f2a2f945c">More...</a><br/></td></tr> +<tr class="separator:a10f22a83c3afcf65f8f9680f2a2f945c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af3277e1109c59e5f81549889b344a675"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#af3277e1109c59e5f81549889b344a675">operator=</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &a)</td></tr> +<tr class="memdesc:af3277e1109c59e5f81549889b344a675"><td class="mdescLeft"> </td><td class="mdescRight">將 <code>operator=</code> 給disable掉 <a href="#af3277e1109c59e5f81549889b344a675">More...</a><br/></td></tr> +<tr class="separator:af3277e1109c59e5f81549889b344a675"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><h3>template<class Data><br/> +class meow::Self< Data ></h3> + +<p>具有copy on write, 且擁有比C++更靈活的reference機制 </p> +<p>使用上就是把所有成員變數包到一個class/structure裡, 送給Self <br/> + 例如以下 </p> +<div class="fragment"><div class="line"><span class="keyword">class </span>A {</div> +<div class="line"><span class="keyword">private</span>:</div> +<div class="line"> <span class="keyword">struct </span>Myself {</div> +<div class="line"> <span class="keywordtype">int</span> data;</div> +<div class="line"> Myself(){</div> +<div class="line"> data = 0;</div> +<div class="line"> }</div> +<div class="line"> ~Myself() {</div> +<div class="line"> }</div> +<div class="line"> Myself <a class="code" href="classmeow_1_1Self.html#a7ae7da730705bf2330a259308e5a6828" title="將給定的 Self 的資料複製到自己這裡">copyFrom</a>(Myself <span class="keyword">const</span>& ms)<span class="keyword"> const </span>{</div> +<div class="line"> data = ms.data;</div> +<div class="line"> }</div> +<div class="line"> };</div> +<div class="line"> Self<Myself> <span class="keyword">const</span> <span class="keyword">self</span>;</div> +<div class="line"><span class="keyword">public</span>:</div> +<div class="line"> A(): self(true) { <span class="comment">// self(true) 表示要建立實體, 即struct Myself</span></div> +<div class="line"> }</div> +<div class="line"> A(A <span class="keyword">const</span>& a): self(false) { <span class="comment">// for std::swap</span></div> +<div class="line"> <a class="code" href="classmeow_1_1Self.html#a7ae7da730705bf2330a259308e5a6828" title="將給定的 Self 的資料複製到自己這裡">copyFrom</a>(a);</div> +<div class="line"> }</div> +<div class="line"> <span class="comment">// A(A const& a); // disable 模糊用法, 與上者二選一</span></div> +<div class="line"> A(A <span class="keyword">const</span>& a, <span class="keywordtype">bool</span> reference): self(false) {</div> +<div class="line"> <span class="keywordflow">if</span> (reference) {</div> +<div class="line"> <a class="code" href="classmeow_1_1Self.html#a576e99ba0ba6e8263b4d2cfd9238440f" title="將自己reference 到給定的 Self ">referenceFrom</a>(a);</div> +<div class="line"> } <span class="keywordflow">else</span> {</div> +<div class="line"> <a class="code" href="classmeow_1_1Self.html#a7ae7da730705bf2330a259308e5a6828" title="將給定的 Self 的資料複製到自己這裡">copyFrom</a>(a);</div> +<div class="line"> }</div> +<div class="line"> }</div> +<div class="line"> ~A() {</div> +<div class="line"> }</div> +<div class="line"> <span class="keywordtype">void</span> setMemeber(<span class="keywordtype">int</span> k) {</div> +<div class="line"> <span class="keyword">self</span>()->data = k; <span class="comment">// self()->?? 可以有write權限</span></div> +<div class="line"> }</div> +<div class="line"> <span class="keywordtype">int</span> getMemember(<span class="keywordtype">int</span> wh)<span class="keyword"> const </span>{</div> +<div class="line"> <span class="keywordflow">return</span> <span class="keyword">self</span>->data; <span class="comment">// self->?? 只有const</span></div> +<div class="line"> }</div> +<div class="line"> A <a class="code" href="classmeow_1_1Self.html#a576e99ba0ba6e8263b4d2cfd9238440f" title="將自己reference 到給定的 Self ">referenceFrom</a>(A <span class="keyword">const</span>& a) {</div> +<div class="line"> <span class="keyword">self</span>.referenceFrom(a.self);</div> +<div class="line"> }</div> +<div class="line"> A <a class="code" href="classmeow_1_1Self.html#a7ae7da730705bf2330a259308e5a6828" title="將給定的 Self 的資料複製到自己這裡">copyFrom</a>(A <span class="keyword">const</span>& a) {</div> +<div class="line"> <span class="keyword">self</span>.copyFrom(a.self);</div> +<div class="line"> }</div> +<div class="line"> A& <a class="code" href="classmeow_1_1Self.html#af3277e1109c59e5f81549889b344a675" title="將 operator= 給disable掉">operator=</a>(A <span class="keyword">const</span>& b) { <span class="comment">// for std::swap</span></div> +<div class="line"> <a class="code" href="classmeow_1_1Self.html#a7ae7da730705bf2330a259308e5a6828" title="將給定的 Self 的資料複製到自己這裡">copyFrom</a>(b);</div> +<div class="line"> }</div> +<div class="line"> A& <a class="code" href="classmeow_1_1Self.html#af3277e1109c59e5f81549889b344a675" title="將 operator= 給disable掉">operator=</a>(A <span class="keyword">const</span>& b); <span class="comment">// 避免諢亂用法</span></div> +<div class="line">};</div> +</div><!-- fragment --><dl class="section author"><dt>Author</dt><dd>cathook</dd></dl> +<dl class="section warning"><dt>Warning</dt><dd><code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> 這個class會把<code>operator=</code> 給disable掉, 所以使用它當 kernel的class預設的 <code>operator=</code> 都會無法使用 </dd></dl> +</div><h2 class="groupheader">Constructor & Destructor Documentation</h2> +<a class="anchor" id="a0db7c98f250aeee3b06a49ebe0f16937"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Data> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Self.html">meow::Self</a>< Data >::<a class="el" href="classmeow_1_1Self.html">Self</a> </td> + <td>(</td> + <td class="paramtype">bool </td> + <td class="paramname"><em>create_body</em></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>constructor </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">create_body</td><td>是否要new一個實體資料 (如果constructor完, 馬上就要 <code><a class="el" href="classmeow_1_1Self.html#a7ae7da730705bf2330a259308e5a6828" title="將給定的 Self 的資料複製到自己這裡">copyFrom()</a></code> , 或是 <code><a class="el" href="classmeow_1_1Self.html#a576e99ba0ba6e8263b4d2cfd9238440f" title="將自己reference 到給定的 Self ">referenceFrom()</a></code> 的話 不太需要 new一個實體, 否則基本上都要 </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a class="anchor" id="a000ede7e217c31401cc0a4b1c6749ee5"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Data> </div> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Self.html">meow::Self</a>< Data >::<a class="el" href="classmeow_1_1Self.html">Self</a> </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>< Data > const & </td> + <td class="paramname"><em>b</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>不允許copy constructor </p> + +</div> +</div> +<a class="anchor" id="ada16564a03665b10810a6342d61044bc"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Data> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Self.html">meow::Self</a>< Data >::~<a class="el" href="classmeow_1_1Self.html">Self</a> </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>解構子 </p> + +</div> +</div> +<h2 class="groupheader">Member Function Documentation</h2> +<a class="anchor" id="a7ae7da730705bf2330a259308e5a6828"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Data> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void <a class="el" href="classmeow_1_1Self.html">meow::Self</a>< Data >::copyFrom </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>< Data > const & </td> + <td class="paramname"><em>s</em></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>將給定的 <code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> 的資料複製到自己這裡 </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>給定的<code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>無</dd></dl> +<dl class="section note"><dt>Note</dt><dd>與reference的差別是, copy之後若該給定的 <code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> 有資料修改, this 這邊 <b>不會</b> 被改到 </dd></dl> + +</div> +</div> +<a class="anchor" id="a91098e2218c358470e81d64f35d6491d"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Data> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">bool <a class="el" href="classmeow_1_1Self.html">meow::Self</a>< Data >::equal </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>< Data > const & </td> + <td class="paramname"><em>s</em></td><td>)</td> + <td> const</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>比對兩個 <code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> 的內容是否一樣 </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>另一個 <code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><code>true/false</code> 表示兩個內容是否一樣</dd></dl> +<dl class="section note"><dt>Note</dt><dd>需要用到 Data的equal() </dd></dl> + +</div> +</div> +<a class="anchor" id="a5962339e9ee49312ab770f1119256ca6"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Data> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classmeow_1_1Self.html">Self</a>& <a class="el" href="classmeow_1_1Self.html">meow::Self</a>< Data >::operator() </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>回傳非const型態的自己 </p> + +</div> +</div> +<a class="anchor" id="a6063551c3e6ac647500e938ade8fbc99"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Data> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">Data const* <a class="el" href="classmeow_1_1Self.html">meow::Self</a>< Data >::operator-> </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>回傳指向 Data const 的指標 </p> + +</div> +</div> +<a class="anchor" id="ace312355261c68ac7531767939f5c4c2"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Data> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">Data* <a class="el" href="classmeow_1_1Self.html">meow::Self</a>< Data >::operator-> </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>回傳指向 Data 的指標, 如有需要, 這邊會做資料的duplicate </p> + +</div> +</div> +<a class="anchor" id="af3277e1109c59e5f81549889b344a675"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Data> </div> + <table class="memname"> + <tr> + <td class="memname">void <a class="el" href="classmeow_1_1Self.html">meow::Self</a>< Data >::operator= </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>< Data > const & </td> + <td class="paramname"><em>a</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>將 <code>operator=</code> 給disable掉 </p> + +</div> +</div> +<a class="anchor" id="a576e99ba0ba6e8263b4d2cfd9238440f"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Data> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void <a class="el" href="classmeow_1_1Self.html">meow::Self</a>< Data >::referenceFrom </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>< Data > const & </td> + <td class="paramname"><em>s</em></td><td>)</td> + <td></td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>將自己reference 到給定的 <code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>給定的<code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>無</dd></dl> +<dl class="section note"><dt>Note</dt><dd>把reference想像成指標會比較容易思考, 譬如 <code>a.referenceFrom(b)</code> <code>b.referenceFrom(c)</code> 相當於 <b>a指向b原本指的記憶體位置</b>, <b>b指向c原本指的記憶體位置</b> , 之後更動c時, 只有b會被牽連 </dd></dl> + +</div> +</div> +<a class="anchor" id="a10f22a83c3afcf65f8f9680f2a2f945c"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Data> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">bool <a class="el" href="classmeow_1_1Self.html">meow::Self</a>< Data >::referenceLess </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>< Data > const & </td> + <td class="paramname"><em>s</em></td><td>)</td> + <td> const</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>以reference作為判斷依據的小於判斷 </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>另一個 <code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><code>true/false</code> 表示自己是否小於另一個 <code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> </dd></dl> + +</div> +</div> +<a class="anchor" id="ab3671e44693b79e2f987f59652d46ca9"></a> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<class Data> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">bool <a class="el" href="classmeow_1_1Self.html">meow::Self</a>< Data >::same </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>< Data > const & </td> + <td class="paramname"><em>s</em></td><td>)</td> + <td> const</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">inline</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>比對兩個 <code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> 是否指向同一個reference </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>另一個 <code><a class="el" href="classmeow_1_1Self.html" title="具有copy on write, 且擁有比C++更靈活的reference機制">Self</a></code> </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd><code>true/false</code> 表示是否為同一個reference </dd></dl> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li>meowpp/<a class="el" href="Self_8h_source.html">Self.h</a></li> +</ul> +</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="namespacemeow.html">meow</a></li><li class="navelem"><a class="el" href="classmeow_1_1Self.html">Self</a></li> + <li class="footer">Generated on Sun Jun 1 2014 13:54:37 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> |