⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 date_8h-source.html

📁 最新版本!fastdb是高效的内存数据库系统
💻 HTML
📖 第 1 页 / 共 2 页
字号:
00119         <span class="keywordflow">if</span> (m &lt; 10) { 
00120                 m += 3;
00121         } <span class="keywordflow">else</span> {
00122                 m -= 9;
00123                 y++;
00124         } <span class="comment">/* else */</span>
00125         month = m;
00126         day = d;
00127         year = y;
00128     } <span class="comment">/* mdy */</span>
00129 
00130     <span class="keywordtype">int</span> day() {
00131         <span class="keywordtype">int</span> month, day, year;
00132         MDY(year, month, day);
00133         <span class="keywordflow">return</span> day;
00134     }
00135 
00136     <span class="keywordtype">int</span> month() {
00137         <span class="keywordtype">int</span> month, day, year;
00138         MDY(year, month, day);
00139         <span class="keywordflow">return</span> month;
00140     }
00141 
00142     <span class="keywordtype">int</span> year() {
00143         <span class="keywordtype">int</span> month, day, year;
00144         MDY(year, month, day);
00145         <span class="keywordflow">return</span> year;
00146     }
00147 
00148     <span class="keywordtype">int</span> dayOfWeek() { 
00149         <span class="keywordflow">return</span> (jday % 7) + 1;
00150     }
00151 
00152     <span class="keywordtype">char</span>* asString(<span class="keywordtype">char</span>* buf, <span class="keywordtype">char</span> <span class="keyword">const</span>* format = <span class="stringliteral">"%d-%M-%Y"</span>)<span class="keyword"> const </span>{ 
00153         <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* dayName[] = { <span class="stringliteral">"Mon"</span>, <span class="stringliteral">"Tue"</span>, <span class="stringliteral">"Wen"</span>, <span class="stringliteral">"Thu"</span>, <span class="stringliteral">"Fri"</span>, <span class="stringliteral">"Sat"</span>, <span class="stringliteral">"Sun"</span> };
00154         <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* monthName[] = { <span class="stringliteral">"Jan"</span>, <span class="stringliteral">"Feb"</span>, <span class="stringliteral">"Mar"</span>, <span class="stringliteral">"Apr"</span>, <span class="stringliteral">"May"</span>, <span class="stringliteral">"Jun"</span>, <span class="stringliteral">"Jul"</span>,
00155                                            <span class="stringliteral">"Aug"</span>, <span class="stringliteral">"Sep"</span>, <span class="stringliteral">"Oct"</span>, <span class="stringliteral">"Nov"</span>, <span class="stringliteral">"Dec"</span> };
00156         <span class="keywordtype">int</span> month, day, year;
00157         MDY(year, month, day);
00158         <span class="keywordtype">char</span> ch, *dst = buf;
00159         <span class="keywordflow">while</span> ((ch = *format++) != <span class="charliteral">'\0'</span>) { 
00160             <span class="keywordflow">if</span> (ch == <span class="charliteral">'%'</span>) {
00161                 ch = *format++;
00162                 <span class="keywordflow">switch</span> (ch) { 
00163                   <span class="keywordflow">case</span> <span class="charliteral">'d'</span>: dst += sprintf(dst, <span class="stringliteral">"%02u"</span>, day ); <span class="keywordflow">continue</span>;
00164                   <span class="keywordflow">case</span> <span class="charliteral">'D'</span>: dst += sprintf(dst, <span class="stringliteral">"%s"</span>,   dayName[jday % 7]); <span class="keywordflow">continue</span>;
00165                   <span class="keywordflow">case</span> <span class="charliteral">'m'</span>: dst += sprintf(dst, <span class="stringliteral">"%02u"</span>, month); <span class="keywordflow">continue</span>;
00166                   <span class="keywordflow">case</span> <span class="charliteral">'M'</span>: dst += sprintf(dst, <span class="stringliteral">"%s"</span>,   monthName[month - 1]); <span class="keywordflow">continue</span>;
00167                   <span class="keywordflow">case</span> <span class="charliteral">'y'</span>: dst += sprintf(dst, <span class="stringliteral">"%02u"</span>, year - 1900); <span class="keywordflow">continue</span>;
00168                   <span class="keywordflow">case</span> <span class="charliteral">'Y'</span>: dst += sprintf(dst, <span class="stringliteral">"%04u"</span>, year); <span class="keywordflow">continue</span>;
00169                   <span class="keywordflow">default</span>: *dst++ = ch;
00170                 }
00171             } <span class="keywordflow">else</span> { 
00172                 *dst++ = ch;
00173             }
00174         }
00175         *dst = <span class="charliteral">'\0'</span>;
00176         <span class="keywordflow">return</span> buf;
00177     }
00178 
00179 
00180     CLASS_DESCRIPTOR(dbDate, 
00181                      (KEY(jday,INDEXED|HASHED), 
00182                       METHOD(year), METHOD(month), METHOD(day), METHOD(dayOfWeek)));
00183 
00184     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator == (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) { 
00185         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00186         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"="</span>,jday;
00187         <span class="keywordflow">return</span> expr;
00188     }
00189     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator != (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) { 
00190         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00191         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"&lt;&gt;"</span>,jday;
00192         <span class="keywordflow">return</span> expr;
00193     }
00194     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator &lt; (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) { 
00195         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00196         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"&gt;"</span>,jday;
00197         <span class="keywordflow">return</span> expr;
00198     }
00199     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator &lt;= (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) { 
00200         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00201         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"&gt;="</span>,jday;
00202         <span class="keywordflow">return</span> expr;
00203     }
00204     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator &gt; (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) { 
00205         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00206         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"&lt;"</span>,jday;
00207         <span class="keywordflow">return</span> expr;
00208     }
00209     <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> operator &gt;= (<span class="keywordtype">char</span> <span class="keyword">const</span>* field) { 
00210         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00211         expr = <a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"&lt;="</span>,jday;
00212         <span class="keywordflow">return</span> expr;
00213     }
00214     <span class="keyword">friend</span> <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> between(<span class="keywordtype">char</span> <span class="keyword">const</span>* field, dbDate&amp; from,
00215                                      dbDate&amp; till)
00216     { 
00217         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00218         expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"between"</span>,from.jday,<span class="stringliteral">"and"</span>,till.jday;
00219         <span class="keywordflow">return</span> expr;
00220     }
00221 
00222     <span class="keyword">static</span> <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> ascent(<span class="keywordtype">char</span> <span class="keyword">const</span>* field) { 
00223         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00224         expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>);
00225         <span class="keywordflow">return</span> expr;
00226     }   
00227     <span class="keyword">static</span> <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> descent(<span class="keywordtype">char</span> <span class="keyword">const</span>* field) { 
00228         <a class="code" href="classdbQueryExpression.html">dbQueryExpression</a> expr;
00229         expr=<a class="code" href="classdbComponent.html">dbComponent</a>(field,<span class="stringliteral">"jday"</span>),<span class="stringliteral">"desc"</span>;
00230         <span class="keywordflow">return</span> expr;
00231     }   
00232 };
00233 
00234 END_FASTDB_NAMESPACE
00235 
00236 <span class="preprocessor">#endif</span>
</pre></div><hr><address style="align: right;"><small>Generated on Thu Feb 14 12:42:30 2008 for FastDB by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.18 </small></address>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -