<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>ICU 4.8.1.1: gregocal.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">ICU 4.8.1.1  <span id="projectnumber">4.8.1.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.1.1 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Pages</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_73bc6a9bb617ea1bc89a10aa59ce84e4.html">i18n</a></li><li class="navelem"><a class="el" href="dir_0119ce638985e8a1561a00fdb5f76ff6.html">unicode</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">gregocal.h</div> </div> </div><!--header--> <div class="contents"> <a href="gregocal_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">* Copyright (C) 1997-2011, International Business Machines Corporation and others.</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">* All Rights Reserved.</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">********************************************************************************</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">*</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">* File GREGOCAL.H</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">*</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">* Modification History:</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">*</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">* Date Name Description</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">* 04/22/97 aliu Overhauled header.</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">* 07/28/98 stephen Sync with JDK 1.2</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">* 09/04/98 stephen Re-sync with JDK 8/31 putback</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">* 09/14/98 stephen Changed type of kOneDay, kOneWeek to double.</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">* Fixed bug in roll()</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">* 10/15/99 aliu Fixed j31, incorrect WEEK_OF_YEAR computation.</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">* Added documentation of WEEK_OF_YEAR computation.</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">* 10/15/99 aliu Fixed j32, cannot set date to Feb 29 2000 AD.</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">* {JDK bug 4210209 4209272}</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* 11/07/2003 srl Update, clean up documentation.</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">********************************************************************************</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*/</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#ifndef GREGOCAL_H</span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"></span><span class="preprocessor">#define GREGOCAL_H</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "<a class="code" href="utypes_8h.html" title="Basic definitions for ICU, for both C and C++ APIs.">unicode/utypes.h</a>"</span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#if !UCONFIG_NO_FORMATTING</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "<a class="code" href="calendar_8h.html" title="C++ API: Calendar object.">unicode/calendar.h</a>"</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <a class="code" href="uversion_8h.html#a7d9374e037299886d4192b763b4c5e8b" title="This is used to begin a declaration of a public ICU C++ API.">U_NAMESPACE_BEGIN</a></div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div> <div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="classGregorianCalendar.html"> 149</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a" title="Set to export library symbols from inside the i18n library, and to import them from outside...">U_I18N_API</a> <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>: <span class="keyword">public</span> <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set of integer fields ...">Calendar</a> {</div> <div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div> <div class="line"><a name="l00156"></a><span class="lineno"><a class="code" href="classGregorianCalendar.html#afeedaf0d04321220e77c46ba69b78619"> 156</a></span>  <span class="keyword">enum</span> <a class="code" href="classGregorianCalendar.html#afeedaf0d04321220e77c46ba69b78619" title="Useful constants for GregorianCalendar and TimeZone.">EEras</a> {</div> <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  BC,</div> <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  AD</div> <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  };</div> <div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div> <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& success);</div> <div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div> <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>(<a class="code" href="classTimeZone.html" title="TimeZone represents a time zone offset, and also figures out daylight savings.">TimeZone</a>* zoneToAdopt, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& success);</div> <div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div> <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>(<span class="keyword">const</span> <a class="code" href="classTimeZone.html" title="TimeZone represents a time zone offset, and also figures out daylight savings.">TimeZone</a>& zone, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& success);</div> <div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div> <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>(<span class="keyword">const</span> <a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a>& aLocale, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& success);</div> <div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div> <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>(<a class="code" href="classTimeZone.html" title="TimeZone represents a time zone offset, and also figures out daylight savings.">TimeZone</a>* zoneToAdopt, <span class="keyword">const</span> <a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a>& aLocale, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& success);</div> <div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div> <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>(<span class="keyword">const</span> <a class="code" href="classTimeZone.html" title="TimeZone represents a time zone offset, and also figures out daylight savings.">TimeZone</a>& zone, <span class="keyword">const</span> <a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a>& aLocale, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& success);</div> <div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div> <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>(int32_t year, int32_t month, int32_t date, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& success);</div> <div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div> <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>(int32_t year, int32_t month, int32_t date, int32_t hour, int32_t minute, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& success);</div> <div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div> <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>(int32_t year, int32_t month, int32_t date, int32_t hour, int32_t minute, int32_t second, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& success);</div> <div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div> <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keyword">virtual</span> ~<a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>();</div> <div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div> <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>(<span class="keyword">const</span> <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>& source);</div> <div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div> <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>& <a class="code" href="classCalendar.html#ac3bcbd2497e977c8324cc0b089879c3a" title="Default assignment operator.">operator=</a>(<span class="keyword">const</span> <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>& right);</div> <div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div> <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keyword">virtual</span> <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set of integer fields ...">Calendar</a>* <a class="code" href="classCalendar.html#a369327438e076e64c99ec1d669919957" title="Create and return a polymorphic copy of this calendar.">clone</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div> <div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div> <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordtype">void</span> setGregorianChange(<a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> date, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& success);</div> <div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div> <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> getGregorianChange(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div> <div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div> <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isLeapYear(int32_t year) <span class="keyword">const</span>;</div> <div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div> <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classCalendar.html#a50ab4c5aa1f93959282c71de04625935" title="Returns TRUE if the given Calendar object is equivalent to this one.">isEquivalentTo</a>(<span class="keyword">const</span> <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set of integer fields ...">Calendar</a>& other) <span class="keyword">const</span>;</div> <div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div> <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCalendar.html#a98e5b80bb733a6e8dec95b8ac0225a68" title="Time Field Rolling function.">roll</a>(EDateFields field, int32_t amount, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00363"></a><span class="lineno"> 363</span> </div> <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCalendar.html#a98e5b80bb733a6e8dec95b8ac0225a68" title="Time Field Rolling function.">roll</a>(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, int32_t amount, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div> <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  int32_t <a class="code" href="classCalendar.html#a4e67d27df4e1579ce031de5e6ea05a2e" title="Return the minimum value that this field could have, given the current date.">getActualMinimum</a>(EDateFields field) <span class="keyword">const</span>;</div> <div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div> <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  int32_t <a class="code" href="classCalendar.html#a4e67d27df4e1579ce031de5e6ea05a2e" title="Return the minimum value that this field could have, given the current date.">getActualMinimum</a>(EDateFields field, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status) <span class="keyword">const</span>;</div> <div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div> <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  int32_t <a class="code" href="classCalendar.html#a4e67d27df4e1579ce031de5e6ea05a2e" title="Return the minimum value that this field could have, given the current date.">getActualMinimum</a>(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &status) <span class="keyword">const</span>;</div> <div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div> <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  int32_t <a class="code" href="classCalendar.html#a62c65424820ca64e850b346212eb35a7" title="Return the maximum value that this field could have, given the current date.">getActualMaximum</a>(EDateFields field) <span class="keyword">const</span>;</div> <div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div> <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="classCalendar.html#a62c65424820ca64e850b346212eb35a7" title="Return the maximum value that this field could have, given the current date.">getActualMaximum</a>(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status) <span class="keyword">const</span>;</div> <div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div> <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classCalendar.html#a8199d459b6d2171fb62620fab29b8668" title="Queries if the current date for this Calendar is in Daylight Savings Time.">inDaylightTime</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status) <span class="keyword">const</span>;</div> <div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div> <div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div> <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keyword">virtual</span> <a class="code" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f" title="UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ c...">UClassID</a> <a class="code" href="classCalendar.html#a13e235c4396d92fc3b129d6a07e6076a" title="Returns a unique class ID POLYMORPHICALLY.">getDynamicClassID</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div> <div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div> <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keyword">static</span> <a class="code" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f" title="UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ c...">UClassID</a> <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> getStaticClassID(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div> <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classCalendar.html#a46741d547451faae02591381593d127b" title="Returns the resource key string used for this calendar type.">getType</a>() <span class="keyword">const</span>;</div> <div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div> <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <span class="keyword">private</span>:</div> <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <a class="code" href="classGregorianCalendar.html" title="Concrete class which provides the standard calendar used by most of the world.">GregorianCalendar</a>(); <span class="comment">// default constructor not implemented</span></div> <div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div> <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keyword">protected</span>:</div> <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keyword">virtual</span> int32_t internalGetEra() <span class="keyword">const</span>;</div> <div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div> <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="classCalendar.html#addb140c1bca76059b1a4084433ab67db" title="Return the Julian day number of day before the first day of the given month in the given extended yea...">handleComputeMonthStart</a>(int32_t eyear, int32_t month,</div> <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> useMonth) <span class="keyword">const</span>;</div> <div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div> <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="classCalendar.html#afd953ab4dc160ffc1b586c627c2c6ad9" title="Subclasses may override this.">handleComputeJulianDay</a>(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> bestField) ;</div> <div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div> <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="classCalendar.html#aaa7b064d37f1ac4b66dc57fef6481cda" title="Return the number of days in the given month of the given extended year of this calendar system...">handleGetMonthLength</a>(int32_t extendedYear, int32_t month) <span class="keyword">const</span>;</div> <div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div> <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="classCalendar.html#acb983bdeebcfb0441ed46256b0f444cc" title="Return the number of days in the given extended year of this calendar system.">handleGetYearLength</a>(int32_t eyear) <span class="keyword">const</span>;</div> <div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div> <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keyword">virtual</span> int32_t monthLength(int32_t month) <span class="keyword">const</span>;</div> <div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div> <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <span class="keyword">virtual</span> int32_t monthLength(int32_t month, int32_t year) <span class="keyword">const</span>;</div> <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  </div> <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  int32_t yearLength(int32_t year) <span class="keyword">const</span>;</div> <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  </div> <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  int32_t yearLength(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div> <div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div> <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keywordtype">void</span> pinDayOfMonth(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00571"></a><span class="lineno"> 571</span> </div> <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="keyword">virtual</span> <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> getEpochDay(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00580"></a><span class="lineno"> 580</span> </div> <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="classCalendar.html#afd43a5f74be144b5ac90bc57a2f9cede" title="Subclass API for defining limits of different types.">handleGetLimit</a>(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, ELimitType limitType) <span class="keyword">const</span>;</div> <div class="line"><a name="l00603"></a><span class="lineno"> 603</span> </div> <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="classCalendar.html#a465fbc6494f2126892dcd694217697f4" title="Return the extended year defined by the current fields.">handleGetExtendedYear</a>();</div> <div class="line"><a name="l00613"></a><span class="lineno"> 613</span> </div> <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="classCalendar.html#a116247236ceda5f3d5424767d3c3c561" title="Subclasses must override this to convert from week fields (YEAR_WOY and WEEK_OF_YEAR) to an extended ...">handleGetExtendedYearFromWeekFields</a>(int32_t yearWoy, int32_t woy);</div> <div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div> <div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div> <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classCalendar.html#a195fad36b525b46df8934aca312db35e" title="Subclasses may override this method to compute several fields specific to each calendar system...">handleComputeFields</a>(int32_t julianDay, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &status);</div> <div class="line"><a name="l00641"></a><span class="lineno"> 641</span> </div> <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keyword">private</span>:</div> <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  <span class="keyword">static</span> <span class="keywordtype">double</span> computeJulianDayOfYear(<a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isGregorian, int32_t year,</div> <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>& isLeap);</div> <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  </div> <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> validateFields(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div> <div class="line"><a name="l00658"></a><span class="lineno"> 658</span> </div> <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> boundsCheck(int32_t value, <a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field) <span class="keyword">const</span>;</div> <div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div> <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  int32_t aggregateStamp(int32_t stamp_a, int32_t stamp_b);</div> <div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div> <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> fGregorianCutover;</div> <div class="line"><a name="l00684"></a><span class="lineno"> 684</span> </div> <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  int32_t fCutoverJulianDay;</div> <div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div> <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> fNormalizedGregorianCutover;<span class="comment">// = gregorianCutover;</span></div> <div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div> <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  int32_t fGregorianCutoverYear;<span class="comment">// = 1582;</span></div> <div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div> <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  int32_t fGregorianCutoverJulianDay;<span class="comment">// = 2299161;</span></div> <div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div> <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="keyword">static</span> <span class="keywordtype">double</span> millisToJulianDay(<a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> millis);</div> <div class="line"><a name="l00717"></a><span class="lineno"> 717</span> </div> <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <span class="keyword">static</span> <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> julianDayToMillis(<span class="keywordtype">double</span> julian);</div> <div class="line"><a name="l00726"></a><span class="lineno"> 726</span> </div> <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fIsGregorian;</div> <div class="line"><a name="l00732"></a><span class="lineno"> 732</span> </div> <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fInvertGregorian;</div> <div class="line"><a name="l00739"></a><span class="lineno"> 739</span> </div> <div class="line"><a name="l00740"></a><span class="lineno"> 740</span> </div> <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  <span class="keyword">public</span>: <span class="comment">// internal implementation</span></div> <div class="line"><a name="l00742"></a><span class="lineno"> 742</span> </div> <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classCalendar.html#ae5bb9c44ecea69ad64d813fe41de6efa">haveDefaultCentury</a>() <span class="keyword">const</span>;</div> <div class="line"><a name="l00748"></a><span class="lineno"> 748</span> </div> <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  <span class="keyword">virtual</span> <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> <a class="code" href="classCalendar.html#a745cdbb7e0477cb7c3bb2b29bd0b4350">defaultCenturyStart</a>() <span class="keyword">const</span>;</div> <div class="line"><a name="l00754"></a><span class="lineno"> 754</span> </div> <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <span class="keyword">virtual</span> int32_t <a class="code" href="classCalendar.html#a4fa3cf26747f8decdb71d2f3786e9a34">defaultCenturyStartYear</a>() <span class="keyword">const</span>;</div> <div class="line"><a name="l00760"></a><span class="lineno"> 760</span> </div> <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  <span class="keyword">private</span>:</div> <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="keyword">static</span> <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> fgSystemDefaultCenturyStart;</div> <div class="line"><a name="l00769"></a><span class="lineno"> 769</span> </div> <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <span class="keyword">static</span> int32_t fgSystemDefaultCenturyStartYear;</div> <div class="line"><a name="l00774"></a><span class="lineno"> 774</span> </div> <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keyword">static</span> <span class="keyword">const</span> int32_t fgSystemDefaultCenturyYear;</div> <div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div> <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> fgSystemDefaultCentury;</div> <div class="line"><a name="l00784"></a><span class="lineno"> 784</span> </div> <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> internalGetDefaultCenturyStart(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div> <div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div> <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  int32_t internalGetDefaultCenturyStartYear(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div> <div class="line"><a name="l00800"></a><span class="lineno"> 800</span> </div> <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> initializeSystemDefaultCentury(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div> <div class="line"><a name="l00807"></a><span class="lineno"> 807</span> };</div> <div class="line"><a name="l00808"></a><span class="lineno"> 808</span> </div> <div class="line"><a name="l00809"></a><span class="lineno"> 809</span> <a class="code" href="uversion_8h.html#a3da1f00f3b02976ac53c014a3e4c0933" title="This is used to end a declaration of a public ICU C++ API.">U_NAMESPACE_END</a></div> <div class="line"><a name="l00810"></a><span class="lineno"> 810</span> </div> <div class="line"><a name="l00811"></a><span class="lineno"> 811</span> <span class="preprocessor">#endif </span><span class="comment">/* #if !UCONFIG_NO_FORMATTING */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="preprocessor">#endif // _GREGOCAL</span></div> <div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="preprocessor"></span><span class="comment">//eof</span></div> <div class="line"><a name="l00815"></a><span class="lineno"> 815</span> </div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1.1 </small></address> </body> </html>