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;