<!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>ICU 3.8: rbtz.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.1 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="classes.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <h1>rbtz.h</h1><a href="rbtz_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> <a name="l00002"></a>00002 <span class="comment">*******************************************************************************</span> <a name="l00003"></a>00003 <span class="comment">* Copyright (C) 2007, International Business Machines Corporation and *</span> <a name="l00004"></a>00004 <span class="comment">* others. All Rights Reserved. *</span> <a name="l00005"></a>00005 <span class="comment">*******************************************************************************</span> <a name="l00006"></a>00006 <span class="comment">*/</span> <a name="l00007"></a>00007 <span class="preprocessor">#ifndef RBTZ_H</span> <a name="l00008"></a>00008 <span class="preprocessor"></span><span class="preprocessor">#define RBTZ_H</span> <a name="l00009"></a>00009 <span class="preprocessor"></span> <a name="l00010"></a>00010 <span class="preprocessor">#include "<a class="code" href="utypes_8h.html">unicode/utypes.h</a>"</span> <a name="l00011"></a>00011 <a name="l00017"></a>00017 <span class="preprocessor">#if !UCONFIG_NO_FORMATTING</span> <a name="l00018"></a>00018 <span class="preprocessor"></span> <a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="basictz_8h.html">unicode/basictz.h</a>"</span> <a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="unistr_8h.html">unicode/unistr.h</a>"</span> <a name="l00021"></a>00021 <a name="l00022"></a>00022 <a class="code" href="uversion_8h.html#7d9374e037299886d4192b763b4c5e8b">U_NAMESPACE_BEGIN</a> <a name="l00023"></a>00023 <a name="l00024"></a>00024 <span class="comment">// forward declaration</span> <a name="l00025"></a>00025 <span class="keyword">class </span>UVector; <a name="l00026"></a>00026 <a name="l00027"></a><a class="code" href="classRuleBasedTimeZone.html">00027</a> <span class="keyword">class </span><a class="code" href="utypes_8h.html#b9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classRuleBasedTimeZone.html">RuleBasedTimeZone</a> : <span class="keyword">public</span> <a class="code" href="classBasicTimeZone.html">BasicTimeZone</a> { <a name="l00028"></a>00028 <span class="keyword">public</span>: <a name="l00038"></a>00038 <a class="code" href="classRuleBasedTimeZone.html">RuleBasedTimeZone</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& <span class="keywordtype">id</span>, <a class="code" href="classInitialTimeZoneRule.html">InitialTimeZoneRule</a>* initialRule); <a name="l00039"></a>00039 <a name="l00045"></a>00045 <a class="code" href="classRuleBasedTimeZone.html">RuleBasedTimeZone</a>(<span class="keyword">const</span> <a class="code" href="classRuleBasedTimeZone.html">RuleBasedTimeZone</a>& source); <a name="l00046"></a>00046 <a name="l00051"></a>00051 <span class="keyword">virtual</span> ~<a class="code" href="classRuleBasedTimeZone.html">RuleBasedTimeZone</a>(); <a name="l00052"></a>00052 <a name="l00058"></a>00058 <a class="code" href="classRuleBasedTimeZone.html">RuleBasedTimeZone</a>& <a class="code" href="classTimeZone.html#2b67f0f38a5462a2096ce5e3c0b6890e">operator=</a>(<span class="keyword">const</span> <a class="code" href="classRuleBasedTimeZone.html">RuleBasedTimeZone</a>& right); <a name="l00059"></a>00059 <a name="l00068"></a>00068 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classTimeZone.html#591f685d631f513d3ada9d53aad57730">operator==</a>(<span class="keyword">const</span> <a class="code" href="classTimeZone.html">TimeZone</a>& that) <span class="keyword">const</span>; <a name="l00069"></a>00069 <a name="l00078"></a>00078 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classTimeZone.html#805539fa739b448f5c8fe1394ae35614">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classTimeZone.html">TimeZone</a>& that) <span class="keyword">const</span>; <a name="l00079"></a>00079 <a name="l00095"></a>00095 <span class="keywordtype">void</span> addTransitionRule(<a class="code" href="classTimeZoneRule.html">TimeZoneRule</a>* rule, <a class="code" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status); <a name="l00096"></a>00096 <a name="l00106"></a>00106 <span class="keywordtype">void</span> complete(<a class="code" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status); <a name="l00107"></a>00107 <a name="l00115"></a>00115 <span class="keyword">virtual</span> <a class="code" href="classTimeZone.html">TimeZone</a>* <a class="code" href="classTimeZone.html#35b23140b29f59560b12da3450289347">clone</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00116"></a>00116 <a name="l00141"></a>00141 <span class="keyword">virtual</span> <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> <a class="code" href="classTimeZone.html#017d9aeff3e3bbef824088d8fadeb800">getOffset</a>(<a class="code" href="platform_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> era, <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> year, <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> month, <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> day, <a name="l00142"></a>00142 <a class="code" href="platform_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> dayOfWeek, <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> millis, <a class="code" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status) <span class="keyword">const</span>; <a name="l00143"></a>00143 <a name="l00163"></a>00163 <span class="keyword">virtual</span> <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> <a class="code" href="classTimeZone.html#017d9aeff3e3bbef824088d8fadeb800">getOffset</a>(<a class="code" href="platform_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> era, <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> year, <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> month, <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> day, <a name="l00164"></a>00164 <a class="code" href="platform_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> dayOfWeek, <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> millis, <a name="l00165"></a>00165 <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> monthLength, <a class="code" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status) <span class="keyword">const</span>; <a name="l00166"></a>00166 <a name="l00189"></a>00189 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTimeZone.html#017d9aeff3e3bbef824088d8fadeb800">getOffset</a>(<a class="code" href="utypes_8h.html#ce1704e9e77d407d1eaaa2e73ec0c039">UDate</a> date, <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> local, <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>& rawOffset, <a name="l00190"></a>00190 <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>& dstOffset, <a class="code" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a>& ec) <span class="keyword">const</span>; <a name="l00191"></a>00191 <a name="l00199"></a>00199 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTimeZone.html#a10a9a17184453e742bab37a99efb84e">setRawOffset</a>(<a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> offsetMillis); <a name="l00200"></a>00200 <a name="l00208"></a>00208 <span class="keyword">virtual</span> <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> <a class="code" href="classTimeZone.html#8ad1d8e8ab11e48628ff5789d8d0170d">getRawOffset</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00209"></a>00209 <a name="l00216"></a>00216 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classTimeZone.html#075576d70d80a056b9b9f8ef39acafee">useDaylightTime</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00217"></a>00217 <a name="l00231"></a>00231 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classTimeZone.html#726198e7a64efd59f10cd22b5c7aaca1">inDaylightTime</a>(<a class="code" href="utypes_8h.html#ce1704e9e77d407d1eaaa2e73ec0c039">UDate</a> date, <a class="code" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status) <span class="keyword">const</span>; <a name="l00232"></a>00232 <a name="l00241"></a>00241 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classTimeZone.html#689ea7b18c55593b1e7ce07e893fb250">hasSameRules</a>(<span class="keyword">const</span> <a class="code" href="classTimeZone.html">TimeZone</a>& other) <span class="keyword">const</span>; <a name="l00242"></a>00242 <a name="l00251"></a>00251 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classBasicTimeZone.html#7139f3be13450d9833717644227fd2e4">getNextTransition</a>(<a class="code" href="utypes_8h.html#ce1704e9e77d407d1eaaa2e73ec0c039">UDate</a> base, <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> inclusive, <a class="code" href="classTimeZoneTransition.html">TimeZoneTransition</a>& result) <span class="comment">/*const*/</span>; <a name="l00252"></a>00252 <a name="l00261"></a>00261 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classBasicTimeZone.html#8eb6e573592f43efdb497e20c7a34beb">getPreviousTransition</a>(<a class="code" href="utypes_8h.html#ce1704e9e77d407d1eaaa2e73ec0c039">UDate</a> base, <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> inclusive, <a class="code" href="classTimeZoneTransition.html">TimeZoneTransition</a>& result) <span class="comment">/*const*/</span>; <a name="l00262"></a>00262 <a name="l00271"></a>00271 <span class="keyword">virtual</span> <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> <a class="code" href="classBasicTimeZone.html#6a24226cfc738d554a2a563021ccee28">countTransitionRules</a>(<a class="code" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status) <span class="comment">/*const*/</span>; <a name="l00272"></a>00272 <a name="l00289"></a>00289 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classBasicTimeZone.html#4db4254a521bad3811df69ba032369fe">getTimeZoneRules</a>(<span class="keyword">const</span> <a class="code" href="classInitialTimeZoneRule.html">InitialTimeZoneRule</a>*& initial, <a name="l00290"></a>00290 <span class="keyword">const</span> <a class="code" href="classTimeZoneRule.html">TimeZoneRule</a>* trsrules[], <a class="code" href="platform_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>& trscount, <a class="code" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status) <span class="comment">/*const*/</span>; <a name="l00291"></a>00291 <a name="l00292"></a>00292 <span class="keyword">private</span>: <a name="l00293"></a>00293 <span class="keywordtype">void</span> deleteRules(<span class="keywordtype">void</span>); <a name="l00294"></a>00294 <span class="keywordtype">void</span> deleteTransitions(<span class="keywordtype">void</span>); <a name="l00295"></a>00295 UVector* copyRules(UVector* source); <a name="l00296"></a>00296 <a class="code" href="classTimeZoneRule.html">TimeZoneRule</a>* findRuleInFinal(<a class="code" href="utypes_8h.html#ce1704e9e77d407d1eaaa2e73ec0c039">UDate</a> date, <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> local) <span class="keyword">const</span>; <a name="l00297"></a>00297 <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> findNext(<a class="code" href="utypes_8h.html#ce1704e9e77d407d1eaaa2e73ec0c039">UDate</a> base, <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> inclusive, <a class="code" href="utypes_8h.html#ce1704e9e77d407d1eaaa2e73ec0c039">UDate</a>& time, <a class="code" href="classTimeZoneRule.html">TimeZoneRule</a>*& from, <a class="code" href="classTimeZoneRule.html">TimeZoneRule</a>*& to) <span class="keyword">const</span>; <a name="l00298"></a>00298 <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> findPrev(<a class="code" href="utypes_8h.html#ce1704e9e77d407d1eaaa2e73ec0c039">UDate</a> base, <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> inclusive, <a class="code" href="utypes_8h.html#ce1704e9e77d407d1eaaa2e73ec0c039">UDate</a>& time, <a class="code" href="classTimeZoneRule.html">TimeZoneRule</a>*& from, <a class="code" href="classTimeZoneRule.html">TimeZoneRule</a>*& to) <span class="keyword">const</span>; <a name="l00299"></a>00299 <a name="l00300"></a>00300 <a class="code" href="classInitialTimeZoneRule.html">InitialTimeZoneRule</a> *fInitialRule; <a name="l00301"></a>00301 UVector *fHistoricRules; <a name="l00302"></a>00302 UVector *fFinalRules; <a name="l00303"></a>00303 UVector *fHistoricTransitions; <a name="l00304"></a>00304 <a class="code" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> fUpToDate; <a name="l00305"></a>00305 <a name="l00306"></a>00306 <span class="keyword">public</span>: <a name="l00318"></a>00318 <span class="keyword">static</span> <a class="code" href="utypes_8h.html#22af10545208a455a6e884008df48e9f">UClassID</a> <a class="code" href="platform_8h.html#72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> <a class="code" href="classTimeZone.html#6089503a336da33a745c99ce9a03bc16">getStaticClassID</a>(<span class="keywordtype">void</span>); <a name="l00319"></a>00319 <a name="l00331"></a>00331 <span class="keyword">virtual</span> <a class="code" href="utypes_8h.html#22af10545208a455a6e884008df48e9f">UClassID</a> <a class="code" href="classTimeZone.html#825e1474130ebcdfedc7ffa64c016220">getDynamicClassID</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00332"></a>00332 }; <a name="l00333"></a>00333 <a name="l00334"></a>00334 <a class="code" href="uversion_8h.html#3da1f00f3b02976ac53c014a3e4c0933">U_NAMESPACE_END</a> <a name="l00335"></a>00335 <a name="l00336"></a>00336 <span class="preprocessor">#endif </span><span class="comment">/* #if !UCONFIG_NO_FORMATTING */</span> <a name="l00337"></a>00337 <a name="l00338"></a>00338 <span class="preprocessor">#endif // RBTZ_H</span> <a name="l00339"></a>00339 <span class="preprocessor"></span> <a name="l00340"></a>00340 <span class="comment">//eof</span> </pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Sep 14 12:59:20 2007 for ICU 3.8 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address> </body> </html>