?? cons_8hpp-source.html
字號(hào):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>a1: cons.hpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.9.1 --><div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div><h1>cons.hpp</h1><a href="cons_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 00009 <span class="preprocessor">#ifndef CONS_HPP</span>00010 <span class="preprocessor"></span><span class="preprocessor">#define CONS_HPP</span>00011 <span class="preprocessor"></span>00012 <span class="preprocessor">#include <iostream></span>00013 <span class="preprocessor">#include "<a class="code" href="Cell_8hpp.html">Cell.hpp</a>"</span>00014 00015 <span class="keyword">using</span> <span class="keyword">namespace </span>std;00016 00020 <span class="keyword">extern</span> <a class="code" href="classCell.html">Cell</a>* <span class="keyword">const</span> nil;00021 <a name="l00026"></a><a class="code" href="cons_8hpp.html#a1">00026</a> <span class="keyword">inline</span> <a class="code" href="classCell.html">Cell</a>* <a class="code" href="cons_8hpp.html#a1">make_int</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> i)00027 {00028 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classIntCell.html">IntCell</a>(i);00029 }00030 <a name="l00035"></a><a class="code" href="cons_8hpp.html#a2">00035</a> <span class="keyword">inline</span> <a class="code" href="classCell.html">Cell</a>* <a class="code" href="cons_8hpp.html#a2">make_double</a>(<span class="keyword">const</span> <span class="keywordtype">double</span> d)00036 {00037 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classDoubleCell.html">DoubleCell</a>(d);00038 }00039 <a name="l00044"></a><a class="code" href="cons_8hpp.html#a3">00044</a> <span class="keyword">inline</span> <a class="code" href="classCell.html">Cell</a>* <a class="code" href="cons_8hpp.html#a3">make_symbol</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> s)00045 {00046 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classSymbolCell.html">SymbolCell</a>(s);00047 }00048 <a name="l00054"></a><a class="code" href="cons_8hpp.html#a4">00054</a> <span class="keyword">inline</span> <a class="code" href="classCell.html">Cell</a>* <a class="code" href="cons_8hpp.html#a4">cons</a>(<a class="code" href="classCell.html">Cell</a>* <span class="keyword">const</span> my_car, <a class="code" href="classCell.html">Cell</a>* <span class="keyword">const</span> my_cdr)00055 {00056 <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classConsCell.html">ConsCell</a>(my_car, my_cdr);00057 }00058 <a name="l00063"></a><a class="code" href="cons_8hpp.html#a5">00063</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="cons_8hpp.html#a5">nullp</a>(<a class="code" href="classCell.html">Cell</a>* <span class="keyword">const</span> c)00064 {00065 <span class="keywordflow">return</span> (c == nil);00066 }00067 <a name="l00072"></a><a class="code" href="cons_8hpp.html#a6">00072</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="cons_8hpp.html#a6">listp</a>(<a class="code" href="classCell.html">Cell</a>* <span class="keyword">const</span> c)00073 {00074 <span class="keywordflow">return</span> <a class="code" href="cons_8hpp.html#a5">nullp</a>(c) || c-><a class="code" href="classCell.html#a3">is_cons</a>();00075 }00076 <a name="l00081"></a><a class="code" href="cons_8hpp.html#a7">00081</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="cons_8hpp.html#a7">intp</a>(<a class="code" href="classCell.html">Cell</a>* <span class="keyword">const</span> c)00082 {00083 <span class="keywordflow">return</span> !<a class="code" href="cons_8hpp.html#a5">nullp</a>(c) && c-><a class="code" href="classCell.html#a0">is_int</a>();00084 }00085 <a name="l00090"></a><a class="code" href="cons_8hpp.html#a8">00090</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="cons_8hpp.html#a8">doublep</a>(<a class="code" href="classCell.html">Cell</a>* <span class="keyword">const</span> c)00091 {00092 <span class="keywordflow">return</span> !<a class="code" href="cons_8hpp.html#a5">nullp</a>(c) && c-><a class="code" href="classCell.html#a1">is_double</a>();00093 }00094 <a name="l00099"></a><a class="code" href="cons_8hpp.html#a9">00099</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="cons_8hpp.html#a9">symbolp</a>(<a class="code" href="classCell.html">Cell</a>* <span class="keyword">const</span> c)00100 {00101 <span class="keywordflow">return</span> !<a class="code" href="cons_8hpp.html#a5">nullp</a>(c) && c-><a class="code" href="classCell.html#a2">is_symbol</a>();00102 }00103 <a name="l00108"></a><a class="code" href="cons_8hpp.html#a10">00108</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="cons_8hpp.html#a10">get_int</a>(<a class="code" href="classCell.html">Cell</a>* <span class="keyword">const</span> c)00109 {00110 <span class="keywordflow">return</span> c-><a class="code" href="classCell.html#a4">get_int</a>();00111 }00112 <a name="l00117"></a><a class="code" href="cons_8hpp.html#a11">00117</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="cons_8hpp.html#a11">get_double</a>(<a class="code" href="classCell.html">Cell</a>* <span class="keyword">const</span> c)00118 {00119 <span class="keywordflow">return</span> c-><a class="code" href="classCell.html#a5">get_double</a>();00120 }00121 <a name="l00127"></a><a class="code" href="cons_8hpp.html#a12">00127</a> <span class="keyword">inline</span> string <a class="code" href="cons_8hpp.html#a12">get_symbol</a>(<a class="code" href="classCell.html">Cell</a>* <span class="keyword">const</span> c)00128 {00129 <span class="keywordflow">return</span> c-><a class="code" href="classCell.html#a6">get_symbol</a>();00130 }00131 <a name="l00136"></a><a class="code" href="cons_8hpp.html#a13">00136</a> <span class="keyword">inline</span> <a class="code" href="classCell.html">Cell</a>* <a class="code" href="cons_8hpp.html#a13">car</a>(<a class="code" href="classCell.html">Cell</a>* <span class="keyword">const</span> c)00137 {00138 <span class="keywordflow">return</span> c-><a class="code" href="classCell.html#a7">get_car</a>();00139 }00140 <a name="l00145"></a><a class="code" href="cons_8hpp.html#a14">00145</a> <span class="keyword">inline</span> <a class="code" href="classCell.html">Cell</a>* <a class="code" href="cons_8hpp.html#a14">cdr</a>(<a class="code" href="classCell.html">Cell</a>* <span class="keyword">const</span> c)00146 {00147 <span class="keywordflow">return</span> c-><a class="code" href="classCell.html#a8">get_cdr</a>();00148 }00149 <a name="l00155"></a><a class="code" href="cons_8hpp.html#a15">00155</a> <span class="keyword">inline</span> ostream& <a class="code" href="cons_8hpp.html#a15">operator<<</a>(ostream& os, <span class="keyword">const</span> <a class="code" href="classCell.html">Cell</a>& c)00156 {00157 c.<a class="code" href="classCell.html#a9">print</a>(os);00158 <span class="keywordflow">return</span> os;00159 }00160 00161 <span class="preprocessor">#endif // CONS_HPP</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Mar 28 22:53:53 2007 for a1 by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address></body></html>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -