Example #1
0
 static time_rep_type get_time_rep(const date_type& day,
                                   const time_duration_type& tod,
                                   date_time::dst_flags /* dst */ = not_dst)
 {
   if(day.is_special() || tod.is_special()) {
     if(day.is_not_a_date() || tod.is_not_a_date_time()) {
       return time_rep_type(date_type(not_a_date_time),
                            time_duration_type(not_a_date_time));
     }
     else if(day.is_pos_infinity()) {
       if(tod.is_neg_infinity()) {
         return time_rep_type(date_type(not_a_date_time),
                              time_duration_type(not_a_date_time));
       }
       else {
         return time_rep_type(day, time_duration_type(pos_infin));
       }
     }
     else if(day.is_neg_infinity()) {
       if(tod.is_pos_infinity()) {
         return time_rep_type(date_type(not_a_date_time),
                              time_duration_type(not_a_date_time));
       }
       else {
         return time_rep_type(day, time_duration_type(neg_infin));
       }
     }
     else if(tod.is_pos_infinity()) {
       if(day.is_neg_infinity()) {
         return time_rep_type(date_type(not_a_date_time),
                              time_duration_type(not_a_date_time));
       }
       else {
         return time_rep_type(date_type(pos_infin), tod);
       }
     }
     else if(tod.is_neg_infinity()) {
       if(day.is_pos_infinity()) {
         return time_rep_type(date_type(not_a_date_time),
                              time_duration_type(not_a_date_time));
       }
       else {
         return time_rep_type(date_type(neg_infin), tod);
       }
     }
   }
   return time_rep_type(day, tod);
 }
Example #2
0
 bool is_neg_infinity()const
 {
   return(day.is_neg_infinity() || time_of_day.is_neg_infinity());
 }