Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > f51238514e2abe817779ad2fe01b0759 > files > 32

icu-doc-4.4-2.1mdv2010.2.i586.rpm

<!-- 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: 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.1 -->
<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&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;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&nbsp;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 &quot;<a class="code" href="utypes_8h.html" title="Basic definitions for ICU, for both C and C++ APIs.">unicode/utypes.h</a>&quot;</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 &quot;<a class="code" href="uobject_8h.html" title="C++ API: Common ICU base class UObject.">unicode/uobject.h</a>&quot;</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include &quot;<a class="code" href="locid_8h.html" title="C++ API: Locale ID object.">unicode/locid.h</a>&quot;</span>
<a name="l00038"></a>00038 <span class="preprocessor">#include &quot;<a class="code" href="timezone_8h.html" title="C++ API: TimeZone object.">unicode/timezone.h</a>&quot;</span>
<a name="l00039"></a>00039 <span class="preprocessor">#include &quot;<a class="code" href="ucal_8h.html" title="C API: Calendar.">unicode/ucal.h</a>&quot;</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &quot;<a class="code" href="umisc_8h.html" title="C API:misc definitions.">unicode/umisc.h</a>&quot;</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 &amp;quot;boilerplate&amp;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">// &apos;Y&apos; Example: 1..big number - Year of Week of Year</span>
<a name="l00200"></a>00200         DOW_LOCAL,            <span class="comment">// &apos;e&apos; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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&amp; 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 &amp;#39;pure&amp;#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>&amp; 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>&amp; 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&amp;#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>&amp; 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&amp;#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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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> &amp;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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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 &amp;quot;poor man&amp;#39;s RTTI&amp;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> &amp;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> &amp;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> &amp;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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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>&amp; 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]&gt;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> &amp;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> &amp;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> &amp;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> &amp;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>&amp; 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>&amp; 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>&amp; 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>&amp; 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> &amp;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> &amp;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> &amp;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> &amp;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> &amp;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>&amp; 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 &amp;#39;pure&amp;#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>&amp; 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>&amp; 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> &amp;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> &amp;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>&amp; errorCode)
<a name="l02207"></a>02207 {
<a name="l02208"></a>02208     <span class="comment">// since the Locale isn&apos;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>&amp; 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>&amp; 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">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</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 size="1"/><address style="text-align: right;"><small>Generated on 16 Mar 2010 for ICU 4.4 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>