aboutsummaryrefslogtreecommitdiffstats
path: root/doc/latex/classmeow_1_1Self.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/latex/classmeow_1_1Self.tex')
-rw-r--r--doc/latex/classmeow_1_1Self.tex240
1 files changed, 164 insertions, 76 deletions
diff --git a/doc/latex/classmeow_1_1Self.tex b/doc/latex/classmeow_1_1Self.tex
index 5b60f6c..9043206 100644
--- a/doc/latex/classmeow_1_1Self.tex
+++ b/doc/latex/classmeow_1_1Self.tex
@@ -3,7 +3,7 @@
}
-具有copy on write, 且擁有比\-C++更靈活的reference機制
+A little class use for packing the data part of another class. With this technique, it can achieve Copy-\/\-On-\/\-Write(C\-O\-R) mechanism at background and have a reference mechanism which much more flexible then the one C++ has.
@@ -16,117 +16,162 @@
enum \hyperlink{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8}{Duplicate\-Type} \{ \hyperlink{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8adef1b0d02e1090b1b610a4ea91bd6730}{C\-O\-P\-Y\-\_\-\-F\-R\-O\-M},
\hyperlink{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8a40c8a3eba568e04a5ce09ee0fa881822}{R\-E\-F\-E\-R\-E\-N\-C\-E\-\_\-\-F\-R\-O\-M}
\}
-\begin{DoxyCompactList}\small\item\em 複製資料的方法 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\begin{DoxyCompactList}\small\item\em Kind of ways of duplicating. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\hyperlink{classmeow_1_1Self_a6b39fcc4b184809f9aeaeb1c9a0bac2d}{Self} ()
-\begin{DoxyCompactList}\small\item\em constructor, 並宣告一個實體 \end{DoxyCompactList}\item
+\begin{DoxyCompactList}\small\item\em constructor with a real entity \end{DoxyCompactList}\item
\hyperlink{classmeow_1_1Self_af3220c1e1d7966c6dbaf4ec62f8cbc2f}{Self} (Data const \&d)
-\begin{DoxyCompactList}\small\item\em connstructor, 宣告一個實體, 其中該實體的constructor用copy constructor \end{DoxyCompactList}\item
-\hyperlink{classmeow_1_1Self_af98a65e83bb96c0860d91a5013b269ef}{Self} (\hyperlink{classmeow_1_1Self}{Self} const \&b, \hyperlink{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8}{Duplicate\-Type} d=\hyperlink{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8adef1b0d02e1090b1b610a4ea91bd6730}{C\-O\-P\-Y\-\_\-\-F\-R\-O\-M})
-\begin{DoxyCompactList}\small\item\em constructor, 使用給定的\-Self當作init value, 並且可以指定要用 reference還是copy \end{DoxyCompactList}\item
+\begin{DoxyCompactList}\small\item\em connstructor with a real entity with it using its copy constructor \end{DoxyCompactList}\item
+\hyperlink{classmeow_1_1Self_afee797a10c73a1c8e02c8e6315a2930b}{Self} (\hyperlink{classmeow_1_1Self}{Self} const \&b, \hyperlink{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8}{Duplicate\-Type} d)
+\begin{DoxyCompactList}\small\item\em constructor with given another \hyperlink{classmeow_1_1Self}{Self} \end{DoxyCompactList}\item
\hyperlink{classmeow_1_1Self_a000ede7e217c31401cc0a4b1c6749ee5}{Self} (\hyperlink{classmeow_1_1Self}{Self} const \&b)
\begin{DoxyCompactList}\small\item\em Disallow copy constructor. \end{DoxyCompactList}\item
\hyperlink{classmeow_1_1Self_ada16564a03665b10810a6342d61044bc}{$\sim$\-Self} ()
-\begin{DoxyCompactList}\small\item\em 解構子 \end{DoxyCompactList}\item
+\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item
Data const $\ast$ \hyperlink{classmeow_1_1Self_a6063551c3e6ac647500e938ade8fbc99}{operator-\/$>$} () const
-\begin{DoxyCompactList}\small\item\em 回傳指向 Data const 的指標 \end{DoxyCompactList}\item
+\begin{DoxyCompactList}\small\item\em Return the constant pointer to the data. \end{DoxyCompactList}\item
Data $\ast$ \hyperlink{classmeow_1_1Self_ace312355261c68ac7531767939f5c4c2}{operator-\/$>$} ()
-\begin{DoxyCompactList}\small\item\em 回傳指向 Data 的指標, 如有需要, 這邊會做資料的duplicate \end{DoxyCompactList}\item
+\begin{DoxyCompactList}\small\item\em Return the non-\/constant pointer to the data (C\-O\-R's clone might occure here. \end{DoxyCompactList}\item
\hyperlink{classmeow_1_1Self}{Self} \& \hyperlink{classmeow_1_1Self_a5962339e9ee49312ab770f1119256ca6}{operator()} () const
-\begin{DoxyCompactList}\small\item\em 回傳非const型態的自己 \end{DoxyCompactList}\item
+\begin{DoxyCompactList}\small\item\em Return the non-\/constant reference of {\ttfamily $\ast$this}. \end{DoxyCompactList}\item
\hyperlink{classmeow_1_1Self}{Self} const \& \hyperlink{classmeow_1_1Self_a9cd016a38a09f479fe2ed83eb1ebdae2}{copy\-From} (\hyperlink{classmeow_1_1Self}{Self} const \&s)
-\begin{DoxyCompactList}\small\item\em 將給定的 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 的資料複製到自己這裡 \end{DoxyCompactList}\item
+\begin{DoxyCompactList}\small\item\em Copy the gived {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} to myself. \end{DoxyCompactList}\item
\hyperlink{classmeow_1_1Self}{Self} const \& \hyperlink{classmeow_1_1Self_a63e1570c927c7fa3b95b71fe978e355d}{reference\-From} (\hyperlink{classmeow_1_1Self}{Self} const \&s)
-\begin{DoxyCompactList}\small\item\em 將自己reference 到給定的 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \end{DoxyCompactList}\item
+\begin{DoxyCompactList}\small\item\em Reference myself from given {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} object. \end{DoxyCompactList}\item
\hyperlink{classmeow_1_1Self}{Self} const \& \hyperlink{classmeow_1_1Self_ae4256bfc598bb0db76141ffce506806e}{duplicate\-From} (\hyperlink{classmeow_1_1Self}{Self} const \&s, \hyperlink{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8}{Duplicate\-Type} t)
-\begin{DoxyCompactList}\small\item\em 依據給定\-Duplicate\-Type選擇要呼叫copy\-From還是reference\-From \end{DoxyCompactList}\item
+\begin{DoxyCompactList}\small\item\em call {\ttfamily \hyperlink{classmeow_1_1Self_a9cd016a38a09f479fe2ed83eb1ebdae2}{copy\-From()}} or {\ttfamily \hyperlink{classmeow_1_1Self_a63e1570c927c7fa3b95b71fe978e355d}{reference\-From()}} depend on your instruction \end{DoxyCompactList}\item
bool \hyperlink{classmeow_1_1Self_ab3671e44693b79e2f987f59652d46ca9}{same} (\hyperlink{classmeow_1_1Self}{Self} const \&s) const
-\begin{DoxyCompactList}\small\item\em 比對兩個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 是否指向同一個reference \end{DoxyCompactList}\item
+\begin{DoxyCompactList}\small\item\em Compare tht if the gived {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} object is reference from the same object of me. \end{DoxyCompactList}\item
bool \hyperlink{classmeow_1_1Self_a91098e2218c358470e81d64f35d6491d}{equal} (\hyperlink{classmeow_1_1Self}{Self} const \&s) const
-\begin{DoxyCompactList}\small\item\em 比對兩個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 的內容是否一樣 \end{DoxyCompactList}\item
+\begin{DoxyCompactList}\small\item\em Compare that the data are the same. \end{DoxyCompactList}\item
bool \hyperlink{classmeow_1_1Self_a10f22a83c3afcf65f8f9680f2a2f945c}{reference\-Less} (\hyperlink{classmeow_1_1Self}{Self} const \&s) const
-\begin{DoxyCompactList}\small\item\em 以reference作為判斷依據的小於判斷 \end{DoxyCompactList}\item
+\begin{DoxyCompactList}\small\item\em Order compare by reference pointer. \end{DoxyCompactList}\item
void \hyperlink{classmeow_1_1Self_af3277e1109c59e5f81549889b344a675}{operator=} (\hyperlink{classmeow_1_1Self}{Self} const \&a)
-\begin{DoxyCompactList}\small\item\em 將 {\ttfamily operator=} 給disable掉 \end{DoxyCompactList}\end{DoxyCompactItemize}
+\begin{DoxyCompactList}\small\item\em Disallow default {\ttfamily 'operator='}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection{Detailed Description}
\subsubsection*{template$<$class Data$>$class meow\-::\-Self$<$ Data $>$}
-具有copy on write, 且擁有比\-C++更靈活的reference機制
+A little class use for packing the data part of another class. With this technique, it can achieve Copy-\/\-On-\/\-Write(C\-O\-R) mechanism at background and have a reference mechanism which much more flexible then the one C++ has.
-使用上就是把所有成員變數包到一個class/structure裡, 送給\-Self \par
- 例如以下
+Sample code\-:
\begin{DoxyCode}
\textcolor{keyword}{class }A \{
\textcolor{keyword}{private}:
\textcolor{keyword}{struct }Myself \{
\textcolor{keywordtype}{int} data;
- Myself() \{ \textcolor{comment}{// 必要}
+
+ Myself() \{ \textcolor{comment}{// Necessary}
data = 0;
\}
- Myself(Myself \textcolor{keyword}{const}& b): data(b.data) \{ \textcolor{comment}{// 必要, copy constructor}
+
+ Myself(Myself \textcolor{keyword}{const}& b): data(b.data) \{ \textcolor{comment}{// Necessary, copy constructor}
\}
+
~Myself() \{
\}
- \textcolor{keywordtype}{bool} operator==(Myself \textcolor{keyword}{const}& b)\textcolor{keyword}{ const }\{ \textcolor{comment}{// 不一定需要(有用到equal()才要)}
+
+ \textcolor{keywordtype}{bool} operator==(Myself \textcolor{keyword}{const}& b)\textcolor{keyword}{ const }\{ \textcolor{comment}{// Optional (this method will}
+ \textcolor{comment}{// be called only if you use}
+ \textcolor{comment}{// Self::equal() method)}
\textcolor{keywordflow}{return} (data == b.data);
\}
\};
- Self<Myself> \textcolor{keyword}{const} \textcolor{keyword}{self};
+ Self<Myself> \textcolor{keyword}{const} \textcolor{keyword}{self}; \textcolor{comment}{// Here we use 'constant' data type in }
+ \textcolor{comment}{// order to have a coutious coding style}
+ \textcolor{comment}{// and allow the COR mechanism to clone}
+ \textcolor{comment}{// data only when we really want to}
+ \textcolor{comment}{// modify them.}
\textcolor{keyword}{public}:
- A(): self() \{ \} \textcolor{comment}{// 預設呼叫Myself()}
- A(A \textcolor{keyword}{const}& a): self(a.self, \hyperlink{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8adef1b0d02e1090b1b610a4ea91bd6730}{COPY\_FROM}) \{ \} \textcolor{comment}{// 用Myself(b)做到copyFrom}
+ A(): self() \{ \} \textcolor{comment}{// Default constructor}
+
+ A(A \textcolor{keyword}{const}& a): self(a.self, \hyperlink{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8adef1b0d02e1090b1b610a4ea91bd6730}{COPY\_FROM}) \{ \} \textcolor{comment}{// Copy constructor. You must}
+ \textcolor{comment}{// tell me which way of}
+ \textcolor{comment}{// duplicating should I use.}
+ \textcolor{comment}{// It strongly recommended you}
+ \textcolor{comment}{// use COYP\_FROM for keeping the}
+ \textcolor{comment}{// C++'s original behavior.}
~A() \{ \}
- \textcolor{keywordtype}{void} setMemeber(\textcolor{keywordtype}{int} k) \{
- \textcolor{keyword}{self}()->data = k; \textcolor{comment}{// self()->?? 可以有write權限}
- \}
+
\textcolor{keywordtype}{int} getMemember(\textcolor{keywordtype}{int} wh)\textcolor{keyword}{ const }\{
- \textcolor{keywordflow}{return} \textcolor{keyword}{self}->data; \textcolor{comment}{// self->?? 只有const}
+ \textcolor{keywordflow}{return} \textcolor{keyword}{self}->data; \textcolor{comment}{// Use 'operator->()' to get the pointer of the data}
+ \textcolor{comment}{// The pointer is constant or not will depend on}
+ \textcolor{comment}{// whether the left side variable of '->' is}
+ \textcolor{comment}{// constant or not.}
+ \textcolor{comment}{// If we just want to read the data, use}
+ \textcolor{comment}{// 'self' instead of 'self()'}
+ \}
+ \textcolor{keywordtype}{void} setMemeber(\textcolor{keywordtype}{int} k) \{
+ \textcolor{keyword}{self}()->data = k; \textcolor{comment}{// As a result of 'self()' returning a non-constant}
+ \textcolor{comment}{// reference of itself, here we get the permission}
+ \textcolor{comment}{// for modiying data.}
+ \textcolor{comment}{// So now we can observe that if you type}
+ \textcolor{comment}{// 'Self<Myself> self' instead of the one above,}
+ \textcolor{comment}{// 'self' and 'self()' will become the same one and}
+ \textcolor{comment}{// both of them allow you using '->' for getting}
+ \textcolor{comment}{// writing permission. At the same time, the COR}
+ \textcolor{comment}{// machanism will become useless because everytime}
+ \textcolor{comment}{// you want to access the date, Self will copy the}
+ \textcolor{comment}{// data to prevent you to modify it no matter that}
+ \textcolor{comment}{// you might just want to read it.}
\}
+
A \hyperlink{classmeow_1_1Self_a63e1570c927c7fa3b95b71fe978e355d}{referenceFrom}(A \textcolor{keyword}{const}& a) \{
\textcolor{keyword}{self}.\hyperlink{classmeow_1_1Self_a63e1570c927c7fa3b95b71fe978e355d}{referenceFrom}(a.self);
\}
+
A \hyperlink{classmeow_1_1Self_a9cd016a38a09f479fe2ed83eb1ebdae2}{copyFrom}(A \textcolor{keyword}{const}& a) \{
\textcolor{keyword}{self}.\hyperlink{classmeow_1_1Self_a9cd016a38a09f479fe2ed83eb1ebdae2}{copyFrom}(a.self);
\}
- A& \hyperlink{classmeow_1_1Self_af3277e1109c59e5f81549889b344a675}{operator=}(A \textcolor{keyword}{const}& b) \{ \textcolor{comment}{// for std::swap}
+
+ A& \hyperlink{classmeow_1_1Self_af3277e1109c59e5f81549889b344a675}{operator=}(A \textcolor{keyword}{const}& b) \{ \textcolor{comment}{// If you really like to use operator=, it}
+ \textcolor{comment}{// strongly recommended you use 'copyFrom()' for}
+ \textcolor{comment}{// keeping C++'s original behavior.}
\hyperlink{classmeow_1_1Self_a9cd016a38a09f479fe2ed83eb1ebdae2}{copyFrom}(b);
\}
\};
\end{DoxyCode}
-
+ Note that '\hyperlink{classmeow_1_1Self_a63e1570c927c7fa3b95b71fe978e355d}{reference\-From()}' will cause the two object become the same one, Which means that if you do something like '{\ttfamily a.\-reference\-From(b)}; {\ttfamily a.\-copy\-From(c)}; ', the result is that the value of {\ttfamily a},b,c will all the same one.
\begin{DoxyAuthor}{Author}
cathook
\end{DoxyAuthor}
\begin{DoxyWarning}{Warning}
-{\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 這個class會把{\ttfamily operator=} 給disable掉, 所以使用它當 kernel的class預設的 {\ttfamily operator=} 都會無法使用
+This class disabled the method {\ttfamily operator=} and copy constructor in order to prevent upexplicit default behavior, so if you want to have one of them (or both), you must implement yourself
\end{DoxyWarning}
+Definition at line 104 of file Self.\-h.
+
+
+
\subsection{Member Enumeration Documentation}
\hypertarget{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8}{\index{meow\-::\-Self@{meow\-::\-Self}!Duplicate\-Type@{Duplicate\-Type}}
\index{Duplicate\-Type@{Duplicate\-Type}!meow::Self@{meow\-::\-Self}}
\subsubsection[{Duplicate\-Type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ enum {\bf meow\-::\-Self\-::\-Duplicate\-Type}}}\label{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8}
-複製資料的方法
+Kind of ways of duplicating.
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{C\-O\-P\-Y\-\_\-\-F\-R\-O\-M@{C\-O\-P\-Y\-\_\-\-F\-R\-O\-M}!meow\-::\-Self@{meow\-::\-Self}}\index{meow\-::\-Self@{meow\-::\-Self}!C\-O\-P\-Y\-\_\-\-F\-R\-O\-M@{C\-O\-P\-Y\-\_\-\-F\-R\-O\-M}}\item[{\em
\hypertarget{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8adef1b0d02e1090b1b610a4ea91bd6730}{C\-O\-P\-Y\-\_\-\-F\-R\-O\-M}\label{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8adef1b0d02e1090b1b610a4ea91bd6730}
-}]跟一般的複製一樣 \index{R\-E\-F\-E\-R\-E\-N\-C\-E\-\_\-\-F\-R\-O\-M@{R\-E\-F\-E\-R\-E\-N\-C\-E\-\_\-\-F\-R\-O\-M}!meow\-::\-Self@{meow\-::\-Self}}\index{meow\-::\-Self@{meow\-::\-Self}!R\-E\-F\-E\-R\-E\-N\-C\-E\-\_\-\-F\-R\-O\-M@{R\-E\-F\-E\-R\-E\-N\-C\-E\-\_\-\-F\-R\-O\-M}}\item[{\em
+}]Normal copy operation. \index{R\-E\-F\-E\-R\-E\-N\-C\-E\-\_\-\-F\-R\-O\-M@{R\-E\-F\-E\-R\-E\-N\-C\-E\-\_\-\-F\-R\-O\-M}!meow\-::\-Self@{meow\-::\-Self}}\index{meow\-::\-Self@{meow\-::\-Self}!R\-E\-F\-E\-R\-E\-N\-C\-E\-\_\-\-F\-R\-O\-M@{R\-E\-F\-E\-R\-E\-N\-C\-E\-\_\-\-F\-R\-O\-M}}\item[{\em
\hypertarget{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8a40c8a3eba568e04a5ce09ee0fa881822}{R\-E\-F\-E\-R\-E\-N\-C\-E\-\_\-\-F\-R\-O\-M}\label{classmeow_1_1Self_aa7d169e9d20d590f3e571206084797f8a40c8a3eba568e04a5ce09ee0fa881822}
-}]參照, 執行完兩個\-Self會完全等效 \end{description}
+}]By reference, much like pointer's copy operation. \end{description}
\end{Desc}
+Definition at line 109 of file Self.\-h.
+
+
+
\subsection{Constructor \& Destructor Documentation}
\hypertarget{classmeow_1_1Self_a6b39fcc4b184809f9aeaeb1c9a0bac2d}{\index{meow\-::\-Self@{meow\-::\-Self}!Self@{Self}}
\index{Self@{Self}!meow::Self@{meow\-::\-Self}}
@@ -137,7 +182,11 @@ cathook
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a6b39fcc4b184809f9aeaeb1c9a0bac2d}
-constructor, 並宣告一個實體
+constructor with a real entity
+
+
+
+Definition at line 173 of file Self.\-h.
\hypertarget{classmeow_1_1Self_af3220c1e1d7966c6dbaf4ec62f8cbc2f}{\index{meow\-::\-Self@{meow\-::\-Self}!Self@{Self}}
\index{Self@{Self}!meow::Self@{meow\-::\-Self}}
@@ -148,32 +197,40 @@ constructor, 並宣告一個實體
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_af3220c1e1d7966c6dbaf4ec62f8cbc2f}
-connstructor, 宣告一個實體, 其中該實體的constructor用copy constructor
+connstructor with a real entity with it using its copy constructor
\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in} & {\em d} & Inital data \\
\hline
\end{DoxyParams}
-\hypertarget{classmeow_1_1Self_af98a65e83bb96c0860d91a5013b269ef}{\index{meow\-::\-Self@{meow\-::\-Self}!Self@{Self}}
+
+
+Definition at line 181 of file Self.\-h.
+
+\hypertarget{classmeow_1_1Self_afee797a10c73a1c8e02c8e6315a2930b}{\index{meow\-::\-Self@{meow\-::\-Self}!Self@{Self}}
\index{Self@{Self}!meow::Self@{meow\-::\-Self}}
\subsubsection[{Self}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ {\bf meow\-::\-Self}$<$ Data $>$\-::{\bf Self} (
\begin{DoxyParamCaption}
\item[{{\bf Self}$<$ Data $>$ const \&}]{b, }
-\item[{{\bf Duplicate\-Type}}]{d = {\ttfamily {\bf C\-O\-P\-Y\-\_\-\-F\-R\-O\-M}}}
+\item[{{\bf Duplicate\-Type}}]{d}
\end{DoxyParamCaption}
-)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_af98a65e83bb96c0860d91a5013b269ef}
+)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_afee797a10c73a1c8e02c8e6315a2930b}
-constructor, 使用給定的\-Self當作init value, 並且可以指定要用 reference還是copy
+constructor with given another \hyperlink{classmeow_1_1Self}{Self}
\begin{DoxyParams}[1]{Parameters}
-\mbox{\tt in} & {\em b} & 給定的\-Self \\
+\mbox{\tt in} & {\em b} & Another \hyperlink{classmeow_1_1Self}{Self} object. \\
\hline
-\mbox{\tt in} & {\em d} & 指定要用copy還是reference \\
+\mbox{\tt in} & {\em d} & To indicate type of way of duplicating \\
\hline
\end{DoxyParams}
+
+
+Definition at line 190 of file Self.\-h.
+
\hypertarget{classmeow_1_1Self_a000ede7e217c31401cc0a4b1c6749ee5}{\index{meow\-::\-Self@{meow\-::\-Self}!Self@{Self}}
\index{Self@{Self}!meow::Self@{meow\-::\-Self}}
\subsubsection[{Self}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ {\bf meow\-::\-Self}$<$ Data $>$\-::{\bf Self} (
@@ -194,7 +251,11 @@ Disallow copy constructor.
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_ada16564a03665b10810a6342d61044bc}
-解構子
+destructor
+
+
+
+Definition at line 206 of file Self.\-h.
@@ -208,19 +269,20 @@ Disallow copy constructor.
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a9cd016a38a09f479fe2ed83eb1ebdae2}
-將給定的 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 的資料複製到自己這裡
+Copy the gived {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} to myself.
\begin{DoxyParams}[1]{Parameters}
-\mbox{\tt in} & {\em s} & 給定的{\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \\
+\mbox{\tt in} & {\em s} & gived {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
-$\ast$this
+$\ast$this
\end{DoxyReturn}
-\begin{DoxyNote}{Note}
-與reference的差別是, copy之後若該給定的 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 有資料修改, this 這邊 {\bfseries 不會} 被改到
-\end{DoxyNote}
+
+
+Definition at line 233 of file Self.\-h.
+
\hypertarget{classmeow_1_1Self_ae4256bfc598bb0db76141ffce506806e}{\index{meow\-::\-Self@{meow\-::\-Self}!duplicate\-From@{duplicate\-From}}
\index{duplicate\-From@{duplicate\-From}!meow::Self@{meow\-::\-Self}}
\subsubsection[{duplicate\-From}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ {\bf Self} const\& {\bf meow\-::\-Self}$<$ Data $>$\-::duplicate\-From (
@@ -231,18 +293,22 @@ $\ast$this
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_ae4256bfc598bb0db76141ffce506806e}
-依據給定\-Duplicate\-Type選擇要呼叫copy\-From還是reference\-From
+call {\ttfamily \hyperlink{classmeow_1_1Self_a9cd016a38a09f479fe2ed83eb1ebdae2}{copy\-From()}} or {\ttfamily \hyperlink{classmeow_1_1Self_a63e1570c927c7fa3b95b71fe978e355d}{reference\-From()}} depend on your instruction
\begin{DoxyParams}[1]{Parameters}
-\mbox{\tt in} & {\em s} & 給定的 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \\
+\mbox{\tt in} & {\em s} & gived {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} object \\
\hline
-\mbox{\tt in} & {\em t} & 給定的 {\ttfamily Duplicate\-Type} \\
+\mbox{\tt in} & {\em t} & instruction \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
$\ast$this
\end{DoxyReturn}
+
+
+Definition at line 262 of file Self.\-h.
+
\hypertarget{classmeow_1_1Self_a91098e2218c358470e81d64f35d6491d}{\index{meow\-::\-Self@{meow\-::\-Self}!equal@{equal}}
\index{equal@{equal}!meow::Self@{meow\-::\-Self}}
\subsubsection[{equal}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ bool {\bf meow\-::\-Self}$<$ Data $>$\-::equal (
@@ -252,19 +318,23 @@ $\ast$this
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a91098e2218c358470e81d64f35d6491d}
-比對兩個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 的內容是否一樣
+Compare that the data are the same.
\begin{DoxyParams}[1]{Parameters}
-\mbox{\tt in} & {\em s} & 另一個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \\
+\mbox{\tt in} & {\em s} & another {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
-{\ttfamily true/false} 表示兩個內容是否一樣
+{\ttfamily true} if the data are same.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
-需要用到 Data的equal()
+This will need the method 'Data\-::equal()'
\end{DoxyNote}
+
+
+Definition at line 289 of file Self.\-h.
+
\hypertarget{classmeow_1_1Self_a5962339e9ee49312ab770f1119256ca6}{\index{meow\-::\-Self@{meow\-::\-Self}!operator()@{operator()}}
\index{operator()@{operator()}!meow::Self@{meow\-::\-Self}}
\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ {\bf Self}\& {\bf meow\-::\-Self}$<$ Data $>$\-::operator() (
@@ -274,7 +344,11 @@ $\ast$this
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a5962339e9ee49312ab770f1119256ca6}
-回傳非const型態的自己
+Return the non-\/constant reference of {\ttfamily $\ast$this}.
+
+
+
+Definition at line 223 of file Self.\-h.
\hypertarget{classmeow_1_1Self_a6063551c3e6ac647500e938ade8fbc99}{\index{meow\-::\-Self@{meow\-::\-Self}!operator-\/$>$@{operator-\/$>$}}
\index{operator-\/$>$@{operator-\/$>$}!meow::Self@{meow\-::\-Self}}
@@ -285,7 +359,11 @@ $\ast$this
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a6063551c3e6ac647500e938ade8fbc99}
-回傳指向 Data const 的指標
+Return the constant pointer to the data.
+
+
+
+Definition at line 211 of file Self.\-h.
\hypertarget{classmeow_1_1Self_ace312355261c68ac7531767939f5c4c2}{\index{meow\-::\-Self@{meow\-::\-Self}!operator-\/$>$@{operator-\/$>$}}
\index{operator-\/$>$@{operator-\/$>$}!meow::Self@{meow\-::\-Self}}
@@ -296,7 +374,11 @@ $\ast$this
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_ace312355261c68ac7531767939f5c4c2}
-回傳指向 Data 的指標, 如有需要, 這邊會做資料的duplicate
+Return the non-\/constant pointer to the data (C\-O\-R's clone might occure here.
+
+
+
+Definition at line 218 of file Self.\-h.
\hypertarget{classmeow_1_1Self_af3277e1109c59e5f81549889b344a675}{\index{meow\-::\-Self@{meow\-::\-Self}!operator=@{operator=}}
\index{operator=@{operator=}!meow::Self@{meow\-::\-Self}}
@@ -307,7 +389,7 @@ $\ast$this
)}}\label{classmeow_1_1Self_af3277e1109c59e5f81549889b344a675}
-將 {\ttfamily operator=} 給disable掉
+Disallow default {\ttfamily 'operator='}.
\hypertarget{classmeow_1_1Self_a63e1570c927c7fa3b95b71fe978e355d}{\index{meow\-::\-Self@{meow\-::\-Self}!reference\-From@{reference\-From}}
\index{reference\-From@{reference\-From}!meow::Self@{meow\-::\-Self}}
@@ -318,19 +400,20 @@ $\ast$this
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a63e1570c927c7fa3b95b71fe978e355d}
-將自己reference 到給定的 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}}
+Reference myself from given {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} object.
\begin{DoxyParams}[1]{Parameters}
-\mbox{\tt in} & {\em s} & 給定的{\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \\
+\mbox{\tt in} & {\em s} & given {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
-$\ast$this
+$\ast$this
\end{DoxyReturn}
-\begin{DoxyNote}{Note}
-把reference想像成指標會比較容易思考, 譬如 {\ttfamily a.\-reference\-From(b)} {\ttfamily b.\-reference\-From(c)} 相當於 {\bfseries a指向b原本指的記憶體位置}, {\bfseries b指向c原本指的記憶體位置} , 之後更動c時, 只有b會被牽連
-\end{DoxyNote}
+
+
+Definition at line 246 of file Self.\-h.
+
\hypertarget{classmeow_1_1Self_a10f22a83c3afcf65f8f9680f2a2f945c}{\index{meow\-::\-Self@{meow\-::\-Self}!reference\-Less@{reference\-Less}}
\index{reference\-Less@{reference\-Less}!meow::Self@{meow\-::\-Self}}
\subsubsection[{reference\-Less}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ bool {\bf meow\-::\-Self}$<$ Data $>$\-::reference\-Less (
@@ -340,16 +423,17 @@ $\ast$this
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_a10f22a83c3afcf65f8f9680f2a2f945c}
-以reference作為判斷依據的小於判斷
+Order compare by reference pointer.
\begin{DoxyParams}[1]{Parameters}
-\mbox{\tt in} & {\em s} & 另一個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \\
+\mbox{\tt in} & {\em s} & another {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} object \\
\hline
\end{DoxyParams}
-\begin{DoxyReturn}{Returns}
-{\ttfamily true/false} 表示自己是否小於另一個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}}
-\end{DoxyReturn}
+
+
+Definition at line 299 of file Self.\-h.
+
\hypertarget{classmeow_1_1Self_ab3671e44693b79e2f987f59652d46ca9}{\index{meow\-::\-Self@{meow\-::\-Self}!same@{same}}
\index{same@{same}!meow::Self@{meow\-::\-Self}}
\subsubsection[{same}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data$>$ bool {\bf meow\-::\-Self}$<$ Data $>$\-::same (
@@ -359,18 +443,22 @@ $\ast$this
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classmeow_1_1Self_ab3671e44693b79e2f987f59652d46ca9}
-比對兩個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} 是否指向同一個reference
+Compare tht if the gived {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} object is reference from the same object of me.
\begin{DoxyParams}[1]{Parameters}
-\mbox{\tt in} & {\em s} & 另一個 {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} \\
+\mbox{\tt in} & {\em s} & gived {\ttfamily \hyperlink{classmeow_1_1Self}{Self}} object \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
-{\ttfamily true/false} 表示是否為同一個reference
+{\ttfamily true} if we are referenced to the same object.
\end{DoxyReturn}
+Definition at line 277 of file Self.\-h.
+
+
+
The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item
meowpp/\hyperlink{Self_8h}{Self.\-h}\end{DoxyCompactItemize}