Class template base_time
boost::date_time::base_time — Representation of a precise moment in time, including the date. 
 
Synopsis
template<typename T, typename time_system> 
class base_time :
  private boost::less_than_comparable< T, boost::equality_comparable< T > >
{
public:
  
  typedef void                            _is_boost_date_time_time_point;
  typedef T                               time_type;                     
  typedef time_system::time_rep_type      time_rep_type;                 
  typedef time_system::date_type          date_type;                     
  typedef time_system::date_duration_type date_duration_type;            
  typedef time_system::time_duration_type time_duration_type;            
  
  base_time(const date_type &, const time_duration_type &, 
            dst_flags = not_dst);
  base_time(special_values);
  base_time(const time_rep_type &);
  
  date_type date() const;
  time_duration_type time_of_day() const;
  std::string zone_name(bool = false) const;
  std::string zone_abbrev(bool = false) const;
  std::string zone_as_posix_string() const;
  bool is_not_a_date_time() const;
  bool is_infinity() const;
  bool is_pos_infinity() const;
  bool is_neg_infinity() const;
  bool is_special() const;
  bool operator==(const time_type &) const;
  bool operator<(const time_type &) const;
  time_duration_type operator-(const time_type &) const;
  time_type operator+(const date_duration_type &) const;
  time_type operator+=(const date_duration_type &);
  time_type operator-(const date_duration_type &) const;
  time_type operator-=(const date_duration_type &);
  time_type operator+(const time_duration_type &) const;
  time_type operator+=(const time_duration_type &);
  time_type operator-(const time_duration_type &) const;
  time_type operator-=(const time_duration_type &);
};
Description
Этот класс представляет собой скелет для интерфейса временного типа с разрешением выше суток. Предполагается, что этот класс является базовым и что фактический класс времени выводится с использованием шаблона BN. Таким образом, производный класс может принимать решения, такие как «должен ли быть конструктор по умолчанию» и для чего он должен устанавливать свою ценность, если есть дополнительные конструкторы, которые разрешают только временные периоды, которые генерируют время от часов и т. Д. Таким образом, на самом деле для системы с различными строительными политиками может быть создано несколько типов времени, и все они могут выполнять основные операции, только написав конструктор копий. Ошибки компилятора также короче.
Реальное поведение класса времени обеспечивается параметром шаблона Time_system. Этот класс должен обеспечивать всю логику сложения, вычитания, а также определять все типы интерфейсов.
base_time 
        public
       construct/copy/destruct
- базовое время()Дата_тип&День,Время_длительность_тип&td,dst_flagsdst=not_dst 
- base_timespecial_valuessv; 
- base_timeconsttime_rep_type&rhs; 
 
base_time public member functions
- date_typedateconst; 
- time_duration_typetime_of_dayconst; 
- std::струназона_имябоол=ложныйконст; - Факультативный параметр bool вернет часовой пояс в качестве смещения (т.е. «+07:00»). Пустая строка возвращается для классов, которые не используют Time_zone .
- std::строказона_abbrevbool=ложнаяконст; - Факультативный параметр bool вернет часовой пояс в качестве смещения (т.е. «+07:00»). Пустая строка возвращается для классов, которые не используют зону времени .
- std::stringzone_as_posix_stringconst; Пустая строка возвращается для классов, которые не используют зону времени.
- boolis_not_a_date_timeconst; check to see if date is not a value
- boolis_infinityconst; проверить, является ли дата одним из значений бесконечности
- boolis_pos_infinityconst; проверить, является ли дата больше всех возможных дат
- boolis_neg_infinityconst; проверить, является ли дата больше всех возможных дат
- boolявляется_специальнымconst; проверить, является ли время особым значением
- boolоператор==consttime_type&rhs]const; Оператор равенства – другие, генерируемые импульсом::equality_comparable.
- boolоператор<consttime_type&rhs]const; Оператор равенства – другие, генерируемые импульсом::less_than_comparable.
- time_duration_typeоператор-consttime_type&rhs]const; разница между двумя разами
- time_typeоператор+constdate_duration_type&dd]const; добавить продолжительность даты
- time_typeоператор+=constdate_duration_typeⅆ 
- time_typeоператор-constdate_duration_type&dd]const; вычесть продолжительность даты
- time_typeoperator-=constdate_duration_typeⅆ 
- time_typeоператор+consttime_duration_type&td]const; добавить продолжительности времени
- time_typeоператор+=consttime_duration_type&td; 
- time_typeоператор-consttime_duration_type&rhs]const; вычитают продолжительность времени
- time_typeоператор-=consttime_duration_type&td;