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.html576
1 files changed, 208 insertions, 368 deletions
diff --git a/doc/html/classmeow_1_1Self.html b/doc/html/classmeow_1_1Self.html
index 13def91..dc241d5 100644
--- a/doc/html/classmeow_1_1Self.html
+++ b/doc/html/classmeow_1_1Self.html
@@ -5,7 +5,7 @@
<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; Data &gt; Class Template Reference</title>
+<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>
@@ -28,7 +28,7 @@
<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">1.2.11</span>
+ &#160;<span id="projectnumber">2.0.-1</span>
</div>
<div id="projectbrief">A C++ template contains kinds of interesting classes and functions</div>
</td>
@@ -56,204 +56,169 @@ $(document).ready(function(){initNavTree('classmeow_1_1Self.html','');});
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
-<a href="#pub-types">Public Types</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; Data &gt; Class Template Reference</div> </div>
+<div class="title">meow::Self&lt; SelfType &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
-<p>For developer to pack the attributes of a class.
+<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-types"></a>
-Public Types</h2></td></tr>
-<tr class="memitem:aa7d169e9d20d590f3e571206084797f8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8">DuplicateType</a> { <a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8adef1b0d02e1090b1b610a4ea91bd6730">COPY_FROM</a>,
-<a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8a40c8a3eba568e04a5ce09ee0fa881822">REFERENCE_FROM</a>
- }</td></tr>
-<tr class="memdesc:aa7d169e9d20d590f3e571206084797f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Kind of ways of duplicating. <a href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8">More...</a><br/></td></tr>
-<tr class="separator:aa7d169e9d20d590f3e571206084797f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><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:a6b39fcc4b184809f9aeaeb1c9a0bac2d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a6b39fcc4b184809f9aeaeb1c9a0bac2d">Self</a> ()</td></tr>
-<tr class="memdesc:a6b39fcc4b184809f9aeaeb1c9a0bac2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor with a real entity <a href="#a6b39fcc4b184809f9aeaeb1c9a0bac2d">More...</a><br/></td></tr>
-<tr class="separator:a6b39fcc4b184809f9aeaeb1c9a0bac2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af3220c1e1d7966c6dbaf4ec62f8cbc2f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#af3220c1e1d7966c6dbaf4ec62f8cbc2f">Self</a> (Data const &amp;d)</td></tr>
-<tr class="memdesc:af3220c1e1d7966c6dbaf4ec62f8cbc2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">connstructor with a real entity with it using its copy constructor <a href="#af3220c1e1d7966c6dbaf4ec62f8cbc2f">More...</a><br/></td></tr>
-<tr class="separator:af3220c1e1d7966c6dbaf4ec62f8cbc2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afee797a10c73a1c8e02c8e6315a2930b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#afee797a10c73a1c8e02c8e6315a2930b">Self</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;b, <a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8">DuplicateType</a> d)</td></tr>
-<tr class="memdesc:afee797a10c73a1c8e02c8e6315a2930b"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor with given another <a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a> <a href="#afee797a10c73a1c8e02c8e6315a2930b">More...</a><br/></td></tr>
-<tr class="separator:afee797a10c73a1c8e02c8e6315a2930b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a000ede7e217c31401cc0a4b1c6749ee5"><td class="memItemLeft" align="right" valign="top">&#160;</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 &amp;b)</td></tr>
-<tr class="memdesc:a000ede7e217c31401cc0a4b1c6749ee5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disallow copy constructor. <a href="#a000ede7e217c31401cc0a4b1c6749ee5">More...</a><br/></td></tr>
-<tr class="separator:a000ede7e217c31401cc0a4b1c6749ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ada16564a03665b10810a6342d61044bc"><td class="memItemLeft" align="right" valign="top">&#160;</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">&#160;</td><td class="mdescRight">destructor <a href="#ada16564a03665b10810a6342d61044bc">More...</a><br/></td></tr>
-<tr class="separator:ada16564a03665b10810a6342d61044bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6063551c3e6ac647500e938ade8fbc99"><td class="memItemLeft" align="right" valign="top">Data const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#a6063551c3e6ac647500e938ade8fbc99">operator-&gt;</a> () const </td></tr>
-<tr class="memdesc:a6063551c3e6ac647500e938ade8fbc99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the constant pointer to the data. <a href="#a6063551c3e6ac647500e938ade8fbc99">More...</a><br/></td></tr>
-<tr class="separator:a6063551c3e6ac647500e938ade8fbc99"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ace312355261c68ac7531767939f5c4c2"><td class="memItemLeft" align="right" valign="top">Data *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmeow_1_1Self.html#ace312355261c68ac7531767939f5c4c2">operator-&gt;</a> ()</td></tr>
-<tr class="memdesc:ace312355261c68ac7531767939f5c4c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the non-constant pointer to the data (COR's clone might occure here. <a href="#ace312355261c68ac7531767939f5c4c2">More...</a><br/></td></tr>
-<tr class="separator:ace312355261c68ac7531767939f5c4c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5962339e9ee49312ab770f1119256ca6"><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#a5962339e9ee49312ab770f1119256ca6">operator()</a> () const </td></tr>
-<tr class="memdesc:a5962339e9ee49312ab770f1119256ca6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the non-constant reference of <code>*this</code>. <a href="#a5962339e9ee49312ab770f1119256ca6">More...</a><br/></td></tr>
-<tr class="separator:a5962339e9ee49312ab770f1119256ca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9cd016a38a09f479fe2ed83eb1ebdae2"><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#a9cd016a38a09f479fe2ed83eb1ebdae2">copyFrom</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;s)</td></tr>
-<tr class="memdesc:a9cd016a38a09f479fe2ed83eb1ebdae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the gived <code><a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a></code> to myself. <a href="#a9cd016a38a09f479fe2ed83eb1ebdae2">More...</a><br/></td></tr>
-<tr class="separator:a9cd016a38a09f479fe2ed83eb1ebdae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a63e1570c927c7fa3b95b71fe978e355d"><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#a63e1570c927c7fa3b95b71fe978e355d">referenceFrom</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;s)</td></tr>
-<tr class="memdesc:a63e1570c927c7fa3b95b71fe978e355d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference myself from given <code><a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a></code> object. <a href="#a63e1570c927c7fa3b95b71fe978e355d">More...</a><br/></td></tr>
-<tr class="separator:a63e1570c927c7fa3b95b71fe978e355d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae4256bfc598bb0db76141ffce506806e"><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#ae4256bfc598bb0db76141ffce506806e">duplicateFrom</a> (<a class="el" href="classmeow_1_1Self.html">Self</a> const &amp;s, <a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8">DuplicateType</a> t)</td></tr>
-<tr class="memdesc:ae4256bfc598bb0db76141ffce506806e"><td class="mdescLeft">&#160;</td><td class="mdescRight">call <code><a class="el" href="classmeow_1_1Self.html#a9cd016a38a09f479fe2ed83eb1ebdae2" title="Copy the gived Self to myself. ">copyFrom()</a></code> or <code><a class="el" href="classmeow_1_1Self.html#a63e1570c927c7fa3b95b71fe978e355d" title="Reference myself from given Self object. ">referenceFrom()</a></code> depend on your instruction <a href="#ae4256bfc598bb0db76141ffce506806e">More...</a><br/></td></tr>
-<tr class="separator:ae4256bfc598bb0db76141ffce506806e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab3671e44693b79e2f987f59652d46ca9"><td class="memItemLeft" align="right" valign="top">bool&#160;</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 &amp;s) const </td></tr>
-<tr class="memdesc:ab3671e44693b79e2f987f59652d46ca9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare tht if the gived <code><a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a></code> object is reference from the same object of me. <a href="#ab3671e44693b79e2f987f59652d46ca9">More...</a><br/></td></tr>
-<tr class="separator:ab3671e44693b79e2f987f59652d46ca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a91098e2218c358470e81d64f35d6491d"><td class="memItemLeft" align="right" valign="top">bool&#160;</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 &amp;s) const </td></tr>
-<tr class="memdesc:a91098e2218c358470e81d64f35d6491d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare that the data are the same. <a href="#a91098e2218c358470e81d64f35d6491d">More...</a><br/></td></tr>
-<tr class="separator:a91098e2218c358470e81d64f35d6491d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a10f22a83c3afcf65f8f9680f2a2f945c"><td class="memItemLeft" align="right" valign="top">bool&#160;</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 &amp;s) const </td></tr>
-<tr class="memdesc:a10f22a83c3afcf65f8f9680f2a2f945c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Order compare by reference pointer. <a href="#a10f22a83c3afcf65f8f9680f2a2f945c">More...</a><br/></td></tr>
-<tr class="separator:a10f22a83c3afcf65f8f9680f2a2f945c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af3277e1109c59e5f81549889b344a675"><td class="memItemLeft" align="right" valign="top">void&#160;</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 &amp;a)</td></tr>
-<tr class="memdesc:af3277e1109c59e5f81549889b344a675"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disallow default <code>'operator='</code>. <a href="#af3277e1109c59e5f81549889b344a675">More...</a><br/></td></tr>
-<tr class="separator:af3277e1109c59e5f81549889b344a675"><td class="memSeparator" colspan="2">&#160;</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;class Data&gt;<br/>
-class meow::Self&lt; Data &gt;</h3>
-
-<p>For developer to pack the attributes of a class. </p>
-<p>The idaa comes from python. Default C++'s reference machanism is very unflexible because a reference variable can only reference to an object without changing to other object. </p>
-<pre class="fragment"> With this technique, it can achieve Copy-On-Write(COR) mechanism at
- background and have a reference mechanism which much more flexible
- then the one C++ has.
-</pre><p>Sample code: </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="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"> Myself() { <span class="comment">// Necessary</span></div>
-<div class="line"> data = 0;</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"> Myself(Myself <span class="keyword">const</span>&amp; b): data(b.data) { <span class="comment">// Necessary, copy constructor</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"> ~Myself() {</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="keywordtype">bool</span> operator==(Myself <span class="keyword">const</span>&amp; b)<span class="keyword"> const </span>{ <span class="comment">// Optional (this method will</span></div>
-<div class="line"> <span class="comment">// be called only if you use</span></div>
-<div class="line"> <span class="comment">// Self::equal() method)</span></div>
-<div class="line"> <span class="keywordflow">return</span> (data == b.data);</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"> Self&lt;Myself&gt; <span class="keyword">const</span> <span class="keyword">self</span>; <span class="comment">// Here we use &#39;constant&#39; data type in</span></div>
-<div class="line"> <span class="comment">// order to have a coutious coding style</span></div>
-<div class="line"> <span class="comment">// and allow the COR mechanism to clone</span></div>
-<div class="line"> <span class="comment">// data only when we really want to</span></div>
-<div class="line"> <span class="comment">// modify them.</span></div>
-<div class="line"><span class="keyword">public</span>:</div>
-<div class="line"> A(): self() { } <span class="comment">// Default constructor</span></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"> A(A <span class="keyword">const</span>&amp; a): self(a.self, <a class="code" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8adef1b0d02e1090b1b610a4ea91bd6730">COPY_FROM</a>) { } <span class="comment">// Copy constructor. You must</span></div>
-<div class="line"> <span class="comment">// tell me which way of</span></div>
-<div class="line"> <span class="comment">// duplicating should I use.</span></div>
-<div class="line"> <span class="comment">// It strongly recommended you</span></div>
-<div class="line"> <span class="comment">// use COYP_FROM for keeping the</span></div>
-<div class="line"> <span class="comment">// C++&#39;s original behavior.</span></div>
-<div class="line"> ~A() { }</div>
+<div class="line"> <span class="keyword">public</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>-&gt;data; <span class="comment">// Use &#39;operator-&gt;()&#39; to get the pointer of the data</span></div>
-<div class="line"> <span class="comment">// The pointer is constant or not will depend on</span></div>
-<div class="line"> <span class="comment">// whether the left side variable of &#39;-&gt;&#39; is</span></div>
-<div class="line"> <span class="comment">// constant or not.</span></div>
-<div class="line"> <span class="comment">// If we just want to read the data, use</span></div>
-<div class="line"> <span class="comment">// &#39;self&#39; instead of &#39;self()&#39;</span></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>()-&gt;data = k; <span class="comment">// As a result of &#39;self()&#39; returning a non-constant</span></div>
-<div class="line"> <span class="comment">// reference of itself, here we get the permission</span></div>
-<div class="line"> <span class="comment">// for modiying data.</span></div>
-<div class="line"> <span class="comment">// So now we can observe that if you type</span></div>
-<div class="line"> <span class="comment">// &#39;Self&lt;Myself&gt; self&#39; instead of the one above,</span></div>
-<div class="line"> <span class="comment">// &#39;self&#39; and &#39;self()&#39; will become the same one and</span></div>
-<div class="line"> <span class="comment">// both of them allow you using &#39;-&gt;&#39; for getting</span></div>
-<div class="line"> <span class="comment">// writing permission. At the same time, the COR</span></div>
-<div class="line"> <span class="comment">// machanism will become useless because everytime</span></div>
-<div class="line"> <span class="comment">// you want to access the date, Self will copy the</span></div>
-<div class="line"> <span class="comment">// data to prevent you to modify it no matter that</span></div>
-<div class="line"> <span class="comment">// you might just want to read it.</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"> A <a class="code" href="classmeow_1_1Self.html#a63e1570c927c7fa3b95b71fe978e355d">referenceFrom</a>(A <span class="keyword">const</span>&amp; a) {</div>
-<div class="line"> <span class="keyword">self</span>.<a class="code" href="classmeow_1_1Self.html#a63e1570c927c7fa3b95b71fe978e355d">referenceFrom</a>(a.self);</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"> A <a class="code" href="classmeow_1_1Self.html#a9cd016a38a09f479fe2ed83eb1ebdae2">copyFrom</a>(A <span class="keyword">const</span>&amp; a) {</div>
-<div class="line"> <span class="keyword">self</span>.<a class="code" href="classmeow_1_1Self.html#a9cd016a38a09f479fe2ed83eb1ebdae2">copyFrom</a>(a.self);</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"> A&amp; <a class="code" href="classmeow_1_1Self.html#af3277e1109c59e5f81549889b344a675">operator=</a>(A <span class="keyword">const</span>&amp; b) { <span class="comment">// If you really like to use operator=, it</span></div>
-<div class="line"> <span class="comment">// strongly recommended you use &#39;copyFrom()&#39; for</span></div>
-<div class="line"> <span class="comment">// keeping C++&#39;s original behavior.</span></div>
-<div class="line"> <a class="code" href="classmeow_1_1Self.html#a9cd016a38a09f479fe2ed83eb1ebdae2">copyFrom</a>(b);</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> Note that '<a class="el" href="classmeow_1_1Self.html#a63e1570c927c7fa3b95b71fe978e355d" title="Reference myself from given Self object. ">referenceFrom()</a>' will cause the two object become the same one, Which means that if you do something like '<code>a.referenceFrom(b)</code>; <code>a.copyFrom(c)</code>; ', the result is that the value of <code>a</code>,b,c will all the same one.</p>
-<dl class="section author"><dt>Author</dt><dd>cathook</dd></dl>
-<dl class="section warning"><dt>Warning</dt><dd>This class disabled the method <code>operator=</code> and copy constructor in order to prevent unexplicit default behavior, so if you want to have one of them (or both), you must implement yourself </dd></dl>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00110">110</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-</div><h2 class="groupheader">Member Enumeration Documentation</h2>
-<a class="anchor" id="aa7d169e9d20d590f3e571206084797f8"></a>
+</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;class Data&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8">meow::Self::DuplicateType</a></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Kind of ways of duplicating. </p>
-<table class="fieldtable">
-<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="aa7d169e9d20d590f3e571206084797f8adef1b0d02e1090b1b610a4ea91bd6730"></a>COPY_FROM</em>&#160;</td><td class="fielddoc">
-<p>Normal copy operation. </p>
-</td></tr>
-<tr><td class="fieldname"><em><a class="anchor" id="aa7d169e9d20d590f3e571206084797f8a40c8a3eba568e04a5ce09ee0fa881822"></a>REFERENCE_FROM</em>&#160;</td><td class="fielddoc">
-<p>By reference, much like pointer's copy operation. </p>
-</td></tr>
-</table>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00115">115</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" id="a6b39fcc4b184809f9aeaeb1c9a0bac2d"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class Data&gt; </div>
+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; Data &gt;::<a class="el" href="classmeow_1_1Self.html">Self</a> </td>
+ <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>
@@ -266,26 +231,26 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>constructor with a real entity </p>
+<p>Creates a new one. </p>
-<p>Definition at line <a class="el" href="self_8h_source.html#l00210">210</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</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="af3220c1e1d7966c6dbaf4ec62f8cbc2f"></a>
+<a class="anchor" id="a698997f92ac64eb031b7f88f4c40a5cb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class Data&gt; </div>
+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; Data &gt;::<a class="el" href="classmeow_1_1Self.html">Self</a> </td>
+ <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">Data const &amp;&#160;</td>
- <td class="paramname"><em>d</em></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>
@@ -296,43 +261,33 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>connstructor with a real entity with it using its copy constructor </p>
+<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="paramdir">[in]</td><td class="paramname">d</td><td>Inital data </td></tr>
+ <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#l00218">218</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
+<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="afee797a10c73a1c8e02c8e6315a2930b"></a>
+<a class="anchor" id="aafab402f6b101bb60764bb8bc1997c47"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class Data&gt; </div>
+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; Data &gt;::<a class="el" href="classmeow_1_1Self.html">Self</a> </td>
+ <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; Data &gt; const &amp;&#160;</td>
- <td class="paramname"><em>b</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8">DuplicateType</a>&#160;</td>
- <td class="paramname"><em>d</em>&#160;</td>
- </tr>
- <tr>
+ <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>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</td>
@@ -342,50 +297,29 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>constructor with given another <a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a> </p>
+<p>References from another one. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Another <a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a> object. </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>To indicate type of way of duplicating </td></tr>
+ <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#l00227">227</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
+<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="a000ede7e217c31401cc0a4b1c6749ee5"></a>
+<a class="anchor" id="a0ef07d3b04626fc926a0a947b20bb8dd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class Data&gt; </div>
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classmeow_1_1Self.html">meow::Self</a>&lt; Data &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; Data &gt; const &amp;&#160;</td>
- <td class="paramname"><em>b</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Disallow copy constructor. </p>
-
-</div>
-</div>
-<a class="anchor" id="ada16564a03665b10810a6342d61044bc"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class Data&gt; </div>
+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; Data &gt;::~<a class="el" href="classmeow_1_1Self.html">Self</a> </td>
+ <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>
@@ -398,28 +332,28 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>destructor </p>
+<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#l00243">243</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</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="a9cd016a38a09f479fe2ed83eb1ebdae2"></a>
+<a class="anchor" id="a4e38ec4ad25ad6e9cdcaf1003d60d1a1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class Data&gt; </div>
+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; Data &gt;::copyFrom </td>
+ <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="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>&lt; Data &gt; const &amp;&#160;</td>
- <td class="paramname"><em>s</em></td><td>)</td>
- <td></td>
+ <td class="paramname"></td><td>)</td>
+ <td> const</td>
</tr>
</table>
</td>
@@ -429,44 +363,27 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Copy the gived <code><a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a></code> to myself. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>gived <code><a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a></code> </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>*this </dd></dl>
+<p>Creates a copy one of itself. </p>
-<p>Definition at line <a class="el" href="self_8h_source.html#l00270">270</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</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="ae4256bfc598bb0db76141ffce506806e"></a>
+<a class="anchor" id="ac69d081fd7d4227ffdda07d62a325b1d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class Data&gt; </div>
+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; Data &gt;::duplicateFrom </td>
+ <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; Data &gt; const &amp;&#160;</td>
- <td class="paramname"><em>s</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classmeow_1_1Self.html#aa7d169e9d20d590f3e571206084797f8">DuplicateType</a>&#160;</td>
- <td class="paramname"><em>t</em>&#160;</td>
- </tr>
- <tr>
+ <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>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</td>
@@ -476,34 +393,32 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>call <code><a class="el" href="classmeow_1_1Self.html#a9cd016a38a09f479fe2ed83eb1ebdae2" title="Copy the gived Self to myself. ">copyFrom()</a></code> or <code><a class="el" href="classmeow_1_1Self.html#a63e1570c927c7fa3b95b71fe978e355d" title="Reference myself from given Self object. ">referenceFrom()</a></code> depend on your instruction </p>
+<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="paramdir">[in]</td><td class="paramname">s</td><td>gived <code><a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a></code> object </td></tr>
- <tr><td class="paramdir">[in]</td><td class="paramname">t</td><td>instruction </td></tr>
+ <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>
-<dl class="section return"><dt>Returns</dt><dd>*this </dd></dl>
-<p>Definition at line <a class="el" href="self_8h_source.html#l00299">299</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
+<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="a91098e2218c358470e81d64f35d6491d"></a>
+<a class="anchor" id="ae7d3dbc4337452bf93fb61898b5d3c2c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class Data&gt; </div>
+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; Data &gt;::equal </td>
+ <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; Data &gt; const &amp;&#160;</td>
- <td class="paramname"><em>s</em></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>
@@ -514,31 +429,30 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Compare that the data are the same. </p>
+<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="paramdir">[in]</td><td class="paramname">s</td><td>another <code><a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a></code> object </td></tr>
+ <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><code>true</code> if the data are same.</dd></dl>
-<dl class="section note"><dt>Note</dt><dd>This will need the method 'Data::equal()' </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#l00326">326</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
+<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="a5962339e9ee49312ab770f1119256ca6"></a>
+<a class="anchor" id="abd43b3f1437425ccd1c2d7acc80a9cef"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class Data&gt; </div>
+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; Data &gt;::operator() </td>
+ <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>
@@ -551,26 +465,26 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Return the non-constant reference of <code>*this</code>. </p>
+<p>Access itself in non-constant mode. </p>
-<p>Definition at line <a class="el" href="self_8h_source.html#l00260">260</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</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="a6063551c3e6ac647500e938ade8fbc99"></a>
+<a class="anchor" id="a17f88ab6c6e515b9c3c183145b0bf7a3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class Data&gt; </div>
+template&lt;typename SelfType&gt; </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>&lt; Data &gt;::operator-&gt; </td>
+ <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> const</td>
+ <td></td>
</tr>
</table>
</td>
@@ -580,26 +494,26 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Return the constant pointer to the data. </p>
+<p>Access the instance of SelfType by address. </p>
-<p>Definition at line <a class="el" href="self_8h_source.html#l00248">248</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</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="ace312355261c68ac7531767939f5c4c2"></a>
+<a class="anchor" id="af414ac2a283abe9fa772760b65876b85"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class Data&gt; </div>
+template&lt;typename SelfType&gt; </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>&lt; Data &gt;::operator-&gt; </td>
+ <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></td>
+ <td> const</td>
</tr>
</table>
</td>
@@ -609,46 +523,46 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Return the non-constant pointer to the data (COR's clone might occure here. </p>
+<p>Access the instance of SelfType by constant address. </p>
-<p>Definition at line <a class="el" href="self_8h_source.html#l00255">255</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</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="af3277e1109c59e5f81549889b344a675"></a>
+<a class="anchor" id="a5b46b491e81d8c4120b1e7d9bf180855"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class Data&gt; </div>
+template&lt;typename SelfType&gt; </div>
<table class="memname">
<tr>
- <td class="memname">void <a class="el" href="classmeow_1_1Self.html">meow::Self</a>&lt; Data &gt;::operator= </td>
+ <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; Data &gt; const &amp;&#160;</td>
- <td class="paramname"><em>a</em></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>Disallow default <code>'operator='</code>. </p>
+<p>Disallows the "operator=" so develops need to explicitly use CopyFrom/RefernceFrom. </p>
</div>
</div>
-<a class="anchor" id="a63e1570c927c7fa3b95b71fe978e355d"></a>
+<a class="anchor" id="a11a512ee42009b48644dbb9dd44a5864"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
-template&lt;class Data&gt; </div>
+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; Data &gt;::referenceFrom </td>
+ <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; Data &gt; const &amp;&#160;</td>
- <td class="paramname"><em>s</em></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>
@@ -659,94 +573,20 @@ template&lt;class Data&gt; </div>
</table>
</div><div class="memdoc">
-<p>Reference myself from given <code><a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a></code> object. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>given <code><a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a></code> </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>*this </dd></dl>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00283">283</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a10f22a83c3afcf65f8f9680f2a2f945c"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class Data&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; Data &gt;::referenceLess </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>&lt; Data &gt; const &amp;&#160;</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>Order compare by reference pointer. </p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>another <code><a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a></code> object </td></tr>
- </table>
- </dd>
-</dl>
-
-<p>Definition at line <a class="el" href="self_8h_source.html#l00336">336</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="ab3671e44693b79e2f987f59652d46ca9"></a>
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;class Data&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; Data &gt;::same </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classmeow_1_1Self.html">Self</a>&lt; Data &gt; const &amp;&#160;</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>Compare tht if the gived <code><a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a></code> object is reference from the same object of me. </p>
+<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="paramdir">[in]</td><td class="paramname">s</td><td>gived <code><a class="el" href="classmeow_1_1Self.html" title="For developer to pack the attributes of a class. ">Self</a></code> object </td></tr>
+ <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>
-<dl class="section return"><dt>Returns</dt><dd><code>true</code> if we are referenced to the same object. </dd></dl>
-<p>Definition at line <a class="el" href="self_8h_source.html#l00314">314</a> of file <a class="el" href="self_8h_source.html">self.h</a>.</p>
+<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>meowpp/<a class="el" href="self_8h_source.html">self.h</a></li>
+<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 -->
@@ -755,7 +595,7 @@ template&lt;class Data&gt; </div>
<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 8 2014 21:25:41 for Templates -- Meow by
+ <li class="footer">Generated on Mon Sep 29 2014 16:41:30 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>