aboutsummaryrefslogtreecommitdiffstats
path: root/doc/html/classmeow_1_1Self.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/classmeow_1_1Self.html')
-rw-r--r--doc/html/classmeow_1_1Self.html604
1 files changed, 0 insertions, 604 deletions
diff --git a/doc/html/classmeow_1_1Self.html b/doc/html/classmeow_1_1Self.html
deleted file mode 100644
index c54c579..0000000
--- a/doc/html/classmeow_1_1Self.html
+++ /dev/null
@@ -1,604 +0,0 @@
-<!-- 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.6"/>
-<title>Templates -- Meow: meow::Self&lt; SelfType &gt; 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
- &#160;<span id="projectnumber">2.0.-1</span>
- </div>
- <div id="projectbrief">A C++ template contains kinds of interesting classes and functions</div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.6 -->
-</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> &#124;
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="classmeow_1_1Self-members.html">List of all members</a> </div>
- <div class="headertitle">
-<div class="title">meow::Self&lt; SelfType &gt; Class Template Reference</div> </div>
-</div><!--header-->
-<div class="contents">
-
-<p>An implementation for the reference mechanism.
- <a href="classmeow_1_1Self.html#details">More...</a></p>
-
-<p><code>#include &quot;<a class="el" href="self_8h_source.html">self.h</a>&quot;</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:a48c3ce6897b3eebfad96a871f9fc2054"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a48c3ce6897b3eebfad96a871f9fc2054">Self</a> ()</td></tr>
-<tr class="memdesc:a48c3ce6897b3eebfad96a871f9fc2054"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new one. <a href="#a48c3ce6897b3eebfad96a871f9fc2054">More...</a><br/></td></tr>
-<tr class="separator:a48c3ce6897b3eebfad96a871f9fc2054"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a698997f92ac64eb031b7f88f4c40a5cb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a698997f92ac64eb031b7f88f4c40a5cb">Self</a> (SelfType const &amp;arg_body)</td></tr>
-<tr class="memdesc:a698997f92ac64eb031b7f88f4c40a5cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new one with specifying a initial value for SelfType object. <a href="#a698997f92ac64eb031b7f88f4c40a5cb">More...</a><br/></td></tr>
-<tr class="separator:a698997f92ac64eb031b7f88f4c40a5cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aafab402f6b101bb60764bb8bc1997c47"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#aafab402f6b101bb60764bb8bc1997c47">Self</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;arg_another_self)</td></tr>
-<tr class="memdesc:aafab402f6b101bb60764bb8bc1997c47"><td class="mdescLeft">&#160;</td><td class="mdescRight">References from another one. <a href="#aafab402f6b101bb60764bb8bc1997c47">More...</a><br/></td></tr>
-<tr class="separator:aafab402f6b101bb60764bb8bc1997c47"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0ef07d3b04626fc926a0a947b20bb8dd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a0ef07d3b04626fc926a0a947b20bb8dd">~Self</a> ()</td></tr>
-<tr class="memdesc:a0ef07d3b04626fc926a0a947b20bb8dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detatches. <a href="#a0ef07d3b04626fc926a0a947b20bb8dd">More...</a><br/></td></tr>
-<tr class="separator:a0ef07d3b04626fc926a0a947b20bb8dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a11a512ee42009b48644dbb9dd44a5864"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a11a512ee42009b48644dbb9dd44a5864">ReferenceFrom</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;arg_another_self)</td></tr>
-<tr class="memdesc:a11a512ee42009b48644dbb9dd44a5864"><td class="mdescLeft">&#160;</td><td class="mdescRight">References from another <a class="el" href="classmeow_1_1Self.html" title="An implementation for the reference mechanism. ">Self</a> object. <a href="#a11a512ee42009b48644dbb9dd44a5864">More...</a><br/></td></tr>
-<tr class="separator:a11a512ee42009b48644dbb9dd44a5864"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac69d081fd7d4227ffdda07d62a325b1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#ac69d081fd7d4227ffdda07d62a325b1d">CopyFrom</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;arg_another_self)</td></tr>
-<tr class="memdesc:ac69d081fd7d4227ffdda07d62a325b1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies the data in SelfType object from another <a class="el" href="classmeow_1_1Self.html" title="An implementation for the reference mechanism. ">Self</a> object. <a href="#ac69d081fd7d4227ffdda07d62a325b1d">More...</a><br/></td></tr>
-<tr class="separator:ac69d081fd7d4227ffdda07d62a325b1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4e38ec4ad25ad6e9cdcaf1003d60d1a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Self.html">Self</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a4e38ec4ad25ad6e9cdcaf1003d60d1a1">Copy</a> () const </td></tr>
-<tr class="memdesc:a4e38ec4ad25ad6e9cdcaf1003d60d1a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a copy one of itself. <a href="#a4e38ec4ad25ad6e9cdcaf1003d60d1a1">More...</a><br/></td></tr>
-<tr class="separator:a4e38ec4ad25ad6e9cdcaf1003d60d1a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae7d3dbc4337452bf93fb61898b5d3c2c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#ae7d3dbc4337452bf93fb61898b5d3c2c">Is</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;arg_another_self) const </td></tr>
-<tr class="memdesc:ae7d3dbc4337452bf93fb61898b5d3c2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the gived instance of <a class="el" href="classmeow_1_1Self.html" title="An implementation for the reference mechanism. ">Self</a> references from the same SelfType with me or not. <a href="#ae7d3dbc4337452bf93fb61898b5d3c2c">More...</a><br/></td></tr>
-<tr class="separator:ae7d3dbc4337452bf93fb61898b5d3c2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a17f88ab6c6e515b9c3c183145b0bf7a3"><td class="memItemLeft" align="right" valign="top">SelfType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a17f88ab6c6e515b9c3c183145b0bf7a3">operator-&gt;</a> ()</td></tr>
-<tr class="memdesc:a17f88ab6c6e515b9c3c183145b0bf7a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access the instance of SelfType by address. <a href="#a17f88ab6c6e515b9c3c183145b0bf7a3">More...</a><br/></td></tr>
-<tr class="separator:a17f88ab6c6e515b9c3c183145b0bf7a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af414ac2a283abe9fa772760b65876b85"><td class="memItemLeft" align="right" valign="top">SelfType const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#af414ac2a283abe9fa772760b65876b85">operator-&gt;</a> () const </td></tr>
-<tr class="memdesc:af414ac2a283abe9fa772760b65876b85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access the instance of SelfType by constant address. <a href="#af414ac2a283abe9fa772760b65876b85">More...</a><br/></td></tr>
-<tr class="separator:af414ac2a283abe9fa772760b65876b85"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abd43b3f1437425ccd1c2d7acc80a9cef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Self.html">Self</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#abd43b3f1437425ccd1c2d7acc80a9cef">operator()</a> () const </td></tr>
-<tr class="memdesc:abd43b3f1437425ccd1c2d7acc80a9cef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access itself in non-constant mode. <a href="#abd43b3f1437425ccd1c2d7acc80a9cef">More...</a><br/></td></tr>
-<tr class="separator:abd43b3f1437425ccd1c2d7acc80a9cef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5b46b491e81d8c4120b1e7d9bf180855"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmeow_1_1Self.html">Self</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a5b46b491e81d8c4120b1e7d9bf180855">operator=</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;b)</td></tr>
-<tr class="memdesc:a5b46b491e81d8c4120b1e7d9bf180855"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disallows the "operator=" so develops need to explicitly use CopyFrom/RefernceFrom. <a href="#a5b46b491e81d8c4120b1e7d9bf180855">More...</a><br/></td></tr>
-<tr class="separator:a5b46b491e81d8c4120b1e7d9bf180855"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><h3>template&lt;typename SelfType&gt;<br/>
-class meow::Self&lt; SelfType &gt;</h3>
-
-<p>An implementation for the reference mechanism. </p>
-<p>Some example code: </p>
-<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="self_8h.html">meowpp/utility/self.h</a>&gt;</span></div>
-<div class="line"></div>
-<div class="line"><span class="keyword">class </span>A {</div>
-<div class="line"> <span class="keyword">private</span>:</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// Data members of this class. You can also move the methods of class A</span></div>
-<div class="line"> <span class="comment">// into this structure if you like.</span></div>
-<div class="line"> <span class="keyword">struct </span>DataMember {</div>
-<div class="line"> <span class="keywordtype">int</span> var1;</div>
-<div class="line"> <span class="keywordtype">int</span> var2;</div>
-<div class="line"> <span class="keywordtype">int</span> counter;</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// The constructor &quot;Self&lt;DataMember&gt;::Self()&quot; will call the constructor</span></div>
-<div class="line"> <span class="comment">// &quot;DataMember::DataMember()&quot;</span></div>
-<div class="line"> DataMember() : var1(0), var2(0), counter(0) {}</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// The constructor &quot;Self&lt;DataMember&gt;::Self(DataMember const&amp;)&quot; will call</span></div>
-<div class="line"> <span class="comment">// the constructor &quot;DataMember::DataMember(DataMember const&amp;)&quot;</span></div>
-<div class="line"> DataMember(DataMember <span class="keyword">const</span>&amp; b) :</div>
-<div class="line"> var1(b.var1), var2(b.var2), counter(0) {}</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// Customize constructor.</span></div>
-<div class="line"> DataMember(<span class="keywordtype">int</span> var1_init_value) :</div>
-<div class="line"> var1(var1_init_value), var2(0), counter(0) {}</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// Destructor, will be called when nobody references to it.</span></div>
-<div class="line"> ~DataMember() {}</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// The &quot;Self&lt;DataMember&gt;::CopyFrom(Self&lt;DataMember&gt; const&amp;)&quot; will call</span></div>
-<div class="line"> <span class="comment">// &quot;DataMember::CopyFrom(DataMember const&amp;)&quot; to copy data.</span></div>
-<div class="line"> DataMember <span class="keyword">const</span>&amp; <a class="code" href="classmeow_1_1Self.html#ac69d081fd7d4227ffdda07d62a325b1d">CopyFrom</a>(DataMember <span class="keyword">const</span>&amp; b) {</div>
-<div class="line"> var1 = b.var1;</div>
-<div class="line"> var2 = b.var2;</div>
-<div class="line"> }</div>
-<div class="line"> };</div>
-<div class="line"></div>
-<div class="line"> <a class="code" href="classmeow_1_1Self.html">meow::Self&lt;DataMember&gt;</a> <span class="keyword">const</span> self_; <span class="comment">// Use constant type to reduce the</span></div>
-<div class="line"> <span class="comment">// protential error caused by typing</span></div>
-<div class="line"> <span class="comment">// wrong.</span></div>
-<div class="line"></div>
-<div class="line"> <span class="keyword">public</span>:</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// Here the &quot;Self&lt;DataMember&gt;::Self()&quot; will be called.</span></div>
-<div class="line"> A() {}</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// Notice! &quot;Self&lt;DataMember&gt;::Self(Self const&amp; another_self)&quot; will let</span></div>
-<div class="line"> <span class="comment">// itself reference to the gived object instead of creating a new one.</span></div>
-<div class="line"> <span class="comment">// So here the copy constructor will not copy from the gived object, it</span></div>
-<div class="line"> <span class="comment">// will just reference from it.</span></div>
-<div class="line"> A(A <span class="keyword">const</span>&amp; another_class_a) : self_(another_class_a.self_) {}</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// Customize constructor.</span></div>
-<div class="line"> A(<span class="keywordtype">int</span> var1_init_value) : self_(DataMember(var1_init_value)) {}</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// You don&#39;t need to call some extra function in destructor, because</span></div>
-<div class="line"> <span class="comment">// there&#39;s a counter in the Self class.</span></div>
-<div class="line"> ~A() {}</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// A constant method.</span></div>
-<div class="line"> <span class="keywordtype">int</span> GetVar1()<span class="keyword"> const </span>{</div>
-<div class="line"> <span class="keywordflow">return</span> self_-&gt;var1; <span class="comment">// Use the operator &quot;-&gt;&quot; to access the address of</span></div>
-<div class="line"> <span class="comment">// the DataMember. Because we declare self_ be a</span></div>
-<div class="line"> <span class="comment">// constant type, here &quot;self_-&gt;var1&quot; will also be</span></div>
-<div class="line"> <span class="comment">// a constant.</span></div>
-<div class="line"> }</div>
-<div class="line"></div>
-<div class="line"> <span class="comment">// A non-constant method.</span></div>
-<div class="line"> <span class="keywordtype">void</span> SetVar1(<span class="keywordtype">int</span> new_value) {</div>
-<div class="line"> <span class="keywordtype">int</span> old_value = self_-&gt;var1;</div>
-<div class="line"> self_()-&gt;var1 = new_value; <span class="comment">// Use operator &quot;()&quot; (i.e. self_()) to</span></div>
-<div class="line"> <span class="comment">// access the object with non-constant type,</span></div>
-<div class="line"> <span class="comment">// so here &quot;self_()-&gt;var1&quot; will be a</span></div>
-<div class="line"> <span class="comment">// non-constant variable.</span></div>
-<div class="line"> <span class="keywordflow">if</span> (old_value != new_value) {</div>
-<div class="line"> self_()-&gt;var2 = old_value;</div>
-<div class="line"> <span class="comment">//self_-&gt;var2 = old_value; // !! It cause an error because operator &quot;()&quot;</span></div>
-<div class="line"> <span class="comment">// is missed if you want to modify the member</span></div>
-<div class="line"> <span class="comment">// in the DataMember.</span></div>
-<div class="line"> }</div>
-<div class="line"> }</div>
-<div class="line"></div>
-<div class="line"> <span class="keywordtype">int</span> GetVar2()<span class="keyword"> const </span>{</div>
-<div class="line"> self_()-&gt;counter += 1; <span class="comment">// !! It will not cause an error. Actually,</span></div>
-<div class="line"> <span class="comment">// the &quot;const&quot; keyword of a method will become</span></div>
-<div class="line"> <span class="comment">// more meanless, because inside the method, you</span></div>
-<div class="line"> <span class="comment">// can just use self_-&gt; or self_()-&gt; to determind</span></div>
-<div class="line"> <span class="comment">// whether you want to access the DataMember in</span></div>
-<div class="line"> <span class="comment">// constant mode or not. It might be dangerous</span></div>
-<div class="line"> <span class="comment">// but giving developer more flexable.</span></div>
-<div class="line"> <span class="keywordflow">return</span> self_-&gt;var2;</div>
-<div class="line"> }</div>
-<div class="line">};</div>
-</div><!-- fragment -->
-<p>Definition at line <a class="el" href="self_8h_source.html#l00117">117</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="a48c3ce6897b3eebfad96a871f9fc2054"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename SelfType&gt; </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>&lt; SelfType &gt;::<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>Creates a new one. </p>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00152">152</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a698997f92ac64eb031b7f88f4c40a5cb"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename SelfType&gt; </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>&lt; SelfType &gt;::<a class="el" href="classmeow_1_1Self.html">Self</a> </td>
- <td>(</td>
- <td class="paramtype">SelfType const &amp;&#160;</td>
- <td class="paramname"><em>arg_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>Creates a new one with specifying a initial value for SelfType object. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">arg_body</td><td>The initial value of the SelfType object. </td></tr>
- </table>
- </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00159">159</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="aafab402f6b101bb60764bb8bc1997c47"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename SelfType&gt; </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>&lt; SelfType &gt;::<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>&lt; SelfType &gt; const &amp;&#160;</td>
- <td class="paramname"><em>arg_another_self</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>References from another one. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">arg_another_self</td><td>Another <a class="el" href="classmeow_1_1Self.html" title="An implementation for the reference mechanism. ">Self</a> object. </td></tr>
- </table>
- </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00166">166</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a0ef07d3b04626fc926a0a947b20bb8dd"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename SelfType&gt; </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>&lt; SelfType &gt;::~<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>Detatches. </p>
-<p>It will automatically clear the SelfType object when no one refernece from it. </p>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00174">174</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a class="anchor" id="a4e38ec4ad25ad6e9cdcaf1003d60d1a1"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename SelfType&gt; </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>&lt; SelfType &gt;::Copy </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>Creates a copy one of itself. </p>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00198">198</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ac69d081fd7d4227ffdda07d62a325b1d"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename SelfType&gt; </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> const&amp; <a class="el" href="classmeow_1_1Self.html">meow::Self</a>&lt; SelfType &gt;::CopyFrom </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>&lt; SelfType &gt; const &amp;&#160;</td>
- <td class="paramname"><em>arg_another_self</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>Copies the data in SelfType object from another <a class="el" href="classmeow_1_1Self.html" title="An implementation for the reference mechanism. ">Self</a> object. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">arg_another_self</td><td>Another <a class="el" href="classmeow_1_1Self.html" title="An implementation for the reference mechanism. ">Self</a> object. </td></tr>
- </table>
- </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00190">190</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ae7d3dbc4337452bf93fb61898b5d3c2c"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename SelfType&gt; </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>&lt; SelfType &gt;::Is </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>&lt; SelfType &gt; const &amp;&#160;</td>
- <td class="paramname"><em>arg_another_self</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>Checks whether the gived instance of <a class="el" href="classmeow_1_1Self.html" title="An implementation for the reference mechanism. ">Self</a> references from the same SelfType with me or not. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">arg_another_self</td><td>Another instance of <a class="el" href="classmeow_1_1Self.html" title="An implementation for the reference mechanism. ">Self</a>. </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>true if we references from the same thing. </dd></dl>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00206">206</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="abd43b3f1437425ccd1c2d7acc80a9cef"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename SelfType&gt; </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>&amp; <a class="el" href="classmeow_1_1Self.html">meow::Self</a>&lt; SelfType &gt;::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>Access itself in non-constant mode. </p>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00227">227</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a17f88ab6c6e515b9c3c183145b0bf7a3"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename SelfType&gt; </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">SelfType* <a class="el" href="classmeow_1_1Self.html">meow::Self</a>&lt; SelfType &gt;::operator-&gt; </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>Access the instance of SelfType by address. </p>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00213">213</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="af414ac2a283abe9fa772760b65876b85"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename SelfType&gt; </div>
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">SelfType const* <a class="el" href="classmeow_1_1Self.html">meow::Self</a>&lt; SelfType &gt;::operator-&gt; </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>Access the instance of SelfType by constant address. </p>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00220">220</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a5b46b491e81d8c4120b1e7d9bf180855"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename SelfType&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classmeow_1_1Self.html">Self</a>&amp; <a class="el" href="classmeow_1_1Self.html">meow::Self</a>&lt; SelfType &gt;::operator= </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>&lt; SelfType &gt; const &amp;&#160;</td>
- <td class="paramname"><em>b</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Disallows the "operator=" so develops need to explicitly use CopyFrom/RefernceFrom. </p>
-
-</div>
-</div>
-<a class="anchor" id="a11a512ee42009b48644dbb9dd44a5864"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename SelfType&gt; </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> const&amp; <a class="el" href="classmeow_1_1Self.html">meow::Self</a>&lt; SelfType &gt;::ReferenceFrom </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>&lt; SelfType &gt; const &amp;&#160;</td>
- <td class="paramname"><em>arg_another_self</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>References from another <a class="el" href="classmeow_1_1Self.html" title="An implementation for the reference mechanism. ">Self</a> object. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">arg_another_self</td><td>Another <a class="el" href="classmeow_1_1Self.html" title="An implementation for the reference mechanism. ">Self</a> object. </td></tr>
- </table>
- </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00180">180</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>/home/cathook/Projects/template_meow/meowpp/utility/<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 Mon Sep 29 2014 16:55:35 for Templates -- Meow by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
- </ul>
-</div>
-</body>
-</html>