blob: 48e70b711af14b03cc673c05f24593bc53bfcfc7 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Boost.Locale: boost/locale/date_time_facet.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="boost-small.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Boost.Locale
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
initNavTree('date__time__facet_8hpp.html','');
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">boost/locale/date_time_facet.hpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//</span>
<a name="l00002"></a>00002 <span class="comment">// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)</span>
<a name="l00003"></a>00003 <span class="comment">//</span>
<a name="l00004"></a>00004 <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span>
<a name="l00005"></a>00005 <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span>
<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
<a name="l00007"></a>00007 <span class="comment">//</span>
<a name="l00008"></a>00008 <span class="preprocessor">#ifndef BOOST_LOCALE_DATE_TIME_FACET_HPP_INCLUDED</span>
<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_LOCALE_DATE_TIME_FACET_HPP_INCLUDED</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span>
<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;boost/locale/config.hpp&gt;</span>
<a name="l00012"></a>00012 <span class="preprocessor">#ifdef BOOST_MSVC</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor"># pragma warning(push)</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor"># pragma warning(disable : 4275 4251 4231 4660)</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/cstdint.hpp&gt;</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;locale&gt;</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="keyword">namespace </span>boost {
<a name="l00021"></a>00021 <span class="keyword">namespace </span>locale {
<a name="l00025"></a>00025 <span class="keyword">namespace </span>period {
<a name="l00029"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html">00029</a> <span class="keyword">namespace </span>marks {
<a name="l00031"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3a">00031</a> <span class="keyword">enum</span> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3a" title="the type that defines a flag that holds a period identifier">period_mark</a> {
<a name="l00032"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aab24556edbe246e0bc3b4b0d3f2e627eb">00032</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aab24556edbe246e0bc3b4b0d3f2e627eb" title="Special invalid value, should not be used directly.">invalid</a>,
<a name="l00033"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aacc399d4cddd6d129a7d36cc2ce94b47a">00033</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aacc399d4cddd6d129a7d36cc2ce94b47a" title="Era i.e. AC, BC in Gregorian and Julian calendar, range [0,1].">era</a>,
<a name="l00034"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa57de42317988a555460cf98be583addc">00034</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa57de42317988a555460cf98be583addc" title="Year, it is calendar specific, for example 2011 in Gregorian calendar.">year</a>,
<a name="l00035"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa827e0e9673cbb1e0983191ea42c88c88">00035</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa827e0e9673cbb1e0983191ea42c88c88" title="Extended year for Gregorian/Julian calendars, where 1 BC == 0, 2 BC == -1.">extended_year</a>,
<a name="l00036"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa1fe197c6bcc18839b75fc550857ed89a">00036</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa1fe197c6bcc18839b75fc550857ed89a" title="The month of year, calendar specific, in Gregorian [0..11].">month</a>,
<a name="l00037"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aac944d440d0afd38cc75c1011319f790e">00037</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aac944d440d0afd38cc75c1011319f790e" title="The day of month, calendar specific, in Gregorian [1..31].">day</a>,
<a name="l00038"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa6e0f5f21ddfe455d27dfdafb5e58796b">00038</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa6e0f5f21ddfe455d27dfdafb5e58796b" title="The number of day in year, starting from 1, in Gregorian [1..366].">day_of_year</a>,
<a name="l00039"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aaefcf18fd66bcbbac887950c40d5e039b">00039</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aaefcf18fd66bcbbac887950c40d5e039b">day_of_week</a>,
<a name="l00040"></a>00040
<a name="l00041"></a>00041
<a name="l00042"></a>00042
<a name="l00043"></a>00043
<a name="l00044"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aada04317134ebd8c192c431fdc6776756">00044</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aada04317134ebd8c192c431fdc6776756">day_of_week_in_month</a>,
<a name="l00045"></a>00045
<a name="l00046"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa16f1add720e3211b165609cc8bf49edf">00046</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa16f1add720e3211b165609cc8bf49edf" title="Local day of week, for example in France Monday is 1, in US Sunday is 1, [1..7].">day_of_week_local</a>,
<a name="l00047"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa889701bc6cf11a9ee39d7223691966e1">00047</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa889701bc6cf11a9ee39d7223691966e1" title="24 clock hour [0..23]">hour</a>,
<a name="l00048"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa33760c5f41e6cb76695f18d65f5d0a9d">00048</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa33760c5f41e6cb76695f18d65f5d0a9d" title="12 clock hour [0..11]">hour_12</a>,
<a name="l00049"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa8c4f7415895e44b3c1c9484a8eadcf06">00049</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa8c4f7415895e44b3c1c9484a8eadcf06" title="am or pm marker [0..1]">am_pm</a>,
<a name="l00050"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa1fec41808558d9452161712537717906">00050</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa1fec41808558d9452161712537717906" title="minute [0..59]">minute</a>,
<a name="l00051"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa3afc5b74b9e5e23bdfeab56a297bb7c7">00051</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa3afc5b74b9e5e23bdfeab56a297bb7c7" title="second [0..59]">second</a>,
<a name="l00052"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa779ca20cc3ae59a2421293f5d8023c2e">00052</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa779ca20cc3ae59a2421293f5d8023c2e" title="The week number in the year.">week_of_year</a>,
<a name="l00053"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa91d7d091168f60438e08ecfb72a47aed">00053</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa91d7d091168f60438e08ecfb72a47aed" title="The week number within current month.">week_of_month</a>,
<a name="l00054"></a><a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa8cc9f718b5bdf9c30cff3846118039bd">00054</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aa8cc9f718b5bdf9c30cff3846118039bd" title="First day of week, constant, for example Sunday in US = 1, Monday in France = 2.">first_day_of_week</a>,
<a name="l00055"></a>00055 };
<a name="l00056"></a>00056
<a name="l00057"></a>00057 } <span class="comment">// marks</span>
<a name="l00058"></a>00058
<a name="l00070"></a><a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html">00070</a> <span class="keyword">class </span><a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html" title="This class holds a type that represents certain period of time like year, hour, second and so on...">period_type</a> {
<a name="l00071"></a>00071 <span class="keyword">public</span>:
<a name="l00075"></a><a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html#a8abba35d5073884677ce69ec3ba3eba7">00075</a> <a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html#a8abba35d5073884677ce69ec3ba3eba7">period_type</a>(<a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3a" title="the type that defines a flag that holds a period identifier">marks::period_mark</a> m = <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3aab24556edbe246e0bc3b4b0d3f2e627eb" title="Special invalid value, should not be used directly.">marks::invalid</a>) : mark_(m)
<a name="l00076"></a>00076 {
<a name="l00077"></a>00077 }
<a name="l00078"></a>00078
<a name="l00082"></a><a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html#ad81b414edc6ea88accc5dad5d17a351b">00082</a> <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3a" title="the type that defines a flag that holds a period identifier">marks::period_mark</a> <a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html#ad81b414edc6ea88accc5dad5d17a351b">mark</a>()<span class="keyword"> const</span>
<a name="l00083"></a>00083 <span class="keyword"> </span>{
<a name="l00084"></a>00084 <span class="keywordflow">return</span> mark_;
<a name="l00085"></a>00085 }
<a name="l00086"></a>00086
<a name="l00090"></a><a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html#a53ac6fdbaa7ae1b6d90e67bb5aadcce0">00090</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html#a53ac6fdbaa7ae1b6d90e67bb5aadcce0">operator==</a>(<a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html" title="This class holds a type that represents certain period of time like year, hour, second and so on...">period_type</a> <span class="keyword">const</span> &amp;other)<span class="keyword"> const</span>
<a name="l00091"></a>00091 <span class="keyword"> </span>{
<a name="l00092"></a>00092 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html#ad81b414edc6ea88accc5dad5d17a351b">mark</a>()==other.<a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html#ad81b414edc6ea88accc5dad5d17a351b">mark</a>();
<a name="l00093"></a>00093 }
<a name="l00097"></a><a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html#a0156ce442f97fd86fa7c702e4d24031a">00097</a> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html#a0156ce442f97fd86fa7c702e4d24031a">operator!=</a>(<a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html" title="This class holds a type that represents certain period of time like year, hour, second and so on...">period_type</a> <span class="keyword">const</span> &amp;other)<span class="keyword"> const</span>
<a name="l00098"></a>00098 <span class="keyword"> </span>{
<a name="l00099"></a>00099 <span class="keywordflow">return</span> <a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html#ad81b414edc6ea88accc5dad5d17a351b">mark</a>()!=other.<a class="code" href="classboost_1_1locale_1_1period_1_1period__type.html#ad81b414edc6ea88accc5dad5d17a351b">mark</a>();
<a name="l00100"></a>00100 }
<a name="l00101"></a>00101 <span class="keyword">private</span>:
<a name="l00102"></a>00102 <a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3a" title="the type that defines a flag that holds a period identifier">marks::period_mark</a> mark_;
<a name="l00103"></a>00103 };
<a name="l00104"></a>00104
<a name="l00105"></a>00105 } <span class="comment">// namespace period</span>
<a name="l00106"></a>00106
<a name="l00111"></a><a class="code" href="structboost_1_1locale_1_1posix__time.html">00111</a> <span class="keyword">struct </span><a class="code" href="structboost_1_1locale_1_1posix__time.html">posix_time</a> {
<a name="l00112"></a><a class="code" href="structboost_1_1locale_1_1posix__time.html#a8209978ee423c6396d8179505ec5fa78">00112</a> int64_t <a class="code" href="structboost_1_1locale_1_1posix__time.html#a8209978ee423c6396d8179505ec5fa78" title="Seconds since epoch.">seconds</a>;
<a name="l00113"></a><a class="code" href="structboost_1_1locale_1_1posix__time.html#aaa1f72a3f4313cd079b08375132c794d">00113</a> uint32_t <a class="code" href="structboost_1_1locale_1_1posix__time.html#aaa1f72a3f4313cd079b08375132c794d" title="Nanoseconds resolution.">nanoseconds</a>;
<a name="l00114"></a>00114 };
<a name="l00115"></a>00115
<a name="l00121"></a>00121
<a name="l00122"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html">00122</a> <span class="keyword">class </span><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html">abstract_calendar</a> {
<a name="l00123"></a>00123 <span class="keyword">public</span>:
<a name="l00124"></a>00124
<a name="l00128"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5">00128</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00129"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a28694319e58f559df9ca41b22f03427e">00129</a> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a28694319e58f559df9ca41b22f03427e" title="Absolute possible minimum for the value, for example for day is 1.">absolute_minimum</a>,
<a name="l00130"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a5aa2c2d439c6e801e3bc48a35972932b">00130</a> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a5aa2c2d439c6e801e3bc48a35972932b" title="Actual minimal value for this period.">actual_minimum</a>,
<a name="l00131"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a75e80e0a10af4b2b8eb2fcab72e4b200">00131</a> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a75e80e0a10af4b2b8eb2fcab72e4b200" title="Maximal minimum value that can be for this period.">greatest_minimum</a>,
<a name="l00132"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a83d87ff10ff6107dfd0405f1e8757ef8">00132</a> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a83d87ff10ff6107dfd0405f1e8757ef8" title="Current value of this period.">current</a>,
<a name="l00133"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a388661725182373d2f92b709034f85c9">00133</a> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a388661725182373d2f92b709034f85c9">least_maximum</a>,
<a name="l00134"></a>00134
<a name="l00135"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a3d2648e95466623ba20502281e0208af">00135</a> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5a3d2648e95466623ba20502281e0208af" title="Actual maximum, for it can be 28, 29, 30, 31 for day according to current month.">actual_maximum</a>,
<a name="l00136"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5ab5d1af0b2698fee942a1486dfcc6552b">00136</a> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5ab5d1af0b2698fee942a1486dfcc6552b" title="Maximal value, for Gregorian day it would be 31.">absolute_maximum</a>,
<a name="l00137"></a>00137 } <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5">value_type</a>;
<a name="l00138"></a>00138
<a name="l00142"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a92cf9485b91d60b70ef00e183bdf4e95">00142</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00143"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a92cf9485b91d60b70ef00e183bdf4e95aac5f9cb6e12a121b47b51434a3655c81">00143</a> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a92cf9485b91d60b70ef00e183bdf4e95aac5f9cb6e12a121b47b51434a3655c81" title="Change the value up or down effecting others for example 1990-12-31 + 1 day = 1991-01-01.">move</a>,
<a name="l00144"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a92cf9485b91d60b70ef00e183bdf4e95a704e0e917603c2a88de22f3426a3e20b">00144</a> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a92cf9485b91d60b70ef00e183bdf4e95a704e0e917603c2a88de22f3426a3e20b" title="Change the value up or down not effecting others for example 1990-12-31 + 1 day = 1990-12-01...">roll</a>,
<a name="l00145"></a>00145 } <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a92cf9485b91d60b70ef00e183bdf4e95">update_type</a>;
<a name="l00146"></a>00146
<a name="l00150"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a5f1927f4c71fafa4712265e6b68958b5">00150</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00151"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a5f1927f4c71fafa4712265e6b68958b5add910815d1ad0e97275b781223e869a9">00151</a> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a5f1927f4c71fafa4712265e6b68958b5add910815d1ad0e97275b781223e869a9" title="Check if the calendar is Gregorian.">is_gregorian</a>,
<a name="l00152"></a><a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a5f1927f4c71fafa4712265e6b68958b5a69f0c20e321e3b914883869466122c61">00152</a> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a5f1927f4c71fafa4712265e6b68958b5a69f0c20e321e3b914883869466122c61" title="Check if the current time is in daylight time savings.">is_dst</a>
<a name="l00153"></a>00153 } <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a5f1927f4c71fafa4712265e6b68958b5">calendar_option_type</a>;
<a name="l00154"></a>00154
<a name="l00158"></a>00158 <span class="keyword">virtual</span> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html">abstract_calendar</a> *<a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a73bc2d023be4c6ac6a6f441f74ded2f9">clone</a>() <span class="keyword">const</span> = 0;
<a name="l00159"></a>00159
<a name="l00170"></a>00170 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a15067ccf90a19e640051a30a6d3a2a7f">set_value</a>(<a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3a" title="the type that defines a flag that holds a period identifier">period::marks::period_mark</a> p,<span class="keywordtype">int</span> value) = 0;
<a name="l00171"></a>00171
<a name="l00175"></a>00175 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#aa06fef77acaa6104e3cd2bc80ccc76d9">normalize</a>() = 0;
<a name="l00176"></a>00176
<a name="l00180"></a>00180 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a7eacfa5d8f37dfc839d0239c2fcdf64e">get_value</a>(<a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3a" title="the type that defines a flag that holds a period identifier">period::marks::period_mark</a> p,<a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#af786b3e65294d70769f2826ef95c7bd5">value_type</a> v) <span class="keyword">const</span> = 0;
<a name="l00181"></a>00181
<a name="l00185"></a>00185 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#acb01268c84f27a8a736b715ab9e9557a">set_time</a>(<a class="code" href="structboost_1_1locale_1_1posix__time.html">posix_time</a> <span class="keyword">const</span> &amp;p) = 0;
<a name="l00189"></a>00189 <span class="keyword">virtual</span> <a class="code" href="structboost_1_1locale_1_1posix__time.html">posix_time</a> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a8900097c0b687393b053bc0420070815">get_time</a>() <span class="keyword">const</span> = 0;
<a name="l00190"></a>00190
<a name="l00194"></a>00194 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a9265206013005d9ac30cf723a7ffe032">set_option</a>(<a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a5f1927f4c71fafa4712265e6b68958b5">calendar_option_type</a> opt,<span class="keywordtype">int</span> v) = 0;
<a name="l00198"></a>00198 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a0c034dd6f135b7d9b6faad08d49715a8">get_option</a>(<a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a5f1927f4c71fafa4712265e6b68958b5">calendar_option_type</a> opt) <span class="keyword">const</span> = 0;
<a name="l00199"></a>00199
<a name="l00204"></a>00204 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#afb8e3a4d2ad93274ec119dc3dd0b103a">adjust_value</a>(<a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3a" title="the type that defines a flag that holds a period identifier">period::marks::period_mark</a> p,<a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a92cf9485b91d60b70ef00e183bdf4e95">update_type</a> u,<span class="keywordtype">int</span> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a7bd4c26f5a4260f6d9c91c615efc4b46">difference</a>) = 0;
<a name="l00205"></a>00205
<a name="l00209"></a>00209 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a7bd4c26f5a4260f6d9c91c615efc4b46">difference</a>(<a class="code" href="classboost_1_1locale_1_1abstract__calendar.html">abstract_calendar</a> <span class="keyword">const</span> *other,<a class="code" href="namespaceboost_1_1locale_1_1period_1_1marks.html#a1536eaff4b2a880782128fc127f40d3a" title="the type that defines a flag that holds a period identifier">period::marks::period_mark</a> p) <span class="keyword">const</span> = 0;
<a name="l00210"></a>00210
<a name="l00214"></a>00214 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#aa17f0fd2e88d3da8fe7b12e98ad2d6c3">set_timezone</a>(std::string <span class="keyword">const</span> &amp;tz) = 0;
<a name="l00218"></a>00218 <span class="keyword">virtual</span> std::string <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#a51f4b91d0dc2f9afa3920a771307d92f">get_timezone</a>() <span class="keyword">const</span> = 0;
<a name="l00219"></a>00219
<a name="l00223"></a>00223 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html#aa20ae19bca185cc0fa4ab69d7f3c5883">same</a>(<a class="code" href="classboost_1_1locale_1_1abstract__calendar.html">abstract_calendar</a> <span class="keyword">const</span> *other) <span class="keyword">const</span> = 0;
<a name="l00224"></a>00224
<a name="l00225"></a>00225 <span class="keyword">virtual</span> ~<a class="code" href="classboost_1_1locale_1_1abstract__calendar.html">abstract_calendar</a>()
<a name="l00226"></a>00226 {
<a name="l00227"></a>00227 }
<a name="l00228"></a>00228
<a name="l00229"></a>00229 };
<a name="l00230"></a>00230
<a name="l00234"></a><a class="code" href="classboost_1_1locale_1_1calendar__facet.html">00234</a> <span class="keyword">class </span>BOOST_LOCALE_DECL <a class="code" href="classboost_1_1locale_1_1calendar__facet.html" title="the facet that generates calendar for specific locale">calendar_facet</a> : <span class="keyword">public</span> std::locale::facet {
<a name="l00235"></a>00235 <span class="keyword">public</span>:
<a name="l00239"></a><a class="code" href="classboost_1_1locale_1_1calendar__facet.html#a04e5d7baa3bb0f362b0c2faac0c5d376">00239</a> <a class="code" href="namespaceboost_1_1locale.html#ae068c6887999c1f839d6d13eaf2a0b7c" title="Generate boundary analysis facet.">calendar_facet</a>(<span class="keywordtype">size_t</span> refs = 0) : std::locale::facet(refs)
<a name="l00240"></a>00240 {
<a name="l00241"></a>00241 }
<a name="l00245"></a>00245 <span class="keyword">virtual</span> <a class="code" href="classboost_1_1locale_1_1abstract__calendar.html">abstract_calendar</a> *create_calendar() <span class="keyword">const</span> = 0;
<a name="l00246"></a>00246
<a name="l00250"></a><a class="code" href="classboost_1_1locale_1_1calendar__facet.html#a88dc563112346949302fd95df833089c">00250</a> <span class="keyword">static</span> std::locale::id <a class="code" href="classboost_1_1locale_1_1calendar__facet.html#a88dc563112346949302fd95df833089c">id</a>;
<a name="l00251"></a>00251 };
<a name="l00252"></a>00252
<a name="l00253"></a>00253 } <span class="comment">// locale</span>
<a name="l00254"></a>00254 } <span class="comment">// boost</span>
<a name="l00255"></a>00255
<a name="l00256"></a>00256 <span class="preprocessor">#ifdef BOOST_MSVC</span>
<a name="l00257"></a>00257 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(pop)</span>
<a name="l00258"></a>00258 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00259"></a>00259 <span class="preprocessor"></span>
<a name="l00260"></a>00260
<a name="l00261"></a>00261 <span class="preprocessor">#endif</span>
<a name="l00262"></a>00262 <span class="preprocessor"></span><span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span>
<a name="l00263"></a>00263
</pre></div></div><!-- contents -->
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>date_time_facet.hpp</b> </li>
<li class="footer">
&copy; Copyright 2009-2012 Artyom Beilis, Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt">Boost Software License</a>, Version 1.0.
</li>
</ul>
</div>
</body>
</html>