<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Utils" rel="Chapter" href="Utils.html"> <link title="Time_Zone" rel="Chapter" href="Time_Zone.html"> <link title="Period" rel="Chapter" href="Period.html"> <link title="Time_sig" rel="Chapter" href="Time_sig.html"> <link title="Time" rel="Chapter" href="Time.html"> <link title="Ftime" rel="Chapter" href="Ftime.html"> <link title="Date_sig" rel="Chapter" href="Date_sig.html"> <link title="Date" rel="Chapter" href="Date.html"> <link title="Calendar_sig" rel="Chapter" href="Calendar_sig.html"> <link title="Calendar_builder" rel="Chapter" href="Calendar_builder.html"> <link title="Calendar" rel="Chapter" href="Calendar.html"> <link title="Fcalendar" rel="Chapter" href="Fcalendar.html"> <link title="Printer" rel="Chapter" href="Printer.html"> <link title="Version" rel="Chapter" href="Version.html"><title>Calendar_sig.S.Period</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">type</span> +<span class="keywordsign">'</span>a period <span class="keyword">constraint</span> <span class="keywordsign">'</span>a = [< <span class="constructor">Period</span>.date_field ]<br> <span class="keyword">type</span> t = <span class="constructor">Period</span>.date_field <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> empty : [< <span class="constructor">Period</span>.date_field ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> add :<br> ([< <span class="constructor">Period</span>.date_field > <span class="keywordsign">`</span><span class="constructor">Day</span> <span class="keywordsign">`</span><span class="constructor">Week</span> ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> sub :<br> ([< <span class="constructor">Period</span>.date_field > <span class="keywordsign">`</span><span class="constructor">Day</span> <span class="keywordsign">`</span><span class="constructor">Week</span> ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> opp :<br> ([< <span class="constructor">Period</span>.date_field > <span class="keywordsign">`</span><span class="constructor">Day</span> <span class="keywordsign">`</span><span class="constructor">Week</span> ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> equal :<br> [< <span class="constructor">Period</span>.date_field ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span><br> [< <span class="constructor">Period</span>.date_field ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> compare :<br> [< <span class="constructor">Period</span>.date_field ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span><br> [< <span class="constructor">Period</span>.date_field ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> hash : [< <span class="constructor">Period</span>.date_field ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> make :<br> int <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.second <span class="keywordsign">-></span> <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.t<br> <span class="keyword">val</span> lmake :<br> ?year:int <span class="keywordsign">-></span><br> ?month:int <span class="keywordsign">-></span><br> ?day:int <span class="keywordsign">-></span><br> ?hour:int <span class="keywordsign">-></span><br> ?minute:int <span class="keywordsign">-></span><br> ?second:<span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.second <span class="keywordsign">-></span> unit <span class="keywordsign">-></span> <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.t<br> <span class="keyword">val</span> year :<br> int <span class="keywordsign">-></span> [< <span class="constructor">Period</span>.date_field > <span class="keywordsign">`</span><span class="constructor">Year</span> ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> month :<br> int <span class="keywordsign">-></span> [< <span class="constructor">Period</span>.date_field > <span class="keywordsign">`</span><span class="constructor">Month</span> <span class="keywordsign">`</span><span class="constructor">Year</span> ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> week :<br> int <span class="keywordsign">-></span> [< <span class="constructor">Period</span>.date_field > <span class="keywordsign">`</span><span class="constructor">Day</span> <span class="keywordsign">`</span><span class="constructor">Week</span> ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> day :<br> int <span class="keywordsign">-></span> [< <span class="constructor">Period</span>.date_field > <span class="keywordsign">`</span><span class="constructor">Day</span> <span class="keywordsign">`</span><span class="constructor">Week</span> ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> hour :<br> int <span class="keywordsign">-></span> [< <span class="constructor">Period</span>.date_field > <span class="keywordsign">`</span><span class="constructor">Day</span> <span class="keywordsign">`</span><span class="constructor">Week</span> ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> minute :<br> int <span class="keywordsign">-></span> [< <span class="constructor">Period</span>.date_field > <span class="keywordsign">`</span><span class="constructor">Day</span> <span class="keywordsign">`</span><span class="constructor">Week</span> ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> second :<br> <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.second <span class="keywordsign">-></span><br> [< <span class="constructor">Period</span>.date_field > <span class="keywordsign">`</span><span class="constructor">Day</span> <span class="keywordsign">`</span><span class="constructor">Week</span> ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> from_date :<br> ([< <span class="constructor">Period</span>.date_field ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) <span class="constructor">Date</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> from_time :<br> ([< <span class="constructor">Period</span>.date_field ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) <span class="constructor">Time</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> to_date :<br> ([< <span class="constructor">Date</span>.field ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Date</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">exception</span> <span class="constructor">Not_computable</span><br> <span class="keyword">val</span> to_time :<br> ([< <span class="constructor">Period</span>.date_field ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Time</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> safe_to_time :<br> ([< <span class="keywordsign">`</span><span class="constructor">Day</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Week</span> ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Time</span>.<span class="constructor">Period</span>.period<br> <span class="keyword">val</span> ymds :<br> [< <span class="constructor">Period</span>.date_field ] <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.<span class="constructor">Period</span>.period <span class="keywordsign">-></span><br> int * int * int * <span class="constructor">Calendar_sig</span>.<span class="constructor">S</span>.second<br> <span class="keyword">end</span></code></body></html>