<!-- This comment will put IE 6, 7 and 8 in quirks mode --> <!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"/> <title>ICU 4.4.1: calendar.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javaScript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body onload='searchBox.OnSelectItem(0);'> <!-- Generated by Doxygen 1.6.2-20100208 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div class="navigation" id="top"> <div class="tabs"> <ul> <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"> <img id="MSearchSelect" src="search/search.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)"/> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </div> </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>calendar.h</h1><a href="calendar_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) 1997-2010, International Business Machines</span> <a name="l00004"></a>00004 <span class="comment">* Corporation and 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="comment">* File CALENDAR.H</span> <a name="l00008"></a>00008 <span class="comment">*</span> <a name="l00009"></a>00009 <span class="comment">* Modification History:</span> <a name="l00010"></a>00010 <span class="comment">*</span> <a name="l00011"></a>00011 <span class="comment">* Date Name Description</span> <a name="l00012"></a>00012 <span class="comment">* 04/22/97 aliu Expanded and corrected comments and other header</span> <a name="l00013"></a>00013 <span class="comment">* contents.</span> <a name="l00014"></a>00014 <span class="comment">* 05/01/97 aliu Made equals(), before(), after() arguments const.</span> <a name="l00015"></a>00015 <span class="comment">* 05/20/97 aliu Replaced fAreFieldsSet with fAreFieldsInSync and</span> <a name="l00016"></a>00016 <span class="comment">* fAreAllFieldsSet.</span> <a name="l00017"></a>00017 <span class="comment">* 07/27/98 stephen Sync up with JDK 1.2</span> <a name="l00018"></a>00018 <span class="comment">* 11/15/99 weiv added YEAR_WOY and DOW_LOCAL</span> <a name="l00019"></a>00019 <span class="comment">* to EDateFields</span> <a name="l00020"></a>00020 <span class="comment">* 8/19/2002 srl Removed Javaisms</span> <a name="l00021"></a>00021 <span class="comment">* 11/07/2003 srl Update, clean up documentation.</span> <a name="l00022"></a>00022 <span class="comment">********************************************************************************</span> <a name="l00023"></a>00023 <span class="comment">*/</span> <a name="l00024"></a>00024 <a name="l00025"></a>00025 <span class="preprocessor">#ifndef CALENDAR_H</span> <a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define CALENDAR_H</span> <a name="l00027"></a>00027 <span class="preprocessor"></span> <a name="l00028"></a>00028 <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> <a name="l00029"></a>00029 <a name="l00034"></a>00034 <span class="preprocessor">#if !UCONFIG_NO_FORMATTING</span> <a name="l00035"></a>00035 <span class="preprocessor"></span> <a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="uobject_8h.html" title="C++ API: Common ICU base class UObject.">unicode/uobject.h</a>"</span> <a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="locid_8h.html" title="C++ API: Locale ID object.">unicode/locid.h</a>"</span> <a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="timezone_8h.html" title="C++ API: TimeZone object.">unicode/timezone.h</a>"</span> <a name="l00039"></a>00039 <span class="preprocessor">#include "<a class="code" href="ucal_8h.html" title="C API: Calendar.">unicode/ucal.h</a>"</span> <a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="umisc_8h.html" title="C API:misc definitions.">unicode/umisc.h</a>"</span> <a name="l00041"></a>00041 <a name="l00042"></a>00042 <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> <a name="l00043"></a>00043 <a name="l00044"></a><a class="code" href="calendar_8h.html#ab9f6041161064a1936388e94e9788fe2">00044</a> <span class="keyword">class </span>ICUServiceFactory; <a name="l00045"></a>00045 <a name="l00049"></a>00049 <span class="keyword">typedef</span> int32_t <a class="code" href="calendar_8h.html#ab9f6041161064a1936388e94e9788fe2">UFieldResolutionTable</a>[12][8]; <a name="l00050"></a>00050 <a name="l00165"></a><a class="code" href="classCalendar.html">00165</a> <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...">U_I18N_API</a> <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set...">Calendar</a> : <span class="keyword">public</span> <a class="code" href="classUObject.html" title="UObject is the common ICU &quot;boilerplate&quot; class.">UObject</a> { <a name="l00166"></a>00166 <span class="keyword">public</span>: <a name="l00167"></a>00167 <a name="l00174"></a><a class="code" href="classCalendar.html#a9aa66a9e8030312d5314e306c713913e">00174</a> <span class="keyword">enum</span> <a class="code" href="classCalendar.html#a9aa66a9e8030312d5314e306c713913e" title="Field IDs for date and time.">EDateFields</a> { <a name="l00175"></a>00175 <span class="preprocessor">#ifndef U_HIDE_DEPRECATED_API</span> <a name="l00176"></a>00176 <span class="preprocessor"></span><span class="comment">/*</span> <a name="l00177"></a>00177 <span class="comment"> * ERA may be defined on other platforms. To avoid any potential problems undefined it here.</span> <a name="l00178"></a>00178 <span class="comment"> */</span> <a name="l00179"></a>00179 <span class="preprocessor">#ifdef ERA</span> <a name="l00180"></a>00180 <span class="preprocessor"></span><span class="preprocessor">#undef ERA</span> <a name="l00181"></a>00181 <span class="preprocessor"></span><span class="preprocessor">#endif</span> <a name="l00182"></a>00182 <span class="preprocessor"></span> ERA, <span class="comment">// Example: 0..1</span> <a name="l00183"></a>00183 YEAR, <span class="comment">// Example: 1..big number</span> <a name="l00184"></a>00184 MONTH, <span class="comment">// Example: 0..11</span> <a name="l00185"></a>00185 WEEK_OF_YEAR, <span class="comment">// Example: 1..53</span> <a name="l00186"></a>00186 WEEK_OF_MONTH, <span class="comment">// Example: 1..4</span> <a name="l00187"></a>00187 DATE, <span class="comment">// Example: 1..31</span> <a name="l00188"></a>00188 DAY_OF_YEAR, <span class="comment">// Example: 1..365</span> <a name="l00189"></a>00189 DAY_OF_WEEK, <span class="comment">// Example: 1..7</span> <a name="l00190"></a>00190 DAY_OF_WEEK_IN_MONTH, <span class="comment">// Example: 1..4, may be specified as -1</span> <a name="l00191"></a>00191 AM_PM, <span class="comment">// Example: 0..1</span> <a name="l00192"></a>00192 HOUR, <span class="comment">// Example: 0..11</span> <a name="l00193"></a>00193 HOUR_OF_DAY, <span class="comment">// Example: 0..23</span> <a name="l00194"></a>00194 MINUTE, <span class="comment">// Example: 0..59</span> <a name="l00195"></a>00195 SECOND, <span class="comment">// Example: 0..59</span> <a name="l00196"></a>00196 MILLISECOND, <span class="comment">// Example: 0..999</span> <a name="l00197"></a>00197 ZONE_OFFSET, <span class="comment">// Example: -12*U_MILLIS_PER_HOUR..12*U_MILLIS_PER_HOUR</span> <a name="l00198"></a>00198 DST_OFFSET, <span class="comment">// Example: 0 or U_MILLIS_PER_HOUR</span> <a name="l00199"></a>00199 YEAR_WOY, <span class="comment">// 'Y' Example: 1..big number - Year of Week of Year</span> <a name="l00200"></a>00200 DOW_LOCAL, <span class="comment">// 'e' Example: 1..7 - Day of Week / Localized</span> <a name="l00201"></a>00201 <a name="l00202"></a>00202 EXTENDED_YEAR, <a name="l00203"></a>00203 JULIAN_DAY, <a name="l00204"></a>00204 MILLISECONDS_IN_DAY, <a name="l00205"></a>00205 IS_LEAP_MONTH, <a name="l00206"></a>00206 <a name="l00207"></a>00207 FIELD_COUNT = <a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912adbfdd6e6b1bc1be830c7f1ba29f2c68c" title="Field count.">UCAL_FIELD_COUNT</a> <span class="comment">// See ucal.h for other fields.</span> <a name="l00208"></a>00208 <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_DEPRECATED_API */</span> <a name="l00209"></a>00209 }; <a name="l00210"></a>00210 <a name="l00217"></a><a class="code" href="classCalendar.html#a28d5c395b3200c812950321637796aa4">00217</a> <span class="keyword">enum</span> <a class="code" href="classCalendar.html#a28d5c395b3200c812950321637796aa4" title="Useful constant for days of week.">EDaysOfWeek</a> { <a name="l00218"></a>00218 <span class="preprocessor">#ifndef U_HIDE_DEPRECATED_API</span> <a name="l00219"></a>00219 <span class="preprocessor"></span> SUNDAY = 1, <a name="l00220"></a>00220 MONDAY, <a name="l00221"></a>00221 TUESDAY, <a name="l00222"></a>00222 WEDNESDAY, <a name="l00223"></a>00223 THURSDAY, <a name="l00224"></a>00224 FRIDAY, <a name="l00225"></a>00225 SATURDAY <a name="l00226"></a>00226 <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_DEPRECATED_API */</span> <a name="l00227"></a>00227 }; <a name="l00228"></a>00228 <a name="l00233"></a><a class="code" href="classCalendar.html#a26f00f1507a3dd73ba4553b6e04d8313">00233</a> <span class="keyword">enum</span> <a class="code" href="classCalendar.html#a26f00f1507a3dd73ba4553b6e04d8313" title="Useful constants for month.">EMonths</a> { <a name="l00234"></a>00234 <span class="preprocessor">#ifndef U_HIDE_DEPRECATED_API</span> <a name="l00235"></a>00235 <span class="preprocessor"></span> JANUARY, <a name="l00236"></a>00236 FEBRUARY, <a name="l00237"></a>00237 MARCH, <a name="l00238"></a>00238 APRIL, <a name="l00239"></a>00239 MAY, <a name="l00240"></a>00240 JUNE, <a name="l00241"></a>00241 JULY, <a name="l00242"></a>00242 AUGUST, <a name="l00243"></a>00243 SEPTEMBER, <a name="l00244"></a>00244 OCTOBER, <a name="l00245"></a>00245 NOVEMBER, <a name="l00246"></a>00246 DECEMBER, <a name="l00247"></a>00247 UNDECIMBER <a name="l00248"></a>00248 <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_DEPRECATED_API */</span> <a name="l00249"></a>00249 }; <a name="l00250"></a>00250 <a name="l00255"></a><a class="code" href="classCalendar.html#ab68462e2ea07c44eaa88265c8c80ed28">00255</a> <span class="keyword">enum</span> <a class="code" href="classCalendar.html#ab68462e2ea07c44eaa88265c8c80ed28" title="Useful constants for hour in 12-hour clock.">EAmpm</a> { <a name="l00256"></a>00256 <span class="preprocessor">#ifndef U_HIDE_DEPRECATED_API</span> <a name="l00257"></a>00257 <span class="preprocessor"></span> AM, <a name="l00258"></a>00258 PM <a name="l00259"></a>00259 <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_DEPRECATED_API */</span> <a name="l00260"></a>00260 }; <a name="l00261"></a>00261 <a name="l00266"></a>00266 <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...">Calendar</a>(); <a name="l00267"></a>00267 <a name="l00274"></a>00274 <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...">Calendar</a>* clone(<span class="keywordtype">void</span>) <span class="keyword">const</span> = 0; <a name="l00275"></a>00275 <a name="l00287"></a>00287 <span class="keyword">static</span> <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set...">Calendar</a>* <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> createInstance(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& success); <a name="l00288"></a>00288 <a name="l00301"></a>00301 <span class="keyword">static</span> <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set...">Calendar</a>* <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> createInstance(<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...">UErrorCode</a>& success); <a name="l00302"></a>00302 <a name="l00314"></a>00314 <span class="keyword">static</span> <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set...">Calendar</a>* <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> createInstance(<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...">UErrorCode</a>& success); <a name="l00315"></a>00315 <a name="l00326"></a>00326 <span class="keyword">static</span> <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set...">Calendar</a>* <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> createInstance(<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...">UErrorCode</a>& success); <a name="l00327"></a>00327 <a name="l00341"></a>00341 <span class="keyword">static</span> <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set...">Calendar</a>* <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> createInstance(<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...">UErrorCode</a>& success); <a name="l00342"></a>00342 <a name="l00355"></a>00355 <span class="keyword">static</span> <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set...">Calendar</a>* <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> createInstance(<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>& 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...">UErrorCode</a>& success); <a name="l00356"></a>00356 <a name="l00366"></a>00366 <span class="keyword">static</span> <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>* <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> getAvailableLocales(int32_t& count); <a name="l00367"></a>00367 <a name="l00368"></a>00368 <a name="l00385"></a>00385 <span class="keyword">static</span> <a class="code" href="classStringEnumeration.html" title="Base class for &#39;pure&#39; C++ implementations of uenum api.">StringEnumeration</a>* <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> getKeywordValuesForLocale(<span class="keyword">const</span> <span class="keywordtype">char</span>* key, <a name="l00386"></a>00386 <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>& locale, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> commonlyUsed, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status); <a name="l00387"></a>00387 <a name="l00395"></a>00395 <span class="keyword">static</span> <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> getNow(<span class="keywordtype">void</span>); <a name="l00396"></a>00396 <a name="l00410"></a><a class="code" href="classCalendar.html#a84d108d140a43b019c3ab3d022d7c68b">00410</a> <span class="keyword">inline</span> <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> <a class="code" href="classCalendar.html#a84d108d140a43b019c3ab3d022d7c68b" title="Gets this Calendar&#39;s time as milliseconds.">getTime</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> getTimeInMillis(status); } <a name="l00411"></a>00411 <a name="l00422"></a><a class="code" href="classCalendar.html#a4b918629b9bfd29e888f5ab933bd0b9b">00422</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classCalendar.html#a4b918629b9bfd29e888f5ab933bd0b9b" title="Sets this Calendar&#39;s current time with the given UDate.">setTime</a>(<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...">UErrorCode</a>& status) { setTimeInMillis(date, status); } <a name="l00423"></a>00423 <a name="l00435"></a>00435 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="stringpiece_8h.html#a7652049cbac0bfeae2cd2aa4514a3352" title="Global operator == for StringPiece.">operator==</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...">Calendar</a>& that) <span class="keyword">const</span>; <a name="l00436"></a>00436 <a name="l00445"></a><a class="code" href="classCalendar.html#ab35bae6d03802181b0b529955126c6f0">00445</a> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classCalendar.html#ab35bae6d03802181b0b529955126c6f0" title="Compares the inequality of two Calendar objects.">operator!=</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...">Calendar</a>& that)<span class="keyword"> const </span>{<span class="keywordflow">return</span> !<a class="code" href="stringpiece_8h.html#a7652049cbac0bfeae2cd2aa4514a3352" title="Global operator == for StringPiece.">operator==</a>(that);} <a name="l00446"></a>00446 <a name="l00457"></a>00457 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isEquivalentTo(<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...">Calendar</a>& other) <span class="keyword">const</span>; <a name="l00458"></a>00458 <a name="l00473"></a>00473 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> equals(<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...">Calendar</a>& when, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status) <span class="keyword">const</span>; <a name="l00474"></a>00474 <a name="l00488"></a>00488 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> before(<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...">Calendar</a>& when, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status) <span class="keyword">const</span>; <a name="l00489"></a>00489 <a name="l00503"></a>00503 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> after(<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...">Calendar</a>& when, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status) <span class="keyword">const</span>; <a name="l00504"></a>00504 <a name="l00522"></a>00522 <span class="keyword">virtual</span> <span class="keywordtype">void</span> add(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...">UErrorCode</a>& status); <a name="l00523"></a>00523 <a name="l00541"></a>00541 <span class="keyword">virtual</span> <span class="keywordtype">void</span> add(<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...">UErrorCode</a>& status); <a name="l00542"></a>00542 <a name="l00566"></a>00566 <span class="keyword">inline</span> <span class="keywordtype">void</span> roll(EDateFields field, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> up, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status); <a name="l00567"></a>00567 <a name="l00591"></a>00591 <span class="keyword">inline</span> <span class="keywordtype">void</span> roll(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> up, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status); <a name="l00592"></a>00592 <a name="l00615"></a>00615 <span class="keyword">virtual</span> <span class="keywordtype">void</span> roll(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...">UErrorCode</a>& status); <a name="l00616"></a>00616 <a name="l00639"></a>00639 <span class="keyword">virtual</span> <span class="keywordtype">void</span> roll(<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...">UErrorCode</a>& status); <a name="l00640"></a>00640 <a name="l00696"></a>00696 <span class="keyword">virtual</span> int32_t fieldDifference(<a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> when, 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...">UErrorCode</a>& status); <a name="l00697"></a>00697 <a name="l00753"></a>00753 <span class="keyword">virtual</span> int32_t fieldDifference(<a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> when, <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...">UErrorCode</a>& status); <a name="l00754"></a>00754 <a name="l00763"></a>00763 <span class="keywordtype">void</span> adoptTimeZone(<a class="code" href="classTimeZone.html" title="TimeZone represents a time zone offset, and also figures out daylight savings.">TimeZone</a>* value); <a name="l00764"></a>00764 <a name="l00772"></a>00772 <span class="keywordtype">void</span> setTimeZone(<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 name="l00773"></a>00773 <a name="l00782"></a>00782 <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>& getTimeZone(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00783"></a>00783 <a name="l00792"></a>00792 <a class="code" href="classTimeZone.html" title="TimeZone represents a time zone offset, and also figures out daylight savings.">TimeZone</a>* orphanTimeZone(<span class="keywordtype">void</span>); <a name="l00793"></a>00793 <a name="l00802"></a>00802 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> inDaylightTime(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status) <span class="keyword">const</span> = 0; <a name="l00803"></a>00803 <a name="l00816"></a>00816 <span class="keywordtype">void</span> setLenient(<a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> lenient); <a name="l00817"></a>00817 <a name="l00824"></a>00824 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isLenient(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00825"></a>00825 <a name="l00832"></a>00832 <span class="keywordtype">void</span> setFirstDayOfWeek(EDaysOfWeek value); <a name="l00833"></a>00833 <a name="l00840"></a>00840 <span class="keywordtype">void</span> setFirstDayOfWeek(<a class="code" href="ucal_8h.html#a62d9fe551bd48e4141fce52b917119a4" title="Useful constant for days of week.">UCalendarDaysOfWeek</a> value); <a name="l00841"></a>00841 <a name="l00848"></a>00848 EDaysOfWeek getFirstDayOfWeek(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00849"></a>00849 <a name="l00857"></a>00857 <a class="code" href="ucal_8h.html#a62d9fe551bd48e4141fce52b917119a4" title="Useful constant for days of week.">UCalendarDaysOfWeek</a> getFirstDayOfWeek(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &status) <span class="keyword">const</span>; <a name="l00858"></a>00858 <a name="l00868"></a>00868 <span class="keywordtype">void</span> setMinimalDaysInFirstWeek(uint8_t value); <a name="l00869"></a>00869 <a name="l00879"></a>00879 uint8_t getMinimalDaysInFirstWeek(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00880"></a>00880 <a name="l00889"></a>00889 <span class="keyword">virtual</span> int32_t getMinimum(EDateFields field) <span class="keyword">const</span>; <a name="l00890"></a>00890 <a name="l00899"></a>00899 <span class="keyword">virtual</span> int32_t getMinimum(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field) <span class="keyword">const</span>; <a name="l00900"></a>00900 <a name="l00909"></a>00909 <span class="keyword">virtual</span> int32_t getMaximum(EDateFields field) <span class="keyword">const</span>; <a name="l00910"></a>00910 <a name="l00919"></a>00919 <span class="keyword">virtual</span> int32_t getMaximum(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field) <span class="keyword">const</span>; <a name="l00920"></a>00920 <a name="l00929"></a>00929 <span class="keyword">virtual</span> int32_t getGreatestMinimum(EDateFields field) <span class="keyword">const</span>; <a name="l00930"></a>00930 <a name="l00939"></a>00939 <span class="keyword">virtual</span> int32_t getGreatestMinimum(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field) <span class="keyword">const</span>; <a name="l00940"></a>00940 <a name="l00949"></a>00949 <span class="keyword">virtual</span> int32_t getLeastMaximum(EDateFields field) <span class="keyword">const</span>; <a name="l00950"></a>00950 <a name="l00959"></a>00959 <span class="keyword">virtual</span> int32_t getLeastMaximum(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field) <span class="keyword">const</span>; <a name="l00960"></a>00960 <a name="l00975"></a>00975 int32_t getActualMinimum(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...">UErrorCode</a>& status) <span class="keyword">const</span>; <a name="l00976"></a>00976 <a name="l00991"></a>00991 <span class="keyword">virtual</span> int32_t getActualMinimum(<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...">UErrorCode</a>& status) <span class="keyword">const</span>; <a name="l00992"></a>00992 <a name="l01009"></a>01009 int32_t getActualMaximum(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...">UErrorCode</a>& status) <span class="keyword">const</span>; <a name="l01010"></a>01010 <a name="l01027"></a>01027 <span class="keyword">virtual</span> int32_t getActualMaximum(<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...">UErrorCode</a>& status) <span class="keyword">const</span>; <a name="l01028"></a>01028 <a name="l01042"></a>01042 int32_t <span class="keyword">get</span>(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...">UErrorCode</a>& status) <span class="keyword">const</span>; <a name="l01043"></a>01043 <a name="l01057"></a>01057 int32_t <span class="keyword">get</span>(<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...">UErrorCode</a>& status) <span class="keyword">const</span>; <a name="l01058"></a>01058 <a name="l01067"></a>01067 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isSet(EDateFields field) <span class="keyword">const</span>; <a name="l01068"></a>01068 <a name="l01077"></a>01077 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isSet(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field) <span class="keyword">const</span>; <a name="l01078"></a>01078 <a name="l01086"></a>01086 <span class="keywordtype">void</span> <span class="keyword">set</span>(EDateFields field, int32_t value); <a name="l01087"></a>01087 <a name="l01095"></a>01095 <span class="keywordtype">void</span> <span class="keyword">set</span>(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, int32_t value); <a name="l01096"></a>01096 <a name="l01107"></a>01107 <span class="keywordtype">void</span> <span class="keyword">set</span>(int32_t year, int32_t month, int32_t date); <a name="l01108"></a>01108 <a name="l01121"></a>01121 <span class="keywordtype">void</span> <span class="keyword">set</span>(int32_t year, int32_t month, int32_t date, int32_t hour, int32_t minute); <a name="l01122"></a>01122 <a name="l01136"></a>01136 <span class="keywordtype">void</span> <span class="keyword">set</span>(int32_t year, int32_t month, int32_t date, int32_t hour, int32_t minute, int32_t second); <a name="l01137"></a>01137 <a name="l01144"></a>01144 <span class="keywordtype">void</span> clear(<span class="keywordtype">void</span>); <a name="l01145"></a>01145 <a name="l01154"></a>01154 <span class="keywordtype">void</span> clear(EDateFields field); <a name="l01155"></a>01155 <a name="l01164"></a>01164 <span class="keywordtype">void</span> clear(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field); <a name="l01165"></a>01165 <a name="l01181"></a>01181 <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...">UClassID</a> <a class="code" href="classUObject.html#a9b1acc95efd89cb86ec31f2dc947a262" title="ICU4C &quot;poor man&#39;s RTTI&quot;, returns a UClassID for the actual ICU class...">getDynamicClassID</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span> = 0; <a name="l01182"></a>01182 <a name="l01191"></a>01191 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * getType() <span class="keyword">const</span> = 0; <a name="l01192"></a>01192 <a name="l01208"></a>01208 <span class="keyword">virtual</span> <a class="code" href="ucal_8h.html#a5d1f042c84dc291891c208d4c7dcd933" title="Weekday types, as returned by ucal_getDayOfWeekType().">UCalendarWeekdayType</a> getDayOfWeekType(<a class="code" href="ucal_8h.html#a62d9fe551bd48e4141fce52b917119a4" title="Useful constant for days of week.">UCalendarDaysOfWeek</a> dayOfWeek, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &status) <span class="keyword">const</span>; <a name="l01209"></a>01209 <a name="l01224"></a>01224 <span class="keyword">virtual</span> int32_t getWeekendTransition(<a class="code" href="ucal_8h.html#a62d9fe551bd48e4141fce52b917119a4" title="Useful constant for days of week.">UCalendarDaysOfWeek</a> dayOfWeek, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &status) <span class="keyword">const</span>; <a name="l01225"></a>01225 <a name="l01235"></a>01235 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isWeekend(<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...">UErrorCode</a> &status) <span class="keyword">const</span>; <a name="l01236"></a>01236 <a name="l01244"></a>01244 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isWeekend(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l01245"></a>01245 <a name="l01246"></a>01246 <span class="keyword">protected</span>: <a name="l01247"></a>01247 <a name="l01256"></a>01256 <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set...">Calendar</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& success); <a name="l01257"></a>01257 <a name="l01264"></a>01264 <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set...">Calendar</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...">Calendar</a>& source); <a name="l01265"></a>01265 <a name="l01272"></a>01272 <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set...">Calendar</a>& operator=(<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...">Calendar</a>& right); <a name="l01273"></a>01273 <a name="l01284"></a>01284 <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set...">Calendar</a>(<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...">UErrorCode</a>& success); <a name="l01285"></a>01285 <a name="l01295"></a>01295 <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set...">Calendar</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...">UErrorCode</a>& success); <a name="l01296"></a>01296 <a name="l01305"></a>01305 <span class="keyword">virtual</span> <span class="keywordtype">void</span> computeTime(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status); <a name="l01306"></a>01306 <a name="l01318"></a>01318 <span class="keyword">virtual</span> <span class="keywordtype">void</span> computeFields(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status); <a name="l01319"></a>01319 <a name="l01329"></a>01329 <span class="keywordtype">double</span> getTimeInMillis(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status) <span class="keyword">const</span>; <a name="l01330"></a>01330 <a name="l01339"></a>01339 <span class="keywordtype">void</span> setTimeInMillis( <span class="keywordtype">double</span> millis, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status ); <a name="l01340"></a>01340 <a name="l01350"></a>01350 <span class="keywordtype">void</span> complete(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status); <a name="l01351"></a>01351 <a name="l01360"></a><a class="code" href="classCalendar.html#afcc83cb53a32ea4898280dfaa1a1d881">01360</a> <span class="keyword">inline</span> int32_t <a class="code" href="classCalendar.html#afcc83cb53a32ea4898280dfaa1a1d881" title="Gets the value for a given time field.">internalGet</a>(<a class="code" href="classCalendar.html#a9aa66a9e8030312d5314e306c713913e" title="Field IDs for date and time.">EDateFields</a> field)<span class="keyword"> const </span>{<span class="keywordflow">return</span> fFields[field];} <a name="l01361"></a>01361 <a name="l01372"></a><a class="code" href="classCalendar.html#ada18cdb870dd8e8e8507018c93a42ec0">01372</a> <span class="keyword">inline</span> int32_t <a class="code" href="classCalendar.html#ada18cdb870dd8e8e8507018c93a42ec0" title="Gets the value for a given time field.">internalGet</a>(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, int32_t defaultValue)<span class="keyword"> const </span>{<span class="keywordflow">return</span> fStamp[field]>kUnset ? fFields[field] : defaultValue;} <a name="l01373"></a>01373 <a name="l01382"></a><a class="code" href="classCalendar.html#abe0e23ba4107c023faf3fd6f70a1e78c">01382</a> <span class="keyword">inline</span> int32_t <a class="code" href="classCalendar.html#abe0e23ba4107c023faf3fd6f70a1e78c" title="Gets the value for a given time field.">internalGet</a>(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field)<span class="keyword"> const </span>{<span class="keywordflow">return</span> fFields[field];} <a name="l01383"></a>01383 <a name="l01393"></a>01393 <span class="keywordtype">void</span> internalSet(EDateFields field, int32_t value); <a name="l01394"></a>01394 <a name="l01404"></a>01404 <span class="keyword">inline</span> <span class="keywordtype">void</span> internalSet(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, int32_t value); <a name="l01405"></a>01405 <a name="l01412"></a>01412 <span class="keyword">virtual</span> <span class="keywordtype">void</span> prepareGetActual(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isMinimum, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &status); <a name="l01413"></a>01413 <a name="l01418"></a><a class="code" href="classCalendar.html#aed3b40eef888db3a26315f3a0c37b076">01418</a> <span class="keyword">enum</span> <a class="code" href="classCalendar.html#aed3b40eef888db3a26315f3a0c37b076" title="Limit enums.">ELimitType</a> { <a name="l01419"></a>01419 UCAL_LIMIT_MINIMUM = 0, <a name="l01420"></a>01420 UCAL_LIMIT_GREATEST_MINIMUM, <a name="l01421"></a>01421 UCAL_LIMIT_LEAST_MAXIMUM, <a name="l01422"></a>01422 UCAL_LIMIT_MAXIMUM, <a name="l01423"></a>01423 UCAL_LIMIT_COUNT <a name="l01424"></a>01424 }; <a name="l01425"></a>01425 <a name="l01447"></a>01447 <span class="keyword">virtual</span> int32_t handleGetLimit(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, ELimitType limitType) <span class="keyword">const</span> = 0; <a name="l01448"></a>01448 <a name="l01456"></a>01456 <span class="keyword">virtual</span> int32_t getLimit(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, ELimitType limitType) <span class="keyword">const</span>; <a name="l01457"></a>01457 <a name="l01458"></a>01458 <a name="l01472"></a>01472 <span class="keyword">virtual</span> int32_t handleComputeMonthStart(int32_t eyear, int32_t month, <a name="l01473"></a>01473 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> useMonth) <span class="keyword">const</span> = 0; <a name="l01474"></a>01474 <a name="l01482"></a>01482 <span class="keyword">virtual</span> int32_t handleGetMonthLength(int32_t extendedYear, int32_t month) <span class="keyword">const</span> ; <a name="l01483"></a>01483 <a name="l01491"></a>01491 <span class="keyword">virtual</span> int32_t handleGetYearLength(int32_t eyear) <span class="keyword">const</span>; <a name="l01492"></a>01492 <a name="l01493"></a>01493 <a name="l01502"></a>01502 <span class="keyword">virtual</span> int32_t handleGetExtendedYear() = 0; <a name="l01503"></a>01503 <a name="l01512"></a>01512 <span class="keyword">virtual</span> int32_t handleComputeJulianDay(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> bestField); <a name="l01513"></a>01513 <a name="l01522"></a>01522 <span class="keyword">virtual</span> int32_t handleGetExtendedYearFromWeekFields(int32_t yearWoy, int32_t woy); <a name="l01523"></a>01523 <a name="l01530"></a>01530 int32_t computeJulianDay(); <a name="l01531"></a>01531 <a name="l01539"></a>01539 int32_t computeMillisInDay(); <a name="l01540"></a>01540 <a name="l01550"></a>01550 int32_t computeZoneOffset(<span class="keywordtype">double</span> millis, int32_t millisInDay, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &ec); <a name="l01551"></a>01551 <a name="l01552"></a>01552 <a name="l01561"></a>01561 int32_t newestStamp(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> start, <a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> end, int32_t bestSoFar) <span class="keyword">const</span>; <a name="l01562"></a>01562 <a name="l01568"></a>01568 <span class="keyword">enum</span> { <a name="l01570"></a><a class="code" href="classCalendar.html#a5b8bac9c3abcdaceced9b50535e3eaaea629ecd3850c09395432c5d86b6339951">01570</a> kResolveSTOP = -1, <a name="l01572"></a><a class="code" href="classCalendar.html#a5b8bac9c3abcdaceced9b50535e3eaaeaf9aab2d453c5af0e81408c797ea39395">01572</a> kResolveRemap = 32 <a name="l01573"></a>01573 }; <a name="l01574"></a>01574 <a name="l01580"></a><a class="code" href="classCalendar.html#a443112ee30874283a616c536293892c4">01580</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="calendar_8h.html#ab9f6041161064a1936388e94e9788fe2">UFieldResolutionTable</a> kDatePrecedence[]; <a name="l01581"></a>01581 <a name="l01587"></a><a class="code" href="classCalendar.html#ae116e0cc5a2c5af58f736fd2199ebcd0">01587</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="calendar_8h.html#ab9f6041161064a1936388e94e9788fe2">UFieldResolutionTable</a> kYearPrecedence[]; <a name="l01588"></a>01588 <a name="l01594"></a><a class="code" href="classCalendar.html#a253f88ce055abc651d4784634bb65635">01594</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="calendar_8h.html#ab9f6041161064a1936388e94e9788fe2">UFieldResolutionTable</a> kDOWPrecedence[]; <a name="l01595"></a>01595 <a name="l01623"></a>01623 <a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> resolveFields(<span class="keyword">const</span> <a class="code" href="calendar_8h.html#ab9f6041161064a1936388e94e9788fe2">UFieldResolutionTable</a> *precedenceTable); <a name="l01624"></a>01624 <a name="l01625"></a>01625 <a name="l01629"></a>01629 <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="calendar_8h.html#ab9f6041161064a1936388e94e9788fe2">UFieldResolutionTable</a>* getFieldResolutionTable() <span class="keyword">const</span>; <a name="l01630"></a>01630 <a name="l01636"></a>01636 <a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> newerField(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> defaultField, <a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> alternateField) <span class="keyword">const</span>; <a name="l01637"></a>01637 <a name="l01638"></a>01638 <a name="l01639"></a>01639 <span class="keyword">private</span>: <a name="l01648"></a>01648 int32_t getActualHelper(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, int32_t startValue, int32_t endValue, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &status) <span class="keyword">const</span>; <a name="l01649"></a>01649 <a name="l01650"></a>01650 <a name="l01651"></a>01651 <span class="keyword">protected</span>: <a name="l01656"></a><a class="code" href="classCalendar.html#a6a3812124ab9abbd2a2f75b490a6b700">01656</a> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fIsTimeSet; <a name="l01657"></a>01657 <a name="l01668"></a><a class="code" href="classCalendar.html#af19aa6e54f1220ffaf74d29071a6a589">01668</a> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fAreFieldsSet; <a name="l01669"></a>01669 <a name="l01675"></a><a class="code" href="classCalendar.html#aa198993ac97bca6bf80c2beb6657ed03">01675</a> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fAreAllFieldsSet; <a name="l01676"></a>01676 <a name="l01684"></a><a class="code" href="classCalendar.html#a223fef486de9d84635c8c2c887dee2b0">01684</a> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fAreFieldsVirtuallySet; <a name="l01685"></a>01685 <a name="l01692"></a><a class="code" href="classCalendar.html#ad20fe42624b49a8a3fca48a06425c4f9">01692</a> <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> <a class="code" href="classCalendar.html#ad20fe42624b49a8a3fca48a06425c4f9" title="Get the current time without recomputing.">internalGetTime</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> fTime; } <a name="l01693"></a>01693 <a name="l01701"></a><a class="code" href="classCalendar.html#a5066148dcb8ef8c6452b77a0d468344c">01701</a> <span class="keywordtype">void</span> <a class="code" href="classCalendar.html#a5066148dcb8ef8c6452b77a0d468344c" title="Set the current time without affecting flags or fields.">internalSetTime</a>(<a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> time) { fTime = time; } <a name="l01702"></a>01702 <a name="l01707"></a><a class="code" href="classCalendar.html#a4aeb857bb89a74dbe261896e6b6f6681">01707</a> int32_t fFields[<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912adbfdd6e6b1bc1be830c7f1ba29f2c68c" title="Field count.">UCAL_FIELD_COUNT</a>]; <a name="l01708"></a>01708 <a name="l01713"></a><a class="code" href="classCalendar.html#a557209952758b6c128ddbc26955eb9dc">01713</a> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fIsSet[<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912adbfdd6e6b1bc1be830c7f1ba29f2c68c" title="Field count.">UCAL_FIELD_COUNT</a>]; <a name="l01714"></a>01714 <a name="l01718"></a>01718 <span class="keyword">enum</span> { <a name="l01719"></a>01719 kUnset = 0, <a name="l01720"></a>01720 kInternallySet, <a name="l01721"></a>01721 kMinimumUserStamp <a name="l01722"></a>01722 }; <a name="l01723"></a>01723 <a name="l01730"></a><a class="code" href="classCalendar.html#ae1ab437231e76896ce2b7ccdbc106b0b">01730</a> int32_t fStamp[<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912adbfdd6e6b1bc1be830c7f1ba29f2c68c" title="Field count.">UCAL_FIELD_COUNT</a>]; <a name="l01731"></a>01731 <a name="l01756"></a>01756 <span class="keyword">virtual</span> <span class="keywordtype">void</span> handleComputeFields(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...">UErrorCode</a> &status); <a name="l01757"></a>01757 <a name="l01763"></a><a class="code" href="classCalendar.html#a5393a0561dd038edff6eddb3be6c999d">01763</a> int32_t <a class="code" href="classCalendar.html#a5393a0561dd038edff6eddb3be6c999d" title="Return the extended year on the Gregorian calendar as computed by computeGregorianFields()...">getGregorianYear</a>()<span class="keyword"> const </span>{ <a name="l01764"></a>01764 <span class="keywordflow">return</span> fGregorianYear; <a name="l01765"></a>01765 } <a name="l01766"></a>01766 <a name="l01772"></a><a class="code" href="classCalendar.html#adf8c69e617291bb10a56d683fa8282e0">01772</a> int32_t <a class="code" href="classCalendar.html#adf8c69e617291bb10a56d683fa8282e0" title="Return the month (0-based) on the Gregorian calendar as computed by computeGregorianFields()...">getGregorianMonth</a>()<span class="keyword"> const </span>{ <a name="l01773"></a>01773 <span class="keywordflow">return</span> fGregorianMonth; <a name="l01774"></a>01774 } <a name="l01775"></a>01775 <a name="l01781"></a><a class="code" href="classCalendar.html#ab4a3b8fb109ffa673e0333a1006a7c70">01781</a> int32_t <a class="code" href="classCalendar.html#ab4a3b8fb109ffa673e0333a1006a7c70" title="Return the day of year (1-based) on the Gregorian calendar as computed by computeGregorianFields()...">getGregorianDayOfYear</a>()<span class="keyword"> const </span>{ <a name="l01782"></a>01782 <span class="keywordflow">return</span> fGregorianDayOfYear; <a name="l01783"></a>01783 } <a name="l01784"></a>01784 <a name="l01790"></a><a class="code" href="classCalendar.html#ab93138a7b1ce4a87216ae10165e9cbae">01790</a> int32_t <a class="code" href="classCalendar.html#ab93138a7b1ce4a87216ae10165e9cbae" title="Return the day of month (1-based) on the Gregorian calendar as computed by computeGregorianFields()...">getGregorianDayOfMonth</a>()<span class="keyword"> const </span>{ <a name="l01791"></a>01791 <span class="keywordflow">return</span> fGregorianDayOfMonth; <a name="l01792"></a>01792 } <a name="l01793"></a>01793 <a name="l01800"></a>01800 <span class="keyword">virtual</span> int32_t getDefaultMonthInYear(int32_t eyear) ; <a name="l01801"></a>01801 <a name="l01802"></a>01802 <a name="l01810"></a>01810 <span class="keyword">virtual</span> int32_t getDefaultDayInMonth(int32_t eyear, int32_t month); <a name="l01811"></a>01811 <a name="l01812"></a>01812 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l01813"></a>01813 <span class="comment">// Protected utility methods for use by subclasses. These are very handy</span> <a name="l01814"></a>01814 <span class="comment">// for implementing add, roll, and computeFields.</span> <a name="l01815"></a>01815 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l01816"></a>01816 <a name="l01846"></a>01846 <span class="keyword">virtual</span> <span class="keywordtype">void</span> pinField(<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...">UErrorCode</a>& status); <a name="l01847"></a>01847 <a name="l01891"></a>01891 int32_t weekNumber(int32_t desiredDay, int32_t dayOfPeriod, int32_t dayOfWeek); <a name="l01892"></a>01892 <a name="l01893"></a>01893 <a name="l01924"></a>01924 <span class="keyword">inline</span> int32_t weekNumber(int32_t dayOfPeriod, int32_t dayOfWeek); <a name="l01925"></a>01925 <a name="l01930"></a>01930 int32_t getLocalDOW(); <a name="l01931"></a>01931 <a name="l01932"></a>01932 <span class="keyword">private</span>: <a name="l01933"></a>01933 <a name="l01937"></a>01937 int32_t fNextStamp;<span class="comment">// = MINIMUM_USER_STAMP;</span> <a name="l01938"></a>01938 <a name="l01942"></a>01942 <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> fTime; <a name="l01943"></a>01943 <a name="l01947"></a>01947 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fLenient; <a name="l01948"></a>01948 <a name="l01953"></a>01953 <a class="code" href="classTimeZone.html" title="TimeZone represents a time zone offset, and also figures out daylight savings.">TimeZone</a>* fZone; <a name="l01954"></a>01954 <a name="l01963"></a>01963 <a class="code" href="ucal_8h.html#a62d9fe551bd48e4141fce52b917119a4" title="Useful constant for days of week.">UCalendarDaysOfWeek</a> fFirstDayOfWeek; <a name="l01964"></a>01964 uint8_t fMinimalDaysInFirstWeek; <a name="l01965"></a>01965 <a class="code" href="ucal_8h.html#a62d9fe551bd48e4141fce52b917119a4" title="Useful constant for days of week.">UCalendarDaysOfWeek</a> fWeekendOnset; <a name="l01966"></a>01966 int32_t fWeekendOnsetMillis; <a name="l01967"></a>01967 <a class="code" href="ucal_8h.html#a62d9fe551bd48e4141fce52b917119a4" title="Useful constant for days of week.">UCalendarDaysOfWeek</a> fWeekendCease; <a name="l01968"></a>01968 int32_t fWeekendCeaseMillis; <a name="l01969"></a>01969 <a name="l01980"></a>01980 <span class="keywordtype">void</span> setWeekData(<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>& desiredLocale, <span class="keyword">const</span> <span class="keywordtype">char</span> *type, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& success); <a name="l01981"></a>01981 <a name="l01991"></a>01991 <span class="keywordtype">void</span> updateTime(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status); <a name="l01992"></a>01992 <a name="l01998"></a>01998 int32_t fGregorianYear; <a name="l01999"></a>01999 <a name="l02005"></a>02005 int32_t fGregorianMonth; <a name="l02006"></a>02006 <a name="l02012"></a>02012 int32_t fGregorianDayOfYear; <a name="l02013"></a>02013 <a name="l02019"></a>02019 int32_t fGregorianDayOfMonth; <a name="l02020"></a>02020 <a name="l02021"></a>02021 <span class="comment">/* calculations */</span> <a name="l02022"></a>02022 <a name="l02029"></a>02029 <span class="keywordtype">void</span> computeGregorianAndDOWFields(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...">UErrorCode</a> &ec); <a name="l02030"></a>02030 <a name="l02031"></a>02031 <span class="keyword">protected</span>: <a name="l02032"></a>02032 <a name="l02040"></a>02040 <span class="keywordtype">void</span> computeGregorianFields(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...">UErrorCode</a> &ec); <a name="l02041"></a>02041 <a name="l02042"></a>02042 <span class="keyword">private</span>: <a name="l02043"></a>02043 <a name="l02064"></a>02064 <span class="keywordtype">void</span> computeWeekFields(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &ec); <a name="l02065"></a>02065 <a name="l02066"></a>02066 <a name="l02075"></a>02075 <span class="keywordtype">void</span> validateFields(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &status); <a name="l02076"></a>02076 <a name="l02085"></a>02085 <span class="keyword">virtual</span> <span class="keywordtype">void</span> validateField(<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...">UErrorCode</a> &status); <a name="l02086"></a>02086 <a name="l02095"></a>02095 <span class="keywordtype">void</span> validateField(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, int32_t min, int32_t max, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status); <a name="l02096"></a>02096 <a name="l02097"></a>02097 <span class="keyword">protected</span>: <a name="l02107"></a>02107 <span class="keyword">static</span> uint8_t julianDayToDayOfWeek(<span class="keywordtype">double</span> julian); <a name="l02108"></a>02108 <a name="l02109"></a>02109 <span class="keyword">private</span>: <a name="l02110"></a>02110 <span class="keywordtype">char</span> validLocale[<a class="code" href="uloc_8h.html#ac070d94b27bb71f73bafd4c31ed53081" title="Useful constant for the maximum size of the whole locale ID (including the terminating...">ULOC_FULLNAME_CAPACITY</a>]; <a name="l02111"></a>02111 <span class="keywordtype">char</span> actualLocale[<a class="code" href="uloc_8h.html#ac070d94b27bb71f73bafd4c31ed53081" title="Useful constant for the maximum size of the whole locale ID (including the terminating...">ULOC_FULLNAME_CAPACITY</a>]; <a name="l02112"></a>02112 <a name="l02113"></a>02113 <span class="keyword">public</span>: <a name="l02114"></a>02114 <span class="preprocessor">#if !UCONFIG_NO_SERVICE</span> <a name="l02115"></a>02115 <span class="preprocessor"></span> <a name="l02125"></a>02125 <span class="keyword">static</span> <a class="code" href="classStringEnumeration.html" title="Base class for &#39;pure&#39; C++ implementations of uenum api.">StringEnumeration</a>* getAvailableLocales(<span class="keywordtype">void</span>); <a name="l02126"></a>02126 <a name="l02135"></a>02135 <span class="keyword">static</span> <a class="code" href="umisc_8h.html#ab5905d79ed3b979840cee1d5fd48b4fb" title="Opaque type returned by registerInstance, registerFactory and unregister for service...">URegistryKey</a> registerFactory(ICUServiceFactory* toAdopt, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status); <a name="l02136"></a>02136 <a name="l02147"></a>02147 <span class="keyword">static</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> unregister(<a class="code" href="umisc_8h.html#ab5905d79ed3b979840cee1d5fd48b4fb" title="Opaque type returned by registerInstance, registerFactory and unregister for service...">URegistryKey</a> key, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status); <a name="l02148"></a>02148 <a name="l02153"></a><a class="code" href="classCalendar.html#a7b8da58f16be9990955f60c930b4376d">02153</a> <span class="keyword">friend</span> <span class="keyword">class </span>CalendarFactory; <a name="l02154"></a>02154 <a name="l02159"></a><a class="code" href="classCalendar.html#aef82cfadea9ca1be538463884884c8aa">02159</a> <span class="keyword">friend</span> <span class="keyword">class </span>CalendarService; <a name="l02160"></a>02160 <a name="l02165"></a><a class="code" href="classCalendar.html#affad2f956e924717f3de7ccd94224551">02165</a> <span class="keyword">friend</span> <span class="keyword">class </span>DefaultCalendarFactory; <a name="l02166"></a>02166 <span class="preprocessor">#endif </span><span class="comment">/* !UCONFIG_NO_SERVICE */</span> <a name="l02167"></a>02167 <a name="l02172"></a>02172 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> haveDefaultCentury() <span class="keyword">const</span> = 0; <a name="l02173"></a>02173 <a name="l02178"></a>02178 <span class="keyword">virtual</span> <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039" title="Date and Time data type.">UDate</a> defaultCenturyStart() <span class="keyword">const</span> = 0; <a name="l02183"></a>02183 <span class="keyword">virtual</span> int32_t defaultCenturyStartYear() <span class="keyword">const</span> = 0; <a name="l02184"></a>02184 <a name="l02191"></a>02191 <a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region...">Locale</a> getLocale(<a class="code" href="uloc_8h.html#adf053345d343f8d82ae080f7a5871f34" title="Constants for *_getLocale() Allow user to select whether she wants information on...">ULocDataLocaleType</a> type, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &status) <span class="keyword">const</span>; <a name="l02192"></a>02192 <a name="l02199"></a>02199 <span class="keyword">const</span> <span class="keywordtype">char</span>* getLocaleID(<a class="code" href="uloc_8h.html#adf053345d343f8d82ae080f7a5871f34" title="Constants for *_getLocale() Allow user to select whether she wants information on...">ULocDataLocaleType</a> type, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &status) <span class="keyword">const</span>; <a name="l02200"></a>02200 <a name="l02201"></a>02201 }; <a name="l02202"></a>02202 <a name="l02203"></a>02203 <span class="comment">// -------------------------------------</span> <a name="l02204"></a>02204 <a name="l02205"></a>02205 <span class="keyword">inline</span> <a class="code" href="classCalendar.html" title="Calendar is an abstract base class for converting between a UDate object and a set...">Calendar</a>* <a name="l02206"></a><a class="code" href="classCalendar.html#ad1991655c5d12be8f321026c8b86e33a">02206</a> <a class="code" href="classCalendar.html#a1872a90e5aaae1cfe3e826248fa9b497" title="Creates a Calendar using the default timezone and locale.">Calendar::createInstance</a>(<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...">UErrorCode</a>& errorCode) <a name="l02207"></a>02207 { <a name="l02208"></a>02208 <span class="comment">// since the Locale isn't specified, use the default locale</span> <a name="l02209"></a>02209 <span class="keywordflow">return</span> <a class="code" href="classCalendar.html#a1872a90e5aaae1cfe3e826248fa9b497" title="Creates a Calendar using the default timezone and locale.">createInstance</a>(zone, <a class="code" href="classLocale.html#ac12d6326f2d283f5643f6b6caacfe88c" title="Common methods of getting the current default Locale.">Locale::getDefault</a>(), errorCode); <a name="l02210"></a>02210 } <a name="l02211"></a>02211 <a name="l02212"></a>02212 <span class="comment">// -------------------------------------</span> <a name="l02213"></a>02213 <a name="l02214"></a>02214 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a name="l02215"></a><a class="code" href="classCalendar.html#a1a95a3e423d17c1f415bc39b75cf77d2">02215</a> <a class="code" href="classCalendar.html#a98e5b80bb733a6e8dec95b8ac0225a68" title="Time Field Rolling function.">Calendar::roll</a>(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> up, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status) <a name="l02216"></a>02216 { <a name="l02217"></a>02217 <a class="code" href="classCalendar.html#a98e5b80bb733a6e8dec95b8ac0225a68" title="Time Field Rolling function.">roll</a>(field, (int32_t)(up ? +1 : -1), status); <a name="l02218"></a>02218 } <a name="l02219"></a>02219 <a name="l02220"></a>02220 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a name="l02221"></a><a class="code" href="classCalendar.html#a98e5b80bb733a6e8dec95b8ac0225a68">02221</a> <a class="code" href="classCalendar.html#a98e5b80bb733a6e8dec95b8ac0225a68" title="Time Field Rolling function.">Calendar::roll</a>(<a class="code" href="classCalendar.html#a9aa66a9e8030312d5314e306c713913e" title="Field IDs for date and time.">EDateFields</a> field, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> up, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>& status) <a name="l02222"></a>02222 { <a name="l02223"></a>02223 <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, up, status); <a name="l02224"></a>02224 } <a name="l02225"></a>02225 <a name="l02226"></a>02226 <a name="l02227"></a>02227 <span class="comment">// -------------------------------------</span> <a name="l02228"></a>02228 <a name="l02234"></a>02234 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a name="l02235"></a><a class="code" href="classCalendar.html#a80318e4604dde732ac89aa81311fbf68">02235</a> <a class="code" href="classCalendar.html#a1966488fa1954b3ef426c8dde4d341c6" title="Sets the value for a given time field.">Calendar::internalSet</a>(<a class="code" href="ucal_8h.html#a02fe23bf33319052733c00c7a09ea912" title="Possible fields in a UCalendar.">UCalendarDateFields</a> field, int32_t value) <a name="l02236"></a>02236 { <a name="l02237"></a>02237 <a class="code" href="classCalendar.html#a4aeb857bb89a74dbe261896e6b6f6681" title="The time fields containing values into which the millis is computed.">fFields</a>[field] = value; <a name="l02238"></a>02238 <a class="code" href="classCalendar.html#ae1ab437231e76896ce2b7ccdbc106b0b" title="Pseudo-time-stamps which specify when each field was set.">fStamp</a>[field] = kInternallySet; <a name="l02239"></a>02239 <a class="code" href="classCalendar.html#a557209952758b6c128ddbc26955eb9dc" title="The flags which tell if a specified time field for the calendar is set.">fIsSet</a>[field] = <a class="code" href="umachine_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d" title="The TRUE value of a UBool.">TRUE</a>; <span class="comment">// Remove later</span> <a name="l02240"></a>02240 } <a name="l02241"></a>02241 <a name="l02242"></a><a class="code" href="classCalendar.html#ac37c766c0d2b648b451186132e19004a">02242</a> <span class="keyword">inline</span> int32_t <a class="code" href="classCalendar.html#ac06ba54055473049be6427add1fa99e0" title="Return the week number of a day, within a period.">Calendar::weekNumber</a>(int32_t dayOfPeriod, int32_t dayOfWeek) <a name="l02243"></a>02243 { <a name="l02244"></a>02244 <span class="keywordflow">return</span> <a class="code" href="classCalendar.html#ac06ba54055473049be6427add1fa99e0" title="Return the week number of a day, within a period.">weekNumber</a>(dayOfPeriod, dayOfPeriod, dayOfWeek); <a name="l02245"></a>02245 } <a name="l02246"></a>02246 <a name="l02247"></a>02247 <a name="l02248"></a>02248 <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> <a name="l02249"></a>02249 <a name="l02250"></a>02250 <span class="preprocessor">#endif </span><span class="comment">/* #if !UCONFIG_NO_FORMATTING */</span> <a name="l02251"></a>02251 <a name="l02252"></a>02252 <span class="preprocessor">#endif // _CALENDAR</span> </pre></div></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>Defines</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address> </body> </html>