aboutsummaryrefslogtreecommitdiffstats
path: root/README.html
diff options
context:
space:
mode:
authorcathook <b01902109@csie.ntu.edu.tw>2014-06-01 13:56:57 +0800
committercathook <b01902109@csie.ntu.edu.tw>2014-06-01 13:56:57 +0800
commitd5052f1c296dddf51b3e83d59bf3e3c1952cb2d0 (patch)
tree16f7920c5079e0aefcf9509d2dbab59c464d42bd /README.html
parentbd58f63900410ec4764031f2e6de2d75e91434b3 (diff)
downloadmeow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar
meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.gz
meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.bz2
meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.lz
meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.xz
meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.tar.zst
meow-d5052f1c296dddf51b3e83d59bf3e3c1952cb2d0.zip
big chnage
Diffstat (limited to 'README.html')
-rw-r--r--README.html2545
1 files changed, 673 insertions, 1872 deletions
diff --git a/README.html b/README.html
index 26b5af2..cef1c4f 100644
--- a/README.html
+++ b/README.html
@@ -61,6 +61,13 @@ h1, h2, h3, h4, h5, h6 {
letter-spacing:+0.15em;
}
+h1 { font-size: 7ex; }
+h2 { font-size: 5ex; }
+h3 { font-size: 4ex; }
+h4 { font-size: 3ex; }
+h5 { font-size: 2ex; }
+h6 { font-size: 2ex; }
+
h1, h2, h3 { border-bottom: 2px solid #ccd; }
h2 { padding-top: 0.5em; }
h3 { float: left; }
@@ -83,6 +90,11 @@ ul, ol, li > p {
margin-top: 0;
}
+ul {
+ margin-left: 1em;
+ padding-left: 1em;
+}
+
pre {
padding: 0;
margin: 0;
@@ -139,6 +151,7 @@ div.title, caption.title {
text-align: left;
margin-top: 1.0em;
margin-bottom: 0.5em;
+ margin-left: 1em;
}
div.title + * {
margin-top: 0;
@@ -164,6 +177,7 @@ div.listingblock > div.content {
border: 1px solid silver;
background: #f4f4f4;
padding: 0.5em;
+ margin-left: 2em;
}
div.quoteblock {
@@ -325,9 +339,9 @@ div.hdlist.compact tr {
div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { margin-top: 0; margin-bottom: 0; }
div.toclevel1 { margin-top: 0.3em; margin-left: 0; font-size: 1.0em; }
-div.toclevel2 { margin-top: 0.25em; margin-left: 2em; font-size: 0.9em; }
-div.toclevel3 { margin-left: 4em; font-size: 0.8em; }
-div.toclevel4 { margin-left: 6em; font-size: 0.8em; }
+div.toclevel2 { margin-top: 0.25em; margin-left: 1em; font-size: 0.9em; }
+div.toclevel3 { margin-left: 2em; font-size: 0.8em; }
+div.toclevel4 { margin-left: 3em; font-size: 0.8em; }
body {
margin: 1em 5%;
@@ -350,6 +364,7 @@ body {
.paragraph p {
line-height: 1.5em;
margin-top: 1em;
+ margin-left: 2em;
}
.paragraph p, li, dd, .content { max-width: 100%; }
@@ -359,10 +374,11 @@ div.sectionbody div.ulist > ul > li {
list-style-type: square;
color: #aaa;
}
- div.sectionbody div.ulist > ul > li > * {
- color: black;
- /*font-size: 50%;*/
- }
+
+div.sectionbody div.ulist > ul > li > * {
+ color: black;
+ /*font-size: 50%;*/
+}
div.sectionbody div.ulist > ul > li div.ulist > ul > li {
@@ -388,6 +404,7 @@ em {
table.tableblock {
margin-top: 1.0em;
margin-bottom: 1.5em;
+ margin-left: 2em;
}
thead, p.tableblock.header {
font-weight: bold;
@@ -669,7 +686,7 @@ install: function(toclevels) {
}
}
-asciidoc.install(2);
+asciidoc.install(4);
/*]]>*/
</script>
</head>
@@ -709,2282 +726,1061 @@ asciidoc.install(2);
<h2 id="_file_tree">File Tree</h2>
<div class="sectionbody">
<div class="sect2">
-<h3 id="_strong_meowpp_strong_c_templates"><strong>meowpp/</strong> C++ templates</h3>
+<h3 id="_latex">LaTex/</h3>
+<div class="paragraph"><p>LaTex 相關模板</p></div>
+<div class="sect4">
+<h5 id="_makefile">Makefile</h5>
+<div class="paragraph"><p>環境變數:</p></div>
<div class="ulist"><ul>
<li>
<p>
-<strong>utility.h</strong> some useful functions,
- <span class="monospaced">stringPringf()</span> , <span class="monospaced">stringReplace()</span> , <span class="monospaced">cstringEndWith()</span> ,
- <span class="monospaced">debugPrintf()</span> , <span class="monospaced">messagePrintf()</span> , <span class="monospaced">filenameCompare()</span>
+<span class="monospaced">SOURCE = source.tex</span> 設定 <em>LaTex</em> 源碼檔名
</p>
</li>
<li>
<p>
-<strong>Usage.h</strong> <span class="monospaced">class Usage</span>
+<span class="monospaced">TARGET = output</span> 設定生出來的 <strong>pdf</strong> 檔名
</p>
</li>
-<li>
-<p>
-<strong>colors/</strong> Color splces and transformer
-</p>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content"><span class="monospaced">TARGET</span> 不需要給副檔名</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>targets:</p></div>
<div class="ulist"><ul>
<li>
<p>
-<strong>RGB.h</strong> <span class="monospaced">class RGBi</span> , <span class="monospaced">class RGBf</span>
+<span class="monospaced">all</span> 生成 <strong><em>&lt;TARGET&gt;</em>.pdf</strong>
</p>
</li>
<li>
<p>
-<strong>YUV.h</strong> <span class="monospaced">class YUVi</span> , <span class="monospaced">class YUVf</span> , <span class="monospaced">RGB_to_YUV()</span> , <span class="monospaced">YUV_to_RGB()</span>
+<span class="monospaced">view</span> 用kde-open 把輸出結果開起來(如有需要會先重新編譯)
</p>
</li>
<li>
<p>
-<strong>HSL.h</strong> <span class="monospaced">class HSLf</span> , <span class="monospaced">RGB_to_HSL()</span> , <span class="monospaced">HSL_to_RGB()</span> ,
- <span class="monospaced">YUV_to_HSL()</span> , <span class="monospaced">HSL_to_YUV()</span>
+<span class="monospaced">clean</span> 清除
</p>
</li>
<li>
<p>
-<strong>HSV.h</strong> <span class="monospaced">class HSVf</span> , <span class="monospaced">RGB_to_HSV()</span> , <span class="monospaced">HSV_to_RGB()</span> ,
- <span class="monospaced">YUV_to_HSV()</span> , <span class="monospaced">HSV_to_YUV()</span> ,
- <span class="monospaced">HSL_to_HSV()</span> , <span class="monospaced">HSV_to_HSL()</span>
+<span class="monospaced">two</span> 編譯兩次, 如果有目錄的話可能會需要用到
</p>
</li>
</ul></div>
-</li>
-<li>
-<p>
-<strong>dsa/</strong> Data Structures and Algorithms
-</p>
+</div>
+<div class="sect4">
+<h5 id="_source_tex">source.tex</h5>
+<div class="paragraph"><p>內容為一些我自己定義的設定, 參數設置等等. 另外還有用寫在註解裡面的小筆記</p></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_asciidoc">asciidoc/</h3>
+<div class="paragraph"><p>一些關於asciidoc的example與編譯設定</p></div>
+<div class="sect4">
+<h5 id="_makefile_2">Makefile</h5>
+<div class="paragraph"><p>編譯asciidoc用的, 裡面有兩個環境變數:</p></div>
<div class="ulist"><ul>
<li>
<p>
-<strong>BinaryIndexTree.h</strong> <span class="monospaced">class BinaryIndexTree&lt;Vector, Scalar&gt;</span>
+ASCIIDOC_SOURCE: 指定原始碼, 預設為 <em>example.txt</em>
</p>
</li>
<li>
<p>
-<strong>DisjointSet.h</strong> <span class="monospaced">class DisjointSet</span>
+ASCIIDOC_OUTPUT: 輸出的檔名, 預設為 <em>output.html</em>
</p>
</li>
+</ul></div>
+<div class="paragraph"><p>另外還有一個target:</p></div>
+<div class="listingblock">
+<div class="content"><!-- Generator: GNU source-highlight 3.1.6
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><span style="color: #009900">$(ASCIIDOC_OUTPUT)</span><span style="color: #990000">:</span> <span style="color: #009900">$(ASCIIDOC_SOURCE)</span></tt></pre></div></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_cppmakefile">cppMakefile/</h3>
+<div class="paragraph"><div class="title">Description</div><p>這是一個簡單的 <strong>GNU makefile for <em>C++</em> project</strong>
+類似AutoTool等工具, 不過又更簡化了, 操作方法是利用GNUMakefile裡的targets
+當作指令, 生出一個targets檔, 以後鍵入 <span class="monospaced">make all</span> 就會自動把所有targets都
+編譯出來.</p></div>
+<div class="ulist"><div class="title">Commands</div><ul>
<li>
<p>
-<strong>Heaps.h</strong> <span class="monospaced">class MergeableHeap&lt;Element&gt;</span>
+<span class="monospaced">make init</span><br>
+初始化, 設定完之後所在位置會多幾個資料夾如下
</p>
-</li>
+<div class="ulist"><ul>
<li>
<p>
-<strong>KD_Tree.h</strong> <span class="monospaced">class KD_Tree&lt;Vector, Scalar&gt;</span>
+<em>bin/</em> 放編譯出來的執行檔
</p>
</li>
<li>
<p>
-<strong>SegemenTree.h</strong> <span class="monospaced">class SegmentTree&lt;Value&gt;</span>
+<em>dep/</em> dependency相關資料, 內容會自動生成, 不用理它
</p>
</li>
<li>
<p>
-<strong>SplayTree.h</strong> <span class="monospaced">class SplayTree&lt;Key, Value&gt;</span>
+<em>inc/</em> 自定義的include file放置位置
</p>
</li>
<li>
<p>
-<strong>SplayTree_Range.h</strong> <span class="monospaced">class SplayTree_Range&lt;Key, Value&gt;</span>
+<em>src/</em> source code放置位置
</p>
</li>
<li>
<p>
-<strong>VP_Tree.h</strong> <span class="monospaced">class VP_Tree&lt;Vector, Scalar&gt;</span>
+<em>obj/</em> obj file放置位置, 會自動生成, 不用理它
</p>
</li>
</ul></div>
</li>
<li>
<p>
-<strong>geo/</strong>
-</p>
-<div class="ulist"><ul>
-<li>
-<p>
-<strong>Vector2D.h</strong> <span class="monospaced">Vector2D&lt;Scalar&gt;</span>
-</p>
-</li>
-<li>
-<p>
-<strong>Vector3D.h</strong> <span class="monospaced">Vector3D&lt;Scalar&gt;</span>
+<span class="monospaced">make new NAME=&lt;name&gt; [OBJS=&lt;OBJ_FILES&gt; LIBS=&lt;LIBRARIES&gt;]</span><br>
+新增一個target, 須給定目標名 , 並且此Makefile會假定 <span class="monospaced">main() { ... }</span> 放在
+<em>src/&lt;name&gt;.cpp</em> 而最終輸出會是 <em>bin/&lt;name&gt;</em> .<br>
+關於 <em>OBJS=</em> 與 <em>LIBS=</em> 參考下面說明
</p>
</li>
-</ul></div>
-</li>
<li>
<p>
-<strong>math/</strong>
+<span class="monospaced">make add NAME=&lt;name&gt; [OBJS=&lt;OBJ_FILES&gt; LIBS=&lt;LIBRARIES&gt;]</span><br>
+針對target為 <em>&lt;name&gt;</em> 的目標新增需要的 <em>&lt;OBJ_FILES&gt;</em> , 與 <em>&lt;LIBRARIES&gt;</em>.
+<em>&lt;LIBRARIES&gt;</em> 的部份會用 <span class="monospaced">pkg-config</span> 去解讀, 例如 <em>&lt;LIBRARIES&gt;</em> 為
+<em>opencv lapackpp</em> 則link時會被以下指令展開<br>
+<span class="monospaced">pkg-config --libs opencv lapackpp</span><br>
+而 <em>&lt;OBJ_FILES&gt;</em> 的部份則只需要給 <strong>name</strong> 就好, 不需要有完整個 pathname, 例如
+例如 <em>&lt;OBJ_FILES&gt;</em> 是 <em>a b c</em> 則此makefile會視為
</p>
<div class="ulist"><ul>
<li>
<p>
-<strong>utility.h</strong> some useful functions,
- <span class="monospaced">constant PI</span> ,
- <span class="monospaced">noEPS()</span> , <span class="monospaced">normalize()</span> , <span class="monospaced">denormalize()</span> ,
- <span class="monospaced">ratioMapping()</span> , <span class="monospaced">inRange()</span> , <span class="monospaced">squ()</span> , <span class="monospaced">average()</span>
-</p>
-</li>
-<li>
-<p>
-<strong>LinearTransformation.h</strong> <span class="monospaced">LinearTransformation&lt;Scalar&gt;</span>
+source code: <em>src/a.cpp src/b.cpp src/c.cpp</em>
</p>
</li>
<li>
<p>
-<strong>LinearTransformations.h</strong> <span class="monospaced">Rotation3D&lt;Scalar&gt;</span>
+obj file: <em>obj/a.o obj/b.o obj/c.o</em>
</p>
</li>
-<li>
-<p>
-<strong>Matrix.h</strong> <span class="monospaced">Matrix&lt;Entry&gt;</span>
-</p>
+</ul></div>
</li>
<li>
<p>
-<strong>Transformation.h</strong> <span class="monospaced">Transformation&lt;Scalar&gt;</span>
+<span class="monospaced">make del NAME=&lt;name&gt; [OBJS=&lt;OBJ_FILES&gt; LIBS=&lt;LIBRARIES&gt;]</span><br>
+與 add相反, 嘗試將指定target所需的<em>&lt;OBJ_FILES&gt;'和</em>&lt;LIBRARIES&gt;'移除
</p>
</li>
<li>
<p>
-<strong>Transformations.h</strong> <span class="monospaced">BallProjection&lt;Scalar&gt;</span>, <span class="monospaced">PhotoProjection&lt;Scalar&gt;</span>
+<span class="monospaced">make clean</span><br>
+將 <em>bin/<strong></em> <em>dep/</strong></em> <em>obj/*</em> 清除, 有時候覺得dependency怪怪的
+時可以嘗試執行此指令
</p>
</li>
</ul></div>
-</li>
-<li>
-<p>
-<strong>oo/</strong>
-</p>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">其中整個project到底有哪些obj file會完全依照 <strong>src/</strong> 裡面有哪些 <span class="monospaced">.cpp</span> 檔決定</td>
+</tr></table>
+</div>
+<div class="sect4">
+<h5 id="_gnumakefile">GNUMakefile</h5>
+<div class="paragraph"><p>就是一個 Makefile, 不過裡面有些東西是 <span class="monospaced">GNU-make</span> only的</p></div>
+</div>
+<div class="sect4">
+<h5 id="_gnumakefile_dependency_bash">GNUMakefile.dependency.bash</h5>
+<div class="paragraph"><p>產生 dependency檔用的</p></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_doxygen">doxygen/</h3>
+<div class="paragraph"><p>doxygen 相關設定</p></div>
+<div class="sect4">
+<h5 id="_makefile_3">Makefile</h5>
+<div class="paragraph"><p>編譯doxygen document的Makefile, 裡面只有一個target: <em>document</em>,
+另外有兩個環境變數:</p></div>
<div class="ulist"><ul>
<li>
<p>
-<strong>ObjBase.h</strong> <span class="monospaced">class ObjBase</span>
-</p>
-</li>
-<li>
-<p>
-<strong>ObjSelector.h</strong> <span class="monospaced">class ObjBase&lt;size_t id&gt;</span>
+DOXYGEN_RUN_PATH: 指定doxygen執行的pwd, 預設為 <span class="monospaced">pwd</span>
</p>
</li>
<li>
<p>
-<strong>Properties.h</strong> <span class="monospaced">class Properties</span>
+DOXYGEN_CONFIG: 指定config檔放在哪裡, 預設為 <span class="monospaced">pwd</span>
</p>
</li>
</ul></div>
-</li>
-</ul></div>
</div>
+<div class="sect4">
+<h5 id="_config">config</h5>
+<div class="paragraph"><p>設置, 以下幾點個人覺得比較重要的</p></div>
+<div class="listingblock">
+<div class="content"><!-- Generator: GNU source-highlight 3.1.6
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>
+<span style="font-style: italic"><span style="color: #9A1900">#---------------------------------------------------------------------------</span></span>
+<span style="font-style: italic"><span style="color: #9A1900"># Project related configuration options</span></span>
+<span style="font-style: italic"><span style="color: #9A1900">#---------------------------------------------------------------------------</span></span>
+<span style="color: #009900">DOXYFILE_ENCODING </span><span style="color: #990000">=</span> UTF<span style="color: #990000">-</span><span style="color: #993399">8</span>
+<span style="color: #009900">PROJECT_NAME </span><span style="color: #990000">=</span> <span style="color: #FF0000">"Templates -- Meow"</span>
+<span style="color: #009900">PROJECT_NUMBER </span><span style="color: #990000">=</span> <span style="color: #993399">1.1</span><span style="color: #990000">.</span><span style="color: #993399">2</span>
+<span style="color: #009900">PROJECT_BRIEF </span><span style="color: #990000">=</span> 不能<span style="color: #990000">,</span> 也不應該先編譯成obj<span style="color: #990000">-</span>file的templates
+<span style="color: #009900">PROJECT_LOGO </span><span style="color: #990000">=</span> <span style="color: #009900">$(config_path)</span><span style="color: #990000">/</span>logo<span style="color: #990000">.</span>png
+<span style="color: #009900">OUTPUT_DIRECTORY </span><span style="color: #990000">=</span> doc
+<span style="color: #009900">CREATE_SUBDIRS </span><span style="color: #990000">=</span> NO
+<span style="color: #009900">OUTPUT_LANGUAGE </span><span style="color: #990000">=</span> English
+<span style="color: #009900">TAB_SIZE </span><span style="color: #990000">=</span> <span style="color: #993399">2</span>
+
+<span style="font-style: italic"><span style="color: #9A1900">#---------------------------------------------------------------------------</span></span>
+<span style="font-style: italic"><span style="color: #9A1900"># Build related configuration options</span></span>
+<span style="font-style: italic"><span style="color: #9A1900">#---------------------------------------------------------------------------</span></span>
+<span style="color: #009900">EXTRACT_ALL </span><span style="color: #990000">=</span> YES
+<span style="color: #009900">EXTRACT_STATIC </span><span style="color: #990000">=</span> YES
+<span style="color: #009900">EXTRACT_LOCAL_CLASSES </span><span style="color: #990000">=</span> NO
+<span style="color: #009900">EXTRACT_LOCAL_CLASSES </span><span style="color: #990000">=</span> YES
+<span style="color: #009900">FORCE_LOCAL_INCLUDES </span><span style="color: #990000">=</span> YES
+
+<span style="font-style: italic"><span style="color: #9A1900">#---------------------------------------------------------------------------</span></span>
+<span style="font-style: italic"><span style="color: #9A1900"># configuration options related to the input files</span></span>
+<span style="font-style: italic"><span style="color: #9A1900">#---------------------------------------------------------------------------</span></span>
+<span style="color: #009900">INPUT </span><span style="color: #990000">=</span> meowpp
+<span style="color: #009900">INPUT_ENCODING </span><span style="color: #990000">=</span> UTF<span style="color: #990000">-</span><span style="color: #993399">8</span>
+<span style="color: #009900">FILE_PATTERNS </span><span style="color: #990000">=</span>
+<span style="color: #009900">RECURSIVE </span><span style="color: #990000">=</span> YES
+
+<span style="font-style: italic"><span style="color: #9A1900">#---------------------------------------------------------------------------</span></span>
+<span style="font-style: italic"><span style="color: #9A1900"># configuration options related to the HTML output</span></span>
+<span style="font-style: italic"><span style="color: #9A1900">#---------------------------------------------------------------------------</span></span>
+<span style="color: #009900">GENERATE_HTML </span><span style="color: #990000">=</span> YES
+<span style="color: #009900">HTML_OUTPUT </span><span style="color: #990000">=</span> html
+<span style="color: #009900">HTML_FILE_EXTENSION </span><span style="color: #990000">=</span> <span style="color: #990000">.</span>html
+<span style="color: #009900">HTML_HEADER </span><span style="color: #990000">=</span> <span style="color: #009900">$(config_path)</span><span style="color: #990000">/</span>header<span style="color: #990000">.</span>html
+<span style="color: #009900">HTML_FOOTER </span><span style="color: #990000">=</span> <span style="color: #009900">$(config_path)</span><span style="color: #990000">/</span>footer<span style="color: #990000">.</span>html
+<span style="color: #009900">HTML_STYLESHEET </span><span style="color: #990000">=</span> <span style="color: #009900">$(config_path)</span><span style="color: #990000">/</span>stylesheet<span style="color: #990000">.</span>css
+<span style="color: #009900">HTML_EXTRA_STYLESHEET </span><span style="color: #990000">=</span> <span style="color: #009900">$(config_path)</span><span style="color: #990000">/</span>custom<span style="color: #990000">.</span>css
+<span style="color: #009900">HTML_EXTRA_FILES </span><span style="color: #990000">=</span>
+<span style="color: #009900">HTML_COLORSTYLE_HUE </span><span style="color: #990000">=</span> <span style="color: #993399">120</span>
+<span style="color: #009900">HTML_COLORSTYLE_SAT </span><span style="color: #990000">=</span> <span style="color: #993399">36</span>
+<span style="color: #009900">HTML_COLORSTYLE_GAMMA </span><span style="color: #990000">=</span> <span style="color: #993399">166</span>
+<span style="color: #009900">DISABLE_INDEX </span><span style="color: #990000">=</span> YES
+<span style="color: #009900">GENERATE_TREEVIEW </span><span style="color: #990000">=</span> YES
+<span style="color: #009900">FORMULA_FONTSIZE </span><span style="color: #990000">=</span> <span style="color: #993399">11</span>
+<span style="color: #009900">SEARCHENGINE </span><span style="color: #990000">=</span> NO
+
+<span style="font-style: italic"><span style="color: #9A1900">#---------------------------------------------------------------------------</span></span>
+<span style="font-style: italic"><span style="color: #9A1900"># configuration options related to the LaTeX output</span></span>
+<span style="font-style: italic"><span style="color: #9A1900">#---------------------------------------------------------------------------</span></span>
+<span style="color: #009900">GENERATE_LATEX </span><span style="color: #990000">=</span> YES
+<span style="color: #009900">LATEX_CMD_NAME </span><span style="color: #990000">=</span> xelatex
+<span style="color: #009900">PAPER_TYPE </span><span style="color: #990000">=</span> letter
+<span style="color: #009900">HIDE_UNDOC_RELATIONS </span><span style="color: #990000">=</span> NO
+<span style="color: #009900">UML_LOOK </span><span style="color: #990000">=</span> YES
+<span style="color: #009900">EXTRA_PACKAGES </span><span style="color: #990000">=</span>
+<span style="color: #009900">LATEX_HEADER </span><span style="color: #990000">=</span> <span style="color: #009900">$(config_path)</span><span style="color: #990000">/</span>header<span style="color: #990000">.</span>tex
+<span style="color: #009900">LATEX_FOOTER </span><span style="color: #990000">=</span> <span style="color: #009900">$(config_path)</span><span style="color: #990000">/</span>footer<span style="color: #990000">.</span>tex
+
+<span style="font-style: italic"><span style="color: #9A1900">#---------------------------------------------------------------------------</span></span>
+<span style="font-style: italic"><span style="color: #9A1900"># Configuration options related to the dot tool</span></span>
+<span style="font-style: italic"><span style="color: #9A1900">#---------------------------------------------------------------------------</span></span>
+<span style="color: #009900">CALL_GRAPH </span><span style="color: #990000">=</span> YES
+<span style="color: #009900">CALLER_GRAPH </span><span style="color: #990000">=</span> YES</tt></pre></div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content"><em>config</em> 中 <span class="monospaced">$(config_path)</span> 是一個環境變數, 代表這個configure file所在位置
+<strong>呼叫asciidoc時必須有設置這個環境變數</strong></td>
+</tr></table>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_header_html">header.html</h5>
+<div class="paragraph"><p><strong>HTML</strong> output 的開頭
+沒有更動</p></div>
+</div>
+<div class="sect4">
+<h5 id="_footer_html">footer.html</h5>
+<div class="paragraph"><p><strong>HTML</strong> output 的結尾
+沒有更動</p></div>
+</div>
+<div class="sect4">
+<h5 id="_logo_png">logo.png</h5>
+<div class="paragraph"><p>就是logo</p></div>
+</div>
+<div class="sect4">
+<h5 id="_stylesheet_css">stylesheet.css</h5>
+<div class="paragraph"><p><strong>HTML</strong> output 的css樣式, 我把他改成暗色系了</p></div>
+<div class="paragraph"><p>以下是更動的地方:</p></div>
+<div class="listingblock">
+<div class="content"><!-- Generator: GNU source-highlight 3.1.6
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>body<span style="color: #990000">,</span> table<span style="color: #990000">,</span> div<span style="color: #990000">,</span> p<span style="color: #990000">,</span> dl <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">font:</span> <span style="font-style: italic"><span style="color: #009900">400</span></span> <span style="font-style: italic"><span style="color: #009900">14px</span></span>/<span style="font-style: italic"><span style="color: #009900">19px</span></span> <span style="font-style: italic"><span style="color: #009900">Roboto</span></span>,<span style="font-style: italic"><span style="color: #009900">sans-serif</span></span>,<span style="font-style: italic"><span style="color: #009900">monospace</span></span>;
+<span style="color: #FF0000">}</span>
+
+<span style="color: #993399">.title</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">line-height:</span> <span style="font-style: italic"><span style="color: #009900">100%</span></span>;
+ <span style="color: #0000FF">font-size:</span> <span style="font-style: italic"><span style="color: #009900">200%</span></span>;
+ <span style="color: #0000FF">margin :</span> <span style="font-style: italic"><span style="color: #009900">0px</span></span>;
+ <span style="color: #0000FF">padding:</span> <span style="font-style: italic"><span style="color: #009900">0px</span></span>;
+ <span style="color: #0000FF">border :</span> <span style="font-style: italic"><span style="color: #009900">0px</span></span>;
+<span style="color: #FF0000">}</span>
+
+dt <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#999999</span>;
+ <span style="color: #0000FF">font-style:</span><span style="font-style: italic"><span style="color: #009900">italic</span></span>;
+<span style="color: #FF0000">}</span>
+
+div<span style="color: #993399">.qindex</span><span style="color: #990000">,</span> div<span style="color: #993399">.navtab</span><span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">background-color:</span> <span style="color: #FF0000">#2B3F26</span>;
+<span style="color: #FF0000">}</span>
+
+a <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#5D77AC</span>;
+<span style="color: #FF0000">}</span>
+
+<span style="color: #993399">.contents</span> a<span style="color: #990000">:</span>visited <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#7695D2</span>;
+<span style="color: #FF0000">}</span>
+
+a<span style="color: #993399">.code</span><span style="color: #990000">,</span> a<span style="color: #993399">.code</span><span style="color: #990000">:</span>visited <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#7695D2</span>;
+<span style="color: #FF0000">}</span>
+
+a<span style="color: #993399">.codeRef</span><span style="color: #990000">,</span> a<span style="color: #993399">.codeRef</span><span style="color: #990000">:</span>visited <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#7695D2</span>;
+<span style="color: #FF0000">}</span>
+
+pre<span style="color: #993399">.fragment</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">background-color:</span> <span style="color: #FF0000">#0B0C0D</span>;
+ <span style="color: #0000FF">border-radius:</span> <span style="font-style: italic"><span style="color: #009900">4px</span></span>;
+ <span style="color: #0000FF">-moz-border-radius:</span> <span style="font-style: italic"><span style="color: #009900">4px</span></span>;
+ <span style="color: #0000FF">-webkit-border-top-left-radius:</span> <span style="font-style: italic"><span style="color: #009900">4px</span></span>;
+<span style="color: #FF0000">}</span>
+
+div<span style="color: #993399">.fragment</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">background-color:</span> <span style="color: #FF0000">#0B0C0D</span>;
+ <span style="color: #0000FF">border-radius:</span> <span style="font-style: italic"><span style="color: #009900">4px</span></span>;
+ <span style="color: #0000FF">-moz-border-radius:</span> <span style="font-style: italic"><span style="color: #009900">4px</span></span>;
+ <span style="color: #0000FF">-webkit-border-top-left-radius:</span> <span style="font-style: italic"><span style="color: #009900">4px</span></span>;
+<span style="color: #FF0000">}</span>
+
+div<span style="color: #993399">.line</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">font-family:</span> '<span style="font-style: italic"><span style="color: #009900">courier</span></span> <span style="font-style: italic"><span style="color: #009900">new</span></span>', <span style="font-style: italic"><span style="color: #009900">monospace</span></span>, <span style="font-style: italic"><span style="color: #009900">fixed</span></span>;
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#CCCCCC</span>;
+ <span style="color: #0000FF">font-size:</span> <span style="font-style: italic"><span style="color: #009900">14px</span></span>;
+ <span style="color: #0000FF">min-height:</span> <span style="font-style: italic"><span style="color: #009900">14px</span></span>;
+<span style="color: #FF0000">}</span>
+
+span<span style="color: #993399">.lineno</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">background-color:</span> <span style="color: #FF0000">#181818</span>;
+<span style="color: #FF0000">}</span>
+span<span style="color: #993399">.lineno</span> a <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">background-color:</span> <span style="color: #FF0000">#3B3838</span>;
+<span style="color: #FF0000">}</span>
+
+span<span style="color: #993399">.lineno</span> a<span style="color: #990000">:</span>hover <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">background-color:</span> <span style="color: #FF0000">#6B6868</span>;
+<span style="color: #FF0000">}</span>
+
+body <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">background-color:</span> <span style="color: #FF0000">#212131</span>;
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#DDFFDD</span>;
+<span style="color: #FF0000">}</span>
+
+span<span style="color: #993399">.keyword</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#00A000</span>
+<span style="color: #FF0000">}</span>
+
+span<span style="color: #993399">.keywordtype</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#907050</span>
+<span style="color: #FF0000">}</span>
+
+span<span style="color: #993399">.comment</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#808080</span>
+<span style="color: #FF0000">}</span>
+
+table<span style="color: #993399">.memberdecls</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">border-top-color:</span> <span style="color: #FF0000">#111111</span>;
+<span style="color: #FF0000">}</span>
+
+<span style="color: #993399">.memTemplItemLeft</span><span style="color: #990000">,</span> <span style="color: #993399">.memTemplItemRight</span><span style="color: #990000">,</span> <span style="color: #993399">.memTemplParams</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">background-color:</span> <span style="color: #FF0000">#192322</span>;
+<span style="color: #FF0000">}</span>
+
+<span style="color: #993399">.mdescLeft</span><span style="color: #990000">,</span> <span style="color: #993399">.mdescRight</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#CCCCCC</span>;
+<span style="color: #FF0000">}</span>
+
+<span style="color: #993399">.memTemplParams</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#7695D2</span>;
+<span style="color: #FF0000">}</span>
+
+<span style="color: #993399">.memtemplate</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#7695D2</span>;
+<span style="color: #FF0000">}</span>
+
+<span style="color: #993399">.memproto</span><span style="color: #990000">,</span> dl<span style="color: #993399">.reflist</span> dt <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#758575</span>;
+ <span style="color: #0000FF">text-shadow:</span> <span style="font-style: italic"><span style="color: #009900">0px</span></span> <span style="font-style: italic"><span style="color: #009900">1px</span></span> <span style="font-style: italic"><span style="color: #009900">1px</span></span> <span style="font-style: italic"><span style="color: #009900">rgba</span></span>(<span style="font-style: italic"><span style="color: #009900">0</span></span>, <span style="font-style: italic"><span style="color: #009900">0</span></span>, <span style="font-style: italic"><span style="color: #009900">0</span></span>, <span style="font-style: italic"><span style="color: #009900">0.95</span></span>);
+ <span style="font-style: italic"><span style="color: #9A1900">/* background-image:url('nav_f.png'); */</span></span>
+ <span style="color: #0000FF">background-color:</span> <span style="color: #FF0000">#181C28</span>;
+<span style="color: #FF0000">}</span>
+
+<span style="color: #993399">.memdoc</span><span style="color: #990000">,</span> dl<span style="color: #993399">.reflist</span> dd <span style="color: #FF0000">{</span>
+ <span style="font-style: italic"><span style="color: #9A1900">/* background-image:url('nav_g.png'); */</span></span>
+ <span style="color: #0000FF">background-color:</span> <span style="color: #FF0000">#131923</span>;
+<span style="color: #FF0000">}</span>
+
+<span style="color: #993399">.params</span> <span style="color: #993399">.paramdir</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span><span style="color: #FF0000">#A0AA00</span>;
+<span style="color: #FF0000">}</span>
+
+<span style="color: #993399">.directory</span> tr<span style="color: #993399">.even</span> <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">background-color:</span> <span style="color: #FF0000">#272838</span>;
+<span style="color: #FF0000">}</span>
+
+<span style="color: #993399">.directory</span> <span style="color: #993399">.levels</span> span <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#5D77AC</span>;
+<span style="color: #FF0000">}</span>
+
+div<span style="color: #993399">.header</span>
+<span style="color: #FF0000">{</span>
+ <span style="font-style: italic"><span style="color: #9A1900">/* background-image:url('nav_h.png'); */</span></span>
+ <span style="font-style: italic"><span style="color: #9A1900">/* background-repeat:repeat-x; */</span></span>
+ <span style="color: #0000FF">background-color:</span> <span style="color: #FF0000">#290A1C</span>;
+ <span style="color: #0000FF">padding:</span> <span style="font-style: italic"><span style="color: #009900">0px</span></span>;
+ <span style="color: #0000FF">margin :</span> <span style="font-style: italic"><span style="color: #009900">0px</span></span>;
+ <span style="color: #0000FF">border :</span> <span style="font-style: italic"><span style="color: #009900">0px</span></span>;
+ <span style="color: #0000FF">margin-top:</span> <span style="font-style: italic"><span style="color: #009900">10px</span></span>;
+ <span style="color: #0000FF">border-bottom:</span> <span style="font-style: italic"><span style="color: #009900">1px</span></span> <span style="font-style: italic"><span style="color: #009900">solid</span></span> <span style="color: #FF0000">#AA0000</span>;<span style="font-style: italic"><span style="color: #9A1900">/*#C4CFE5;*/</span></span>
+<span style="color: #FF0000">}</span>
+
+div<span style="color: #993399">.headertitle</span>
+<span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">padding:</span> <span style="font-style: italic"><span style="color: #009900">5px</span></span>;
+ <span style="color: #0000FF">margin :</span> <span style="font-style: italic"><span style="color: #009900">0px</span></span>;
+ <span style="color: #0000FF">border :</span> <span style="font-style: italic"><span style="color: #009900">0px</span></span>;
+<span style="color: #FF0000">}</span>
+
+<span style="color: #993399">#projectname</span>
+<span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">font:</span> <span style="font-style: italic"><span style="color: #009900">400%</span></span> <span style="font-style: italic"><span style="color: #009900">Tahoma</span></span>, <span style="font-style: italic"><span style="color: #009900">Arial</span></span>,<span style="font-style: italic"><span style="color: #009900">sans-serif</span></span>,<span style="font-style: italic"><span style="color: #009900">monospace</span></span>;
+<span style="color: #FF0000">}</span>
+
+div<span style="color: #993399">.toc</span> h3 <span style="color: #FF0000">{</span>
+ <span style="color: #0000FF">color:</span> <span style="color: #FF0000">#7695D2</span>;
+<span style="color: #FF0000">}</span>
+</tt></pre></div></div>
+</div>
+<div class="sect4">
+<h5 id="_custom_css">custom.css</h5>
+<div class="paragraph"><p><strong>HTML</strong> output 的css樣式, 在這邊設定的話連 <em>navtree</em> 等都可以設定.<br>
+另外這個檔案的檔名不能是 <span class="monospaced">navtree.css</span> , 不知道是不是bug.</p></div>
+</div>
+<div class="sect4">
+<h5 id="_header_tex">header.tex</h5>
+<div class="paragraph"><p><strong>LaTex</strong> output 的開頭</p></div>
+</div>
+<div class="sect4">
+<h5 id="_header_tex_2">header.tex</h5>
+<div class="paragraph"><p><strong>LaTex</strong> output 的結尾</p></div>
+</div>
+<div class="sect4">
+<h5 id="_stylesheet_sty">stylesheet.sty</h5>
+<div class="paragraph"><p><strong>LaTex</strong> 的樣式設定</p></div>
</div>
</div>
-<div class="sect1">
-<h2 id="_structures_classes_functions">Structures/Classes/Functions</h2>
-<div class="sectionbody">
<div class="sect2">
-<h3 id="_meow_strong_functios_strong_in_utility_h">meow:: <strong>Functios</strong> in utility.h</h3>
-<table class="tableblock frame-all grid-rows"
-style="
-width:100%;
-">
-<col style="width:5%;">
-<col style="width:29%;">
-<col style="width:5%;">
-<col style="width:58%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Name </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type </th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>stringPrintf</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(char const * <span class="monospaced">fmt</span>, &#8230;)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">std::string</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Format print to C++ string and return it</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>stringReplace</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(std::string <span class="monospaced">str</span>,<br>
-std::string const&amp;
-<span class="monospaced">from</span>,<br>
-std::string const&amp; <span class="monospaced">to</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">std::string</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Return a string like <span class="monospaced">str</span>, but all <span class="monospaced">from</span> be replaced by <span class="monospaced">to</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>cstringEndWith</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(char const* <span class="monospaced">str</span>,<br>
-int <span class="monospaced">n</span>, &#8230;)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Return whether <span class="monospaced">str</span> is end with one of the c-string you specify in
-the parameters or not</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>debugPrintf</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(char const* <span class="monospaced">fmt</span>, &#8230;)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Print debug message (file name, line number, &#8230;etc) when <span class="monospaced">DEBUG</span> is
-defined</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>messagePrintf</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(int <span class="monospaced">level_change</span>,<br>
-char const* <span class="monospaced">fmt</span>, &#8230;)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">階層式的訊息輸出</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>filenameCompare</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(std::string const&amp; <span class="monospaced">f1</span>, std::string const&amp; <span class="monospaced">f2</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">依照 <span class="monospaced">a0.txt &lt; a1.txt &lt; a2.txt &lt; a10.txt</span> 的字串比較方法比較字串</p></td>
-</tr>
-</tbody>
-</table>
+<h3 id="_meowpp">meowpp/</h3>
+<div class="paragraph"><p>meow for <strong>C++ templates</strong></p></div>
+<div class="sect4">
+<h5 id="_self_h">Self.h</h5>
+<div class="paragraph"><p>包含一個具有 <strong>Copy On Write</strong> 技術的 <em>class</em> 而且有實作 <strong>by reference</strong> ,
+基本上就是改良C\+\+原本的 reference 機制, 原本的 reference 只能在宣告的時候
+指定參照指向的變數,
+而這邊則可以動態改變</p></div>
+</div>
+<div class="sect4">
+<h5 id="_usage_h">Usage.h</h5>
+<div class="paragraph"><p>方便user製作還算精美的 <strong>usage document</strong> 並且利用 <span class="monospaced">getopt()</span> 實作讀入參數與分析</p></div>
+</div>
+<div class="sect4">
+<h5 id="_utility_h">utility.h</h5>
+<div class="paragraph"><p>一些不知道要歸類到哪的小functions</p></div>
+</div>
+<div class="sect3">
+<h4 id="_colors">colors/</h4>
+<div class="paragraph"><p>一些 <strong>color space</strong> 以及這些space的 <strong>transformate function</strong> 都放在這資料夾下</p></div>
<div class="admonitionblock">
<table><tr>
<td class="icon">
<div class="title">Note</div>
</td>
-<td class="content">
-<div class="ulist"><ul>
-<li>
-<p>
-<span class="monospaced">stringReplace()</span> 不是用什麼好方法寫的因此執行效率很低請別虐待它.
-</p>
-</li>
-</ul></div>
-</td>
+<td class="content">目前transformation function的準確率還很低, 有待以後加強</td>
</tr></table>
</div>
-<hr>
+<div class="sect4">
+<h5 id="_color3_space_h">Color3_Space.h</h5>
+<div class="paragraph"><p><span class="monospaced">class Color3_Space&lt;T&gt;</span> <strong>Channel Number = 3</strong> 的 Color Space 的共通 <strong>Base class</strong></p></div>
</div>
-<div class="sect2">
-<h3 id="_meow_strong_usage_strong_c_class">meow:: <strong>Usage</strong> (C++ Class)</h3>
-<div class="sect3">
-<h4 id="_description_2">Description</h4>
-<div class="paragraph"><p><span class="monospaced">Usage</span> 是用來分析argc, argv和輸出usage document的class.
-argc, argv的部份, 有以下規則</p></div>
+<div class="sect4">
+<h5 id="_rgb_space_h">RGB_Space.h</h5>
+<div class="paragraph"><p>Channel分別是</p></div>
<div class="ulist"><ul>
<li>
<p>
-<span class="monospaced">-c</span> 其中 <span class="monospaced">c</span> 可以代換成正常的一個字元的字符,
-這種選像要嘛就是 <strong>有設置</strong> , 不然就是 <strong>沒設置</strong>
+Red
</p>
</li>
<li>
<p>
-<span class="monospaced">-c &lt;value&gt;</span> 附加一個value, 這種選項可以是選擇性 ,即要設定與否都可以,
-反之則一定要設定. 另外可以給定value的預設值以及哪些value是可接受的
+Green
</p>
</li>
<li>
<p>
-<span class="monospaced">&lt;value&gt;</span> 其他, 一律視為process arguments
+Blue
</p>
</li>
</ul></div>
-</div>
-<div class="sect3">
-<h4 id="_methods">Methods</h4>
-<div class="ulist"><ul>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-<span class="monospaced">Usage(String const&amp; _name)</span><br>
-建構子, 所有說明文字中 <strong>&lt;name&gt;</strong> 都會被代換成 <span class="monospaced">_name</span>
+<span class="monospaced">meow::RGBi_Space</span> 用 <em>int</em> 存資料, 每個channel數值合法範圍是 <strong>0~255</strong>
</p>
</li>
<li>
<p>
-<span class="monospaced">Usage()</span><br>
-建構子, <span class="monospaced">_name</span> 自動取為 " <strong>nobody</strong> "
+<span class="monospaced">meow::RGBf_Space</span> 用 <em>double</em> 存資料, 每個channel數值合法範圍是 <strong>0.0~1.0</strong>
</p>
</li>
+</ul></div>
+<div class="ulist"><div class="title">Functions</div><ul>
<li>
<p>
-<span class="monospaced">import(Usage const&amp; usage)</span><br>
-將另一個usage的設定匯入, 回傳成功與否 <strong>(bool)</strong>
+<span class="monospaced">meow::colorTransformation(in, *out)</span> for
</p>
-</li>
+<div class="ulist"><ul>
<li>
<p>
-<span class="monospaced">update(Usage const&amp; usage)</span><br>
-將另一個usage分析argc,argv出來的資料拿來用, 回傳成功與否 <strong>(bool)</strong>
+RGBi_Space &#8592;&#8594; RGBf_Space
</p>
</li>
-<li>
-<p>
-<span class="monospaced">addOption(unsigned char option, String const&amp; description)</span><br>
-新增一個不接額外選項的參數, 並附上說明文字, 回傳成功與否 <strong>(bool)</strong>
-</p>
+</ul></div>
</li>
+</ul></div>
+</div>
+<div class="sect4">
+<h5 id="_yuv_space_h">YUV_Space.h</h5>
+<div class="paragraph"><p>Channel分別是</p></div>
+<div class="ulist"><ul>
<li>
<p>
-<span class="monospaced">addOption(unsigned char option, String const&amp; description,
-String const&amp; value_type, String const&amp; value_default, bool must)</span><br>
-新增一個有額外選項的參數, 並附上說明文字, 額外選項的型別跟預設值.
-說明文字中所有的" <strong>&lt;types&gt;</strong> "將會被取代指定的型別, 其中 <span class="monospaced">must</span> 代表
-" <strong>是否一定要設定此參數</strong> " , 回傳表成功與否 <strong>(bool)</strong>
+Y 明度
</p>
</li>
<li>
<p>
-<span class="monospaced">addOptionValueAccept(unsigned char option,
-String const&amp; value, String const&amp; description)</span><br>
-針對某個option, 新增一個可接受的額外選項 (如果某個option從頭到尾都
-沒有新增可接受的選項, 則視為不限制), 回傳成功與否 <strong>(bool)</strong>
+U 色度
</p>
</li>
<li>
<p>
-<span class="monospaced">hasOptionSetup(unsigned char option)</span><br>
-回傳是否有此選項 <strong>(bool)</strong>
+V 濃度
</p>
</li>
+</ul></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-<span class="monospaced">getOptionValuesCount(unsigned char option)</span><br>
-回傳此參數被設置了幾次 <strong>(size_t)</strong> , 只對有接額外參數的有效
+<span class="monospaced">meow::YUVf_Space</span> 用 <em>double</em> 存資料, 每個channel數值合法範圍是 <strong>0~1.0</strong>
</p>
</li>
+</ul></div>
+<div class="ulist"><div class="title">Functions</div><ul>
<li>
<p>
-<span class="monospaced">getOptionValue(unsigned char option, size_t index)</span><br>
-回傳第`index`個額外選項 <strong>(String)</strong>
+<span class="monospaced">meow::colorTransformation(in, *out)</span> for
</p>
-</li>
+<div class="ulist"><ul>
<li>
<p>
-<span class="monospaced">getProcArgsCount()</span><br>
-回傳有多少個Process Arguments <strong>(size_t)</strong>
+YUVf_Space &#8592;&#8594; RGBi_Space
</p>
</li>
<li>
<p>
-<span class="monospaced">getProcArg(size_t index)</span><br>
-取得第`index`個Process Argument <strong>(String)</strong>
+YUVf_Space &#8592;&#8594; RGBf_Space
</p>
</li>
+</ul></div>
+</li>
+</ul></div>
+</div>
+<div class="sect4">
+<h5 id="_hsl_space_h">HSL_Space.h</h5>
+<div class="paragraph"><p>Channel分別是</p></div>
+<div class="ulist"><ul>
<li>
<p>
-<span class="monospaced">getProcArgs()</span><br>
-回傳一個陣列, 包含所有Process Arguments <strong>(Strings)</strong>
+H 色調
</p>
</li>
<li>
<p>
-<span class="monospaced">addUsageBegin(String const&amp; des)</span><br>
-新增一段usage document於每個選項逐條說明之前
+S 飽和度
</p>
</li>
<li>
<p>
-<span class="monospaced">addUsageEnd (String const&amp; des)</span> <br>
-新增一段usage document於每個選項逐條說明之後
+L 亮度
</p>
</li>
+</ul></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-<span class="monospaced">String getUsage()</span><br>
-回傳usage document <strong>(String)</strong>
+<span class="monospaced">meow::HSLf_Space</span> 用 <em>double</em> 存資料, 每個channel數值合法範圍是 <strong>0~1.0</strong>
</p>
</li>
+</ul></div>
+<div class="ulist"><div class="title">Functions</div><ul>
<li>
<p>
-<span class="monospaced">setArguments(int argc, char** argv, String* errmsg)</span><br>
-輸入argv, argc, 回傳是否沒有錯誤發生 <strong>(bool)</strong> , 其中如果有錯誤發生,
-且 <span class="monospaced">errmsg != NULL</span> 則會將錯誤訊息寫入之
+<span class="monospaced">meow::colorTransformation(in, *out)</span> for
</p>
-</li>
-</ul></div>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<div class="title">Note</div>
-</td>
-<td class="content">
<div class="ulist"><ul>
<li>
<p>
-<span class="monospaced">String</span> 是 <span class="monospaced">std::string</span> .
+HSLf_Space &#8592;&#8594; RGBi_Space
</p>
</li>
<li>
<p>
-<span class="monospaced">Strings</span> 是 <span class="monospaced">std::vector&lt; std::string&gt; &gt;</span>.
+HSLf_Space &#8592;&#8594; RGBf_Space
</p>
</li>
<li>
<p>
-如果沒有寫回傳什麼, 就是回傳 <span class="monospaced">void</span>
+HSLf_Space &#8592;&#8594; YUVf_Space
</p>
</li>
</ul></div>
-</td>
-</tr></table>
-</div>
-<hr>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_meow_strong_disjointset_strong_c_class">meow:: <strong>DisjointSet</strong> (C++ class)</h3>
-<div class="sect3">
-<h4 id="_description_3">Description</h4>
-<div class="paragraph"><p><span class="monospaced">DisjointSet</span> 是個<strong>輕量級Data Dtructure</strong>, 用來維護一堆互斥集的資訊.
-相關資料可參考
-<a href="http://www.csie.ntnu.edu.tw/~u91029/DisjointSets.html">演算法筆記</a></p></div>
+</li>
+</ul></div>
</div>
-<div class="sect3">
-<h4 id="_support_methods">Support Methods</h4>
-<table class="tableblock frame-all grid-rows"
-style="
-width:100%;
-">
-<col style="width:2%;">
-<col style="width:8%;">
-<col style="width:18%;">
-<col style="width:8%;">
-<col style="width:8%;">
-<col style="width:54%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-right valign-top" >Name </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-center valign-top" > Time_Complexity</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>root</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">number</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">very fast</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳 <span class="monospaced">number</span> 所在的 <strong>集合的編號</strong> (0~N-1)</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>size</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">very fast</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳 <strong>總集合大小</strong></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>reset</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">N</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(N)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">清空, 並且設定總集合大小為 <span class="monospaced">N</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>merge</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">number1</span>,<br>
-size_t <span class="monospaced">number2</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">very fast</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將 <span class="monospaced">number1</span> 所在的集合 跟 <span class="monospaced">number2</span> 所在的集合 <strong>合併</strong>,
-並回傳合併後新的集合的編號</p></td>
-</tr>
-</tbody>
-</table>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<div class="title">Note</div>
-</td>
-<td class="content">
+<div class="sect4">
+<h5 id="_hsv_space_h">HSV_Space.h</h5>
+<div class="paragraph"><p>Channel分別是</p></div>
<div class="ulist"><ul>
<li>
<p>
-<strong>very fast</strong> 表示它算的真的超級快, 可以視為常數時間.
+H 色調
</p>
</li>
<li>
<p>
-預設值所有 <span class="monospaced">number</span> 所在的集合的編號就是 <span class="monospaced">number</span> 本身,
-即沒有任兩個數在同一個set裡面
+S 飽和度
+</p>
+</li>
+<li>
+<p>
+V 亮度
</p>
</li>
</ul></div>
-</td>
-</tr></table>
-</div>
-<hr>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_meow_strong_mergeableheap_lt_element_gt_strong_c_class">meow:: <strong>MergeableHeap&lt;Element&gt;</strong> (C++ class)</h3>
-<div class="sect3">
-<h4 id="_description_4">Description</h4>
-<div class="paragraph"><p>一個用 <strong>左偏樹</strong> 實作的 <strong>Maximum-Heap</strong> , 除了原本heap有的功能外,
-還支援 <span class="monospaced">merge</span>, <span class="monospaced">split</span> 等功能</p></div>
-</div>
-<div class="sect3">
-<h4 id="_template_class_operators_request">Template Class Operators Request</h4>
-<table class="tableblock frame-all grid-rows"
-style="
-width:70%;
-">
-<col style="width:3%;">
-<col style="width:3%;">
-<col style="width:10%;">
-<col style="width:17%;">
-<col style="width:10%;">
-<col style="width:53%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-left valign-top" >Typename</th>
-<th class="tableblock halign-left valign-top" > Operator </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator&lt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Element <span class="monospaced">v</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">大小比較</p></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="sect3">
-<h4 id="_support_methods_2">Support Methods</h4>
-<div class="ulist"><ul>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-N &#8592; <span class="monospaced">this</span> 中擁有的資料數
+<span class="monospaced">meow::HSVf_Space</span> 用 <em>double</em> 存資料, 每個channel數值合法範圍是 <strong>0~1.0</strong>
</p>
</li>
</ul></div>
-<table class="tableblock frame-all grid-rows"
-style="
-width:100%;
-">
-<col style="width:2%;">
-<col style="width:5%;">
-<col style="width:19%;">
-<col style="width:8%;">
-<col style="width:8%;">
-<col style="width:55%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-right valign-top" >Name </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-center valign-top" > Time_Complexity</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>moveTo</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(MergeableHeap* <span class="monospaced">h</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(M)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將 <span class="monospaced">this</span> 的資料複寫到 <span class="monospaced">h</span> 上面, 同時清空自己,
-時間複雜度中的M是 <span class="monospaced">h</span> 所擁有的資料數</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>top</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element const&amp;</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳最大的那個 <span class="monospaced">Element</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>size</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳 <span class="monospaced">this</span> 中擁有的資料數</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>empty</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳 <span class="monospaced">this</span> 是否為空</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>push</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Element const&amp; <span class="monospaced">e</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將 <span class="monospaced">e</span> 加入</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>pop</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將最大的 <span class="monospaced">Element</span> 移除</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>clear</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(N)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將資料清空</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>merge</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(MergeableHeap* <span class="monospaced">heap2</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN+logM)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將 <span class="monospaced">heap2</span> 的資料統統加到 <span class="monospaced">this</span> 中, 並且清空 <span class="monospaced">heap2</span>
-時間複雜度中的M是 <span class="monospaced">heap2</span> 的資料數</p></td>
-</tr>
-</tbody>
-</table>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<div class="title">Warning</div>
-</td>
-<td class="content">
-<div class="ulist"><ul>
+<div class="ulist"><div class="title">Functions</div><ul>
<li>
<p>
-假設現在有兩個MergeableHeap <span class="monospaced">A</span> 和 <span class="monospaced">B</span>, 則:
+<span class="monospaced">meow::colorTransformation(in, *out)</span> for
</p>
<div class="ulist"><ul>
<li>
<p>
-執行 <span class="monospaced">A.merge(&amp;B)</span> 後 <span class="monospaced">B</span> 會變成空的
+HSVf_Space &#8592;&#8594; RGBi_Space
</p>
</li>
<li>
<p>
-執行 <span class="monospaced">B.moveTo(&amp;A)</span> 後 <span class="monospaced">B</span> 會變成空的, <span class="monospaced">A</span> 原本擁有的資料也會覆蓋掉
+HSVf_Space &#8592;&#8594; RGBf_Space
</p>
</li>
-</ul></div>
-</li>
-</ul></div>
-</td>
-</tr></table>
-</div>
-<hr>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_meow_strong_vp_tree_lt_vector_scalar_gt_strong_c_class">meow:: <strong>VP_Tree&lt;Vector, Scalar&gt;</strong> (C++ class)</h3>
-<div class="sect3">
-<h4 id="_description_5">Description</h4>
-<div class="paragraph"><p><span class="monospaced">VP_Tree</span> 用來維護由 <strong>N個K維度向量所成的集合</strong>,
-並可於該set中查找 <strong>前i個離給定向量最接近的向量</strong>.<br>
-不像 <span class="monospaced">KD_Tree</span> 二分樹每次都選擇一個維度去分, 分成小的跟大的,
-<span class="monospaced">VP_Tree</span> 每次選一個點, 將資料分成 離這個點近的, 跟離這個點遠的.
-至於怎麼選呢&#8230;., 嘛還沒研究, 先random</p></div>
-<div class="ulist"><div class="title">參考資料連結:</div><ul>
<li>
<p>
-<a href="http://stevehanov.ca/blog/index.php?id=130">link</a>
+HSVf_Space &#8592;&#8594; YUVf_Space
</p>
</li>
<li>
<p>
-<a href="http://pnylab.com/pny/papers/vptree/vptree">link</a>
+HSVf_Space &#8592;&#8594; HSLf_Space
</p>
</li>
</ul></div>
+</li>
+</ul></div>
</div>
-<div class="sect3">
-<h4 id="_template_class_operators_request_2">Template Class Operators Request</h4>
-<table class="tableblock frame-all grid-rows"
-style="
-width:70%;
-">
-<col style="width:3%;">
-<col style="width:3%;">
-<col style="width:10%;">
-<col style="width:17%;">
-<col style="width:10%;">
-<col style="width:53%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-left valign-top" >Typename</th>
-<th class="tableblock halign-left valign-top" > Operator </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Vector</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator[]</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">n</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">取得第 <span class="monospaced">n</span> 維度量</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Vector</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator=</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Vector <span class="monospaced">v</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Vector&amp;</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">copy operator</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Vector</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator&lt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Vector <span class="monospaced">v</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">權重比較</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong><em>Scalar</em></strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(int <span class="monospaced">n</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">建構子,
-其中一定<span class="monospaced">n=0 or 4</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator*</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Scalar <span class="monospaced">s</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">相乘</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator+</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Scalar <span class="monospaced">s</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">相加</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator-</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Scalar <span class="monospaced">s</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">相差</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator-</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">( )</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">取負號</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator&lt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Scalar <span class="monospaced">s</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">大小比較</p></td>
-</tr>
-</tbody>
-</table>
</div>
<div class="sect3">
-<h4 id="_custom_type_definitions">Custom Type Definitions</h4>
-<div class="ulist"><ul>
+<h4 id="_dsa">dsa/</h4>
+<div class="paragraph"><p>包含一些資料結構</p></div>
+<div class="sect4">
+<h5 id="_binaryindextree_h">BinaryIndexTree.h</h5>
+<div class="paragraph"><p>極度簡化的 <strong>SegmentTree</strong> 已無區間更新的操作.</p></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-<span class="monospaced">Vectors</span> &#8592; <span class="monospaced">std::vector&lt;Vector&gt;</span>
+<span class="monospaced">meow::BinaryIndexTree&lt;Value&gt;</span>
</p>
</li>
</ul></div>
</div>
-<div class="sect3">
-<h4 id="_support_methods_3">Support Methods</h4>
-<div class="ulist"><ul>
+<div class="sect4">
+<h5 id="_disjointset_h">DisjointSet.h</h5>
+<div class="paragraph"><p>用來維護一堆互斥集的資訊.</p></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-N &#8592; <span class="monospaced">this</span> 中擁有的資料數
+<span class="monospaced">meow::DisjointSet</span>
</p>
</li>
+</ul></div>
+</div>
+<div class="sect4">
+<h5 id="_hashtable_h">HashTable.h</h5>
+<div class="paragraph"><p>就是傳說中的HashTable</p></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-D &#8592; <span class="monospaced">this</span> 資料維度
+<span class="monospaced">meow::HashTableList&lt;Data, HashFunc&gt;</span>
</p>
</li>
</ul></div>
-<table class="tableblock frame-all grid-rows"
-style="
-width:100%;
-">
-<col style="width:2%;">
-<col style="width:8%;">
-<col style="width:18%;">
-<col style="width:8%;">
-<col style="width:8%;">
-<col style="width:54%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-right valign-top" >Name </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-center valign-top" > Time_Complexity</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>insert</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Vector const&amp; <span class="monospaced">v</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將向量 <span class="monospaced">v</span> 加到set中</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>erase</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Vector const&amp; <span class="monospaced">v</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(N)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將向量 <span class="monospaced">v</span> 從set中移除, <em><sub>TODO:可以再優化</sub></em></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>build</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(KN logN) or O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">檢查距上一次 <span class="monospaced">build()</span> 至今是否有 <span class="monospaced">insert/erase</span> 被呼叫,
-若有, 重新建樹, 否則不做事</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>forceBuild</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(KN logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">重新建樹</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>query</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Vector const&amp; <span class="monospaced">v</span>,<br>
-size_t <span class="monospaced">i</span>,<br>
-bool <span class="monospaced">cmp</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Vectors</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN) <sub>Expected</sub></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">於set中找尋距離 <span class="monospaced">v</span> 前 <span class="monospaced">i</span> 近的向量, 並依照由近而遠的順序排序.
-如果有兩個向量 <span class="monospaced">v1</span>,<span class="monospaced">v2</span> 距離一樣, 且 <span class="monospaced">cmp</span> 為 <span class="monospaced">true</span> , 則直接依照
-<span class="monospaced">v1 &lt; v2</span> 來決定誰在前面. 最後回傳一陣列包含所有解.</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>clear</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">清空所有資料</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>reset</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">dimension</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">清空所有資料並且指定維度為 <span class="monospaced">max(1, dimension)</span> 並且回傳指定後的維度</p></td>
-</tr>
-</tbody>
-</table>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<div class="title">Note</div>
-</td>
-<td class="content">
-<div class="ulist"><ul>
+</div>
+<div class="sect4">
+<h5 id="_kd_tree_h">KD_Tree.h</h5>
+<div class="paragraph"><p>查詢第k近鄰居用的</p></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-實測結果發覺, 維度小的時候, 比起中規中矩的 <span class="monospaced">KD_Tree</span>, <span class="monospaced">VP_Tree</span> 有
-<em>randomp</em> 於其中, 因此時間複雜度只是期望值 <em>O(logN)</em> 但是測資大到
-一定程度, <span class="monospaced">KD_Tree</span> 效率會一整個大幅掉下, 但 <span class="monospaced">VP_Tree</span> 幾乎不受影響
+<span class="monospaced">meow::KD_Tree&lt;Vector&gt;</span>
</p>
</li>
+</ul></div>
+</div>
+<div class="sect4">
+<h5 id="_mergeableheap_h">MergeableHeap.h</h5>
+<div class="paragraph"><p>可合併Heap</p></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-<em>TODO</em> <span class="monospaced">insert()</span>, <span class="monospaced">erase()</span> 算是未完成功能
+<span class="monospaced">meow::MergeableHeap&lt;Element&gt;</span>
</p>
</li>
</ul></div>
-</td>
-</tr></table>
-</div>
-<hr>
</div>
+<div class="sect4">
+<h5 id="_segmenttree_h">SegmentTree.h</h5>
+<div class="paragraph"><p>線段樹
+.Classes
+* <span class="monospaced">meow::SegmentTree&lt;Value&gt;</span></p></div>
</div>
-<div class="sect2">
-<h3 id="_meow_strong_kd_tree_lt_vector_scalar_gt_strong_c_class">meow:: <strong>KD_Tree&lt;Vector, Scalar&gt;</strong> (C++ class)</h3>
-<div class="sect3">
-<h4 id="_description_6">Description</h4>
-<div class="paragraph"><p><span class="monospaced">KD_Tree</span> 全名k-dimension tree, 用來維護由 <strong>N個K維度向量所成的集合</strong>,
-並可於該set中查找 <strong>前i個離給定向量最接近的向量</strong></p></div>
-</div>
-<div class="sect3">
-<h4 id="_template_class_operators_request_3">Template Class Operators Request</h4>
-<table class="tableblock frame-all grid-rows"
-style="
-width:70%;
-">
-<col style="width:3%;">
-<col style="width:3%;">
-<col style="width:10%;">
-<col style="width:17%;">
-<col style="width:10%;">
-<col style="width:53%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-left valign-top" >Typename</th>
-<th class="tableblock halign-left valign-top" > Operator </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Vector</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator[]</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">n</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">取得第 <span class="monospaced">n</span> 維度量</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Vector</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator&lt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Vector <span class="monospaced">v</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">權重比較</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator*</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Scalar <span class="monospaced">s</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">相乘</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator+</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Scalar <span class="monospaced">s</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">相加</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator-</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Scalar <span class="monospaced">s</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">相差</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Scalar</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator&lt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Scalar <span class="monospaced">s</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">大小比較</p></td>
-</tr>
-</tbody>
-</table>
+<div class="sect4">
+<h5 id="_splaytree_h">SplayTree.h</h5>
+<div class="paragraph"><p>伸展樹, 比一般平衡樹稍強的東東
+* <span class="monospaced">meow::SplayTree&lt;Key, Value&gt;</span>
+* <span class="monospaced">meow::SplayTree_Range&lt;Key, Value&gt;</span></p></div>
</div>
-<div class="sect3">
-<h4 id="_custom_type_definitions_2">Custom Type Definitions</h4>
-<div class="ulist"><ul>
+<div class="sect4">
+<h5 id="_vp_tree_h">VP_Tree.h</h5>
+<div class="paragraph"><p>查詢第k近鄰居用的</p></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-<span class="monospaced">Vectors</span> &#8592; <span class="monospaced">std::vector&lt;Vector&gt;</span>
+<span class="monospaced">meow::VP_Tree&lt;Vector&gt;</span>
</p>
</li>
</ul></div>
</div>
+</div>
<div class="sect3">
-<h4 id="_support_methods_4">Support Methods</h4>
-<div class="ulist"><ul>
+<h4 id="_geo">geo/</h4>
+<div class="paragraph"><p>計算幾何相關, 算是從math中特化出來的</p></div>
+<div class="sect4">
+<h5 id="_vectors_h">Vectors.h</h5>
+<div class="paragraph"><p>實作上不是用陣列, 是直接宣告2到3個變數分別存x, y (,z)</p></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-N &#8592; <span class="monospaced">this</span> 中擁有的資料數
+<span class="monospaced">meow::Vector2D&lt;Scalar&gt;</span>
</p>
</li>
<li>
<p>
-K &#8592; <span class="monospaced">this</span> 資料維度
+<span class="monospaced">meow::Vector3D&lt;Scalar&gt;</span>
</p>
</li>
</ul></div>
-<table class="tableblock frame-all grid-rows"
-style="
-width:100%;
-">
-<col style="width:2%;">
-<col style="width:8%;">
-<col style="width:18%;">
-<col style="width:8%;">
-<col style="width:8%;">
-<col style="width:54%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-right valign-top" >Name </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-center valign-top" > Time_Complexity</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>insert</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Vector const&amp; <span class="monospaced">v</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將向量 <span class="monospaced">v</span> 加到set中</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>erase</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Vector const&amp; <span class="monospaced">v</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(N)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將向量 <span class="monospaced">v</span> 從set中移除, <em><sub>TODO:可以再優化</sub></em></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>build</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(KN logN) or O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">檢查距上一次 <span class="monospaced">build()</span> 至今是否有 <span class="monospaced">insert/erase</span> 被呼叫,
-若有, 重新建樹, 否則不做事</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>forceBuild</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(KN logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">重新建樹</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>query</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Vector const&amp; <span class="monospaced">v</span>,<br>
-size_t <span class="monospaced">i</span>,<br>
-bool <span class="monospaced">cmp</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Vectors</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(KN <sup>1-1/K</sup> )</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">於set中找尋距離 <span class="monospaced">v</span> 前 <span class="monospaced">i</span> 近的向量, 並依照由近而遠的順序排序.
-如果有兩個向量 <span class="monospaced">v1</span>,<span class="monospaced">v2</span> 距離一樣, 且 <span class="monospaced">cmp</span> 為 <span class="monospaced">true</span> , 則直接依照
-<span class="monospaced">v1 &lt; v2</span> 來決定誰在前面. 最後回傳一陣列包含所有解.</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>clear</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">清空所有資料</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>reset</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">dimension</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">清空所有資料並且指定維度為 <span class="monospaced">dimension</span></p></td>
-</tr>
-</tbody>
-</table>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<div class="title">Note</div>
-</td>
-<td class="content">
-<div class="ulist"><ul>
-<li>
-<p>
-此資料結構只有在 N &gt;&gt; 2 <sup>K</sup> 時才比較有優勢,
-當 K 逐漸變大時, 所花時間會跟暴搜沒兩樣
-</p>
-</li>
-</ul></div>
-</td>
-</tr></table>
-</div>
-<hr>
-</div>
</div>
-<div class="sect2">
-<h3 id="_meow_strong_splaytree_lt_key_value_gt_strong_c_class">meow:: <strong>SplayTree&lt;Key, Value&gt;</strong> (C++ class)</h3>
-<div class="sect3">
-<h4 id="_description_7">Description</h4>
-<div class="paragraph"><p><span class="monospaced">SplayTree</span> 是一種神乎其技的資料結構, 維護一堆 Key&#8594;Value . 並且支援
-一些 <span class="monospaced">std::map</span> 難以快速實踐的操作, 如 <span class="monospaced">split</span> , <span class="monospaced">merge</span> , <span class="monospaced">keyOffset</span></p></div>
-</div>
-<div class="sect3">
-<h4 id="_template_class_operators_request_4">Template Class Operators Request</h4>
-<table class="tableblock frame-all grid-rows"
-style="
-width:70%;
-">
-<col style="width:3%;">
-<col style="width:3%;">
-<col style="width:10%;">
-<col style="width:17%;">
-<col style="width:10%;">
-<col style="width:53%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-left valign-top" >Typename</th>
-<th class="tableblock halign-left valign-top" > Operator</th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Key</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator+</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Key</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">相加</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Key</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator&lt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">大小比較</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Key</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong><em>Key</em></strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(int <span class="monospaced">n</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">建構子, <span class="monospaced">n</span> 永遠是0</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong><em>Value</em></strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">( )</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">建構子</p></td>
-</tr>
-</tbody>
-</table>
</div>
<div class="sect3">
-<h4 id="_custom_type_definitions_3">Custom Type Definitions</h4>
-<div class="ulist"><ul>
+<h4 id="_math">math/</h4>
+<div class="sect4">
+<h5 id="_utility_h_2">utility.h</h5>
+<div class="paragraph"><p>數學相關的小 function 雜七雜八的不知道歸類何處</p></div>
+<div class="ulist"><div class="title">Functions</div><ul>
<li>
<p>
-<span class="monospaced">Element</span> &#8594; 用來當作回傳資料的媒介
+noEPS()
</p>
-<div class="ulist"><ul>
+</li>
<li>
<p>
-重定義 <span class="monospaced">operator-&gt;()</span> 到 <span class="monospaced">std::pair&lt;Key const&amp;, Value&amp;&gt;*</span>
+normalize()
</p>
</li>
<li>
<p>
-重定義 <span class="monospaced">operator*()</span> 到 <span class="monospaced">std::pair&lt;Key const&amp;, Value&amp;&gt;&amp;</span>
+denormalize()
</p>
</li>
<li>
<p>
-有 <span class="monospaced">operator==</span> , <span class="monospaced">operator!=</span>, <span class="monospaced">operator=</span> 可用
+ratioMapping()
</p>
</li>
<li>
<p>
-可以直接用 <span class="monospaced">(*e).second = some_value</span> 來改變SplayTree中的資料
+inRange()
</p>
</li>
-</ul></div>
-</li>
-</ul></div>
-</div>
-<div class="sect3">
-<h4 id="_support_methods_5">Support Methods</h4>
-<div class="ulist"><ul>
<li>
<p>
-N &#8592; <span class="monospaced">this</span> 中擁有的資料數
+squ()
</p>
</li>
<li>
<p>
-M &#8592; <span class="monospaced">tree2</span> 中擁有的資料數
+cub()
</p>
</li>
-</ul></div>
-<table class="tableblock frame-all grid-rows"
-style="
-width:100%;
-">
-<col style="width:2%;">
-<col style="width:8%;">
-<col style="width:18%;">
-<col style="width:8%;">
-<col style="width:8%;">
-<col style="width:54%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-right valign-top" >Name </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-center valign-top" > Time_Complexity</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>moveTo</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(SplayTree* <span class="monospaced">tree2</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(M)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將 <span class="monospaced">this</span> 的資料複寫到 <span class="monospaced">tree2</span> 上面, 同時清空自己,
-時間複雜度中的M是 <span class="monospaced">tree2</span> 所擁有的資料數</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>lowerBound</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">找出第一個(最小的) Element且 <span class="monospaced">k</span> &#8656; 它的 Key, 並且回傳之.
-找不到的話回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>lowerBound</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">找出第一個(最小的) Element且 <span class="monospaced">k</span> &lt; 它的 Key, 並且回傳之.
-找不到的話回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>lowerBound</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">找出第一個(最小的) Element且 <span class="monospaced">k</span> &gt;= 它的 Key, 並且回傳之.
-找不到的話回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>lowerBound</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">找出第一個(最小的) Element且 <span class="monospaced">k</span> &gt; 它的 Key, 並且回傳之.
-找不到的話回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>find</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">找出 Key= <span class="monospaced">k</span> 的Elemenet 並回傳. 找不到的話回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>order</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">ord</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將Elements依照Key由小到大排序, 回傳第 <span class="monospaced">ord</span> 個Element (由0算起).
-其中如果 <span class="monospaced">ord</span> &gt; N - 1, 則會回傳 <span class="monospaced">this-&gt;last()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>first</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">ord</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳Key最小的Element, 如果SplayTree為空, 則回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>last</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">ord</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳Key最大的Element, 如果SplayTree為空, 則回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>end</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳一個指向NULL的Element, 以供 <span class="monospaced">find</span> , <span class="monospaced">order</span> , <span class="monospaced">first</span>
-, <span class="monospaced">last</span> 等判斷是否有找到相對應的Element</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>size</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳資料數</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>size</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳是否為空</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>clear</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(N)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">清空資料</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>insert</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">key</span>,<br>
-Value const&amp; <span class="monospaced">value</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">檢查是否已有Element的Key 為 <span class="monospaced">key</span>, 若有則回傳 <span class="monospaced">false</span> , 否則將
-一個 (Key &#8594; Value) = (<span class="monospaced">key</span> &#8594; <span class="monospaced">value</span>)的Element加入, 並回傳 <span class="monospaced">true</span>
-將所有Element的Key同加上 <span class="monospaced">delta</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>erase</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">key</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">檢查是否已有Element的Key 為 <span class="monospaced">key</span>, 若有則刪除之, 並回傳 <span class="monospaced">true</span>,
-否則則回傳 <span class="monospaced">false</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>keyOffset</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">delta</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將所有Element的Key同加上 <span class="monospaced">delta</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>operator[]</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">key</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value&amp;</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">檢查是否已有Element的Key 為 <span class="monospaced">key</span>, 若有則回傳相對應的Value的Reference
-否則先執行 <span class="monospaced">insert(key, Value())</span> 再回傳相對應的Reference</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>splitOut</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">upper_bound</span>,<br>
-SplayTree* <span class="monospaced">tree2</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN) + O(M)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將 <span class="monospaced">tree2</span> 清空, 再將所有Key &gt; <span class="monospaced">upper_bound</span> 的Element都丟到 <span class="monospaced">tree2</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>mergeAfter</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(SplayTree* <span class="monospaced">tree2</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN) + O(logM)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">檢查是否 <span class="monospaced">this</span> 中的 Key 都小於 <span class="monospaced">tree2</span> 中的Key, 是的話把 <span class="monospaced">tree2</span>
-中的 Element 都搬到 <span class="monospaced">this</span> , 同時清空 <span class="monospaced">tree2</span> , 回傳 <span class="monospaced">true</span>. 否則
-回傳 <span class="monospaced">false</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>merge</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(SplayTree* <span class="monospaced">tree2</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN) + O(logM)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">檢查是否 <span class="monospaced">this</span> 中的 Key 都小於 <span class="monospaced">tree2</span> 中的Key 或者
-是否 <span class="monospaced">this</span> 中的 Key 都大於 <span class="monospaced">tree2</span> 中的Key, 是的話把 <span class="monospaced">tree2</span>
-中的 Element 都搬到 <span class="monospaced">this</span> , 同時清空 <span class="monospaced">tree2</span> , 回傳 <span class="monospaced">true</span>. 否則
-回傳 <span class="monospaced">false</span></p></td>
-</tr>
-</tbody>
-</table>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<div class="title">Note</div>
-</td>
-<td class="content">
-<div class="ulist"><ul>
<li>
<p>
-假設現在有兩個SplayTree <span class="monospaced">A</span> 和 <span class="monospaced">B</span>, 則:
+average()
</p>
-<div class="ulist"><ul>
+</li>
<li>
<p>
-執行 <span class="monospaced">B.moveTo(&amp;A)</span> 後 <span class="monospaced">B</span> 會變成空的, <span class="monospaced">A</span> 原本擁有的資料也會覆蓋掉
+average()
</p>
</li>
<li>
<p>
-執行 <span class="monospaced">A.merge(&amp;B)</span> 或 <span class="monospaced">A.mergeAfter(&amp;B)</span> 後
-如果檢查發現確實可以merge, 則之後 <span class="monospaced">B</span> 會變成空的
+tAbs()
</p>
</li>
</ul></div>
-</li>
-</ul></div>
-</td>
-</tr></table>
-</div>
-<hr>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_meow_strong_segmenttree_lt_value_gt_strong_c_class">meow:: <strong>SegmentTree&lt;Value&gt;</strong> (C++ class)</h3>
-<div class="sect3">
-<h4 id="_description_8">Description</h4>
-<div class="paragraph"><p>維護一個陣列, 並且讓user可以有區間查詢, 區間修改的小東東</p></div>
-</div>
-<div class="sect3">
-<h4 id="_template_class_operators_request_5">Template Class Operators Request</h4>
-<table class="tableblock frame-all grid-rows"
-style="
-width:70%;
-">
-<col style="width:3%;">
-<col style="width:3%;">
-<col style="width:10%;">
-<col style="width:17%;">
-<col style="width:10%;">
-<col style="width:53%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-left valign-top" >Typename</th>
-<th class="tableblock halign-left valign-top" > Operator </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" >Return_Type</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator+</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Value <span class="monospaced">v</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">相加(位移)</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator*</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">n</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">每個Value都一樣,
-長為 <span class="monospaced">n</span> 的區間的值</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator|</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Value <span class="monospaced">v</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">區間合併後的值</p></td>
-</tr>
-</tbody>
-</table>
-<div class="ulist"><ul>
-<li>
-<p>
-若要維護區間最小值, 即每次都是詢問範圍 <span class="monospaced">[a, b]</span> 的最小值, 則可以定義
-</p>
-<div class="ulist"><ul>
+<div class="ulist"><div class="title">Constants</div><ul>
<li>
<p>
-<span class="monospaced">operator+</span> 為 <em>回傳相加值</em>
+PI
</p>
</li>
+</ul></div>
+</div>
+<div class="sect4">
+<h5 id="_matrix_h">Matrix.h</h5>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-<span class="monospaced">operator*</span> 為 <em>回傳*this</em>
+<span class="monospaced">meow::Matrix&lt;Entry&gt;</span>
</p>
</li>
+</ul></div>
+</div>
+<div class="sect4">
+<h5 id="_vector_h">Vector.h</h5>
+<div class="paragraph"><p>實作上將 <strong>Matrix</strong> 重新包裝</p></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-<span class="monospaced">operator|</span> 為 <em>回傳std::min(*this, v)</em>
+<span class="monospaced">meow::Vector&lt;Scalar&gt;</span>
</p>
</li>
</ul></div>
-</li>
-<li>
-<p>
-若要維護區間最總和, 即每次都是詢問範圍 <span class="monospaced">[a, b]</span> 的總和, 則可以定義
-</p>
-<div class="ulist"><ul>
+</div>
+<div class="sect4">
+<h5 id="_transformation_h">Transformation.h</h5>
+<div class="paragraph"><p>各種轉換的 Base Class, 這裡所謂的 <strong>Transformation</strong> 形式上不一定要是 Linear,
+但原則上都是 <strong>input a vector, output a vector</strong> 其中input/output的dimension可以
+不同.</p></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-<span class="monospaced">operator+</span> 為 <em>回傳相加值</em>
+<span class="monospaced">meow::Transformation&lt;Scalar&gt;</span>
</p>
</li>
+</ul></div>
+</div>
+<div class="sect4">
+<h5 id="_transformations_h">Transformations.h</h5>
+<div class="paragraph"><p>包含各種 <strong>Non-Linear</strong> transformation</p></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-<span class="monospaced">operator*</span> 為 <em>回傳(*this) * n</em>
+<span class="monospaced">meow::BallProjection&lt;Scalar&gt;</span>
</p>
</li>
<li>
<p>
-<span class="monospaced">operator|</span> 為 <em>回傳相加值</em>
+<span class="monospaced">meow::PhotoProjection&lt;Scalar&gt;</span>
</p>
</li>
</ul></div>
-</li>
-</ul></div>
</div>
-<div class="sect3">
-<h4 id="_support_methods_6">Support Methods</h4>
-<div class="ulist"><ul>
+<div class="sect4">
+<h5 id="_lineartransformation_h">LinearTransformation.h</h5>
+<div class="paragraph"><p>各種 LinearTransformation 的Base Class, 繼承自 <span class="monospaced">meow::Transformation</span></p></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-N &#8592; <span class="monospaced">this</span> 所維護的陣列長度
+<span class="monospaced">meow::LinearTransformation&lt;Scalar&gt;</span>
</p>
</li>
</ul></div>
-<table class="tableblock frame-all grid-rows"
-style="
-width:100%;
-">
-<col style="width:2%;">
-<col style="width:5%;">
-<col style="width:19%;">
-<col style="width:8%;">
-<col style="width:8%;">
-<col style="width:55%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-right valign-top" >Name </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-center valign-top" > Time_Complexity</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>reset</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">size</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將資料清空且設定維護範圍是 <span class="monospaced">0~size - 1</span> 其中時間複雜度確切多少未知
-要看 <span class="monospaced">std::vector::resize()</span> 的效率</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>query</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(ssize_t <span class="monospaced">first</span>,<br>
-ssize_t <span class="monospaced">last</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳區間 <span class="monospaced">[first,last]</span> (邊界都含) 的區間值</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>override</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(ssize_t <span class="monospaced">first</span>,<br>
-ssize_t <span class="monospaced">last</span>,<br>
-Value const&amp; <span class="monospaced">value</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將區間 <span class="monospaced">[first,last]</span> 全部都設定成 <span class="monospaced">value</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>offset</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(ssize_t <span class="monospaced">first</span>,<br>
-ssize_t <span class="monospaced">last</span>,<br>
-Value const&amp; <span class="monospaced">delta</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將區間 <span class="monospaced">[first,last]</span> 全部都加上 <span class="monospaced">delta</span></p></td>
-</tr>
-</tbody>
-</table>
-<hr>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_meow_strong_splaytree_range_lt_key_value_gt_strong_c_class">meow:: <strong>SplayTree_Range&lt;Key, Value&gt;</strong> (C++ class)</h3>
-<div class="sect3">
-<h4 id="_description_9">Description</h4>
-<div class="paragraph"><p><span class="monospaced">SplayTree_Range</span> 是一種神乎其技的資料結構, 維護一堆 Key&#8594;Value. 並且支援
-一些 <span class="monospaced">std::map</span> 難以快速實踐的操作, 如 <span class="monospaced">split</span> , <span class="monospaced">merge</span> , <span class="monospaced">keyOffset</span></p></div>
</div>
-<div class="sect3">
-<h4 id="_template_class_operators_request_6">Template Class Operators Request</h4>
-<table class="tableblock frame-all grid-rows"
-style="
-width:70%;
-">
-<col style="width:3%;">
-<col style="width:3%;">
-<col style="width:10%;">
-<col style="width:17%;">
-<col style="width:10%;">
-<col style="width:53%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-left valign-top" >Typename</th>
-<th class="tableblock halign-left valign-top" > Operator</th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Key</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator+</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Key</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">相加</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Key</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator&lt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">大小比較</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Key</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong><em>Key</em></strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(int <span class="monospaced">n</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">建構子, <span class="monospaced">n</span> 永遠是0</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong><em>Value</em></strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">( )</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">建構子</p></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="sect3">
-<h4 id="_custom_type_definitions_4">Custom Type Definitions</h4>
-<div class="ulist"><ul>
-<li>
-<p>
-<span class="monospaced">Element</span> &#8594; 用來當作回傳資料的媒介
-</p>
-<div class="ulist"><ul>
+<div class="sect4">
+<h5 id="_lineartransformations_h">LinearTransformations.h</h5>
+<div class="paragraph"><p>各種 <strong>Linear</strong> Transformation</p></div>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-重定義 <span class="monospaced">operator-&gt;()</span> 到 <span class="monospaced">std::pair&lt;Key const&amp;, Value&amp;&gt;*</span>
+<span class="monospaced">meow::Rotation3D&lt;Scalar&gt;</span>
</p>
</li>
+</ul></div>
+</div>
+<div class="sect4">
+<h5 id="_methods_h">methods.h</h5>
+<div class="paragraph"><p>一些數學方法</p></div>
+<div class="ulist"><div class="title">Functions</div><ul>
<li>
<p>
-重定義 <span class="monospaced">operator*()</span> 到 <span class="monospaced">std::pair&lt;Key const&amp;, Value&amp;&gt;&amp;</span>
+ransac()
</p>
</li>
<li>
<p>
-有 <span class="monospaced">operator==</span> , <span class="monospaced">operator!=</span>, <span class="monospaced">operator=</span> 可用
+levenbergMarquardt()
</p>
</li>
+</ul></div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_oo">oo/</h4>
+<div class="paragraph"><p>物件相關</p></div>
+<div class="sect4">
+<h5 id="_objbase_h">ObjBase.h</h5>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-可以直接用 <span class="monospaced">(*e).second = some_value</span> 來改變SplayTree_Range中的資料
+<span class="monospaced">meow::ObjBase</span>
</p>
</li>
</ul></div>
-</li>
-</ul></div>
</div>
-<div class="sect3">
-<h4 id="_support_methods_7">Support Methods</h4>
-<div class="ulist"><ul>
+<div class="sect4">
+<h5 id="_objtypes_h">ObjTypes.h</h5>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-N &#8592; <span class="monospaced">this</span> 中擁有的資料數
+<span class="monospaced">meow::ObjType</span>
</p>
</li>
<li>
<p>
-M &#8592; <span class="monospaced">tree2</span> 中擁有的資料數
+<span class="monospaced">meow::ObjInt</span>
</p>
</li>
-</ul></div>
-<table class="tableblock frame-all grid-rows"
-style="
-width:100%;
-">
-<col style="width:2%;">
-<col style="width:8%;">
-<col style="width:18%;">
-<col style="width:8%;">
-<col style="width:8%;">
-<col style="width:54%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-right valign-top" >Name </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-center valign-top" > Time_Complexity</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>moveTo</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(SplayTree_Range* <span class="monospaced">tree2</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(M)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將 <span class="monospaced">this</span> 的資料複寫到 <span class="monospaced">tree2</span> 上面, 同時清空自己,
-時間複雜度中的M是 <span class="monospaced">tree2</span> 所擁有的資料數</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>lowerBound</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">找出第一個(最小的) Element且 <span class="monospaced">k</span> &#8656; 它的 Key, 並且回傳之.
-找不到的話回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>lowerBound</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">找出第一個(最小的) Element且 <span class="monospaced">k</span> &lt; 它的 Key, 並且回傳之.
-找不到的話回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>lowerBound</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">找出第一個(最小的) Element且 <span class="monospaced">k</span> &gt;= 它的 Key, 並且回傳之.
-找不到的話回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>lowerBound</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">找出第一個(最小的) Element且 <span class="monospaced">k</span> &gt; 它的 Key, 並且回傳之.
-找不到的話回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>find</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">k</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">找出 Key= <span class="monospaced">k</span> 的Elemenet 並回傳. 找不到的話回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>query</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳整棵樹的區間Value</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>query</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">first</span> ,<br>
-Key const&amp; <span class="monospaced">last</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">找出key介於 <span class="monospaced">first</span> <br>
-~ <span class="monospaced">last</span> 的區間Value</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>order</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">ord</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將Elements依照Key由小到大排序, 回傳第 <span class="monospaced">ord</span> 個Element (由0算起).
-其中如果 <span class="monospaced">ord</span> &gt; N - 1, 則會回傳 <span class="monospaced">this-&gt;last()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>first</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">ord</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳Key最小的Element, 如果SplayTree_Range為空, 則回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>last</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">ord</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳Key最大的Element, 如果SplayTree_Range為空, 則回傳 <span class="monospaced">this-&gt;end()</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>end</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Element</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳一個指向NULL的Element, 以供 <span class="monospaced">find</span> , <span class="monospaced">order</span> , <span class="monospaced">first</span>
-, <span class="monospaced">last</span> 等判斷是否有找到相對應的Element</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>size</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">size_t</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳資料數</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>size</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">回傳是否為空</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>clear</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">()</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(N)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">清空資料</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>insert</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">key</span>,<br>
-Value const&amp; <span class="monospaced">value</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">檢查是否已有Element的Key 為 <span class="monospaced">key</span>, 若有則回傳 <span class="monospaced">false</span> , 否則將
-一個 (Key &#8594; Value) = (<span class="monospaced">key</span> &#8594; <span class="monospaced">value</span>)的Element加入, 並回傳 <span class="monospaced">true</span>
-將所有Element的Key同加上 <span class="monospaced">delta</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>erase</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">key</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">bool</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">檢查是否已有Element的Key 為 <span class="monospaced">key</span>, 若有則刪除之, 並回傳 <span class="monospaced">true</span>,
-否則則回傳 <span class="monospaced">false</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>keyOffset</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">delta</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將所有Element的Key同加上 <span class="monospaced">delta</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>valueOffset</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Value const&amp; <span class="monospaced">delta</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將所有Element的value同加上 <span class="monospaced">delta</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>valueOverride</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Value const&amp; <span class="monospaced">vaule</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(1)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將所有Element的value同變成 <span class="monospaced">value</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>operator[]</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">key</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value&amp;</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">檢查是否已有Element的Key 為 <span class="monospaced">key</span>, 若有則回傳相對應的Value的Reference
-否則先執行 <span class="monospaced">insert(key, Value())</span> 再回傳相對應的Reference</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>splitOut</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Key const&amp; <span class="monospaced">upper_bound</span>,<br>
-SplayTree_Range* <span class="monospaced">tree2</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN) + O(M)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將 <span class="monospaced">tree2</span> 清空, 再將所有Key &gt; <span class="monospaced">upper_bound</span> 的Element都丟到 <span class="monospaced">tree2</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>mergeAfter</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(SplayTree_Range* <span class="monospaced">tree2</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN) + O(logM)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">檢查是否 <span class="monospaced">this</span> 中的 Key 都小於 <span class="monospaced">tree2</span> 中的Key, 是的話把 <span class="monospaced">tree2</span>
-中的 Element 都搬到 <span class="monospaced">this</span> , 同時清空 <span class="monospaced">tree2</span> , 回傳 <span class="monospaced">true</span>. 否則
-回傳 <span class="monospaced">false</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>merge</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(SplayTree_Range* <span class="monospaced">tree2</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN) + O(logM)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">檢查是否 <span class="monospaced">this</span> 中的 Key 都小於 <span class="monospaced">tree2</span> 中的Key 或者
-是否 <span class="monospaced">this</span> 中的 Key 都大於 <span class="monospaced">tree2</span> 中的Key, 是的話把 <span class="monospaced">tree2</span>
-中的 Element 都搬到 <span class="monospaced">this</span> , 同時清空 <span class="monospaced">tree2</span> , 回傳 <span class="monospaced">true</span>. 否則
-回傳 <span class="monospaced">false</span></p></td>
-</tr>
-</tbody>
-</table>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<div class="title">Note</div>
-</td>
-<td class="content">
-<div class="ulist"><ul>
<li>
<p>
-假設現在有兩個SplayTree_Range <span class="monospaced">A</span> 和 <span class="monospaced">B</span>, 則:
+<span class="monospaced">meow::ObjSizeT</span>
</p>
-<div class="ulist"><ul>
+</li>
<li>
<p>
-執行 <span class="monospaced">B.moveTo(&amp;A)</span> 後 <span class="monospaced">B</span> 會變成空的, <span class="monospaced">A</span> 原本擁有的資料也會覆蓋掉
+<span class="monospaced">meow::ObjDouble</span>
</p>
</li>
<li>
<p>
-執行 <span class="monospaced">A.merge(&amp;B)</span> 或 <span class="monospaced">A.mergeAfter(&amp;B)</span> 後
-如果檢查發現確實可以merge, 則之後 <span class="monospaced">B</span> 會變成空的
+<span class="monospaced">meow::ObjString</span>
</p>
</li>
</ul></div>
-</li>
-</ul></div>
-</td>
-</tr></table>
-</div>
-<hr>
</div>
-</div>
-<div class="sect2">
-<h3 id="_meow_strong_binaryindextree_lt_value_gt_strong_c_class">meow:: <strong>BinaryIndexTree&lt;Value&gt;</strong> (C++ class)</h3>
-<div class="sect3">
-<h4 id="_description_10">Description</h4>
-<div class="paragraph"><p>極度簡化版的 <span class="monospaced">SegmentTree</span> 已無法區間操作, 區間詢問的區間開頭也一定要
-在 <span class="monospaced">index=0</span> 的地方</p></div>
-</div>
-<div class="sect3">
-<h4 id="_template_class_operators_request_7">Template Class Operators Request</h4>
-<table class="tableblock frame-all grid-rows"
-style="
-width:70%;
-">
-<col style="width:3%;">
-<col style="width:3%;">
-<col style="width:10%;">
-<col style="width:17%;">
-<col style="width:10%;">
-<col style="width:53%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-left valign-top" >Typename</th>
-<th class="tableblock halign-left valign-top" > Operator </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><strong>operator+</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(Value <span class="monospaced">n</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">Value</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">合併用(類似
-<span class="monospaced">SegmentTree</span> 的
-operator| )</p></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="sect3">
-<h4 id="_support_methods_8">Support Methods</h4>
-<div class="ulist"><ul>
+<div class="sect4">
+<h5 id="_objarray_h">ObjArray.h</h5>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-N &#8592; <span class="monospaced">this</span> 中擁有的資料數
+<span class="monospaced">meow::ObjArray</span>
</p>
</li>
</ul></div>
-<table class="tableblock frame-all grid-rows"
-style="
-width:100%;
-">
-<col style="width:2%;">
-<col style="width:8%;">
-<col style="width:18%;">
-<col style="width:8%;">
-<col style="width:8%;">
-<col style="width:54%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Const?</th>
-<th class="tableblock halign-right valign-top" >Name </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type</th>
-<th class="tableblock halign-center valign-top" > Time_Complexity</th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>reset</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">size</span>, Value const&amp; <span class="monospaced">value</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(<span class="monospaced">size</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將資料長度刷成 <span class="monospaced">N = size</span> 且每一個元素都是 <span class="monospaced">value</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced"></p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>update</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">index</span>, Value const&amp; <span class="monospaced">value</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">將第 <span class="monospaced">index</span> (從零開始算) 多加上 <span class="monospaced">value</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock monospaced">const</p></td>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>query</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(size_t <span class="monospaced">index</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">void</p></td>
-<td class="tableblock halign-center valign-top" ><p class="tableblock">O(logN)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">詢問 <span class="monospaced">0~index</span> 的區間值</p></td>
-</tr>
-</tbody>
-</table>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<div class="title">Note</div>
-</td>
-<td class="content">
-<div class="ulist"><ul>
-<li>
-<p>
-一般來說只能用在維護區間總和, 維護區間最大值只有在特殊情況才可以, 即
-<em>針對每個元素, 每次 update() 的值一定會大於等於原本的值</em>
-</p>
-</li>
+</div>
+<div class="sect4">
+<h5 id="_objdictionary_h">ObjDictionary.h</h5>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-若要用區間最大值 , 則 <span class="monospaced">Value</span> 的 <span class="monospaced">operator+</span> 要寫成 <span class="monospaced">std::max(...)</span>
+<span class="monospaced">meow::ObjDictionary</span>
</p>
</li>
</ul></div>
-</td>
-</tr></table>
</div>
-<hr>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_meow_strong_functios_strong_in_math_utility_h">meow:: <strong>Functios</strong> in math/utility.h</h3>
-<table class="tableblock frame-all grid-rows"
-style="
-width:100%;
-">
-<col style="width:5%;">
-<col style="width:29%;">
-<col style="width:5%;">
-<col style="width:58%;">
-<thead>
-<tr>
-<th class="tableblock halign-right valign-top" >Name </th>
-<th class="tableblock halign-left valign-top" > Parameters </th>
-<th class="tableblock halign-left valign-top" > Return_Type </th>
-<th class="tableblock halign-left valign-top" > Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>noEPS&lt;T&gt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(T <span class="monospaced">value</span>, T <span class="monospaced">eps</span> = 1e-9)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">T</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">如果abs(輸入的數值) &lt; eps, 則回傳0, 否則回傳輸入的數值</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>normalize&lt;T&gt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(T <span class="monospaced">lower</span>, T <span class="monospaced">upper</span>, <br>
- T value)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">T</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="monospaced">(value - lower) / (upper - lower)</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>denormalize&lt;T&gt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(T <span class="monospaced">lower</span>, T <span class="monospaced">upper</span>,
-<br>
- T <span class="monospaced">ratio</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">T</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="monospaced">lower + (upper - lower) * ratio</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>ratioMapping&lt;T&gt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(T <span class="monospaced">l1</span>, T <span class="monospaced">u1</span>,
-<br>
-T <span class="monospaced">m1</span>, T <span class="monospaced">l2</span>,<br>
-T <span class="monospaced">u2</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">T</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="monospaced">denormalize(l2, u2, normalize(l1, u1, m1))</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>inRange&lt;T&gt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(T const&amp; <span class="monospaced">mn</span>, T const&amp; <span class="monospaced">mx</span>, <br>
- T const&amp; <span class="monospaced">v</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">T</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="monospaced">std::max(mn, std::min(mx, v))</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>squ&lt;T&gt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(T const&amp; <span class="monospaced">x</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">T</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="monospaced">x * x</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>cub&lt;T&gt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(T const&amp; <span class="monospaced">x</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">T</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock"><span class="monospaced">x * x * x</span></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>average&lt;T&gt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(T const&amp; <span class="monospaced">beg</span>, T const&amp; <span class="monospaced">end</span>, <br>
- double <span class="monospaced">sigs</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">T</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">只將 <span class="monospaced">sigs</span> 個標準差以內的數據拿來取平均</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-right valign-top" ><p class="tableblock"><strong>average&lt;T&gt;</strong></p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">(T const&amp; <span class="monospaced">beg</span>, T const&amp; <span class="monospaced">end</span>,
-<br>
- T const&amp; <span class="monospaced">p</span>, double <span class="monospaced">sigs</span>)</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">T</p></td>
-<td class="tableblock halign-left valign-top" ><p class="tableblock">同上, 不過這次用 <span class="monospaced">p</span> 來加權平均</p></td>
-</tr>
-</tbody>
-</table>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<div class="title">Note</div>
-</td>
-<td class="content">
-<div class="ulist"><ul>
+<div class="sect4">
+<h5 id="_objselector_h">ObjSelector.h</h5>
+<div class="ulist"><div class="title">Classes</div><ul>
<li>
<p>
-額外附贈一個 <span class="monospaced">const double PI = 3.141592653589......</span>
+<span class="monospaced">meow::ObjSelector&lt;SID&gt;</span>
</p>
</li>
</ul></div>
-</td>
-</tr></table>
</div>
-<hr>
+</div>
</div>
</div>
</div>
@@ -3064,6 +1860,11 @@ width:70%;
E-Mail: cat.hook31894 ~在~ gmail.com
</p>
</li>
+<li>
+<p>
+GitHub
+</p>
+</li>
</ul></div>
</div>
</div>
@@ -3071,7 +1872,7 @@ E-Mail: cat.hook31894 ~在~ gmail.com
<div id="footnotes"><hr></div>
<div id="footer">
<div id="footer-text">
-Last updated 2014-05-02 04:08:38 CST
+Last updated 2014-06-01 13:54:32 CST
</div>
</div>
</body>