Class template period
boost::date_time::period — Provides generalized period type useful in date-time systems.
Synopsis
Description
Этот шаблон использует класс для представления точки времени в течение периода, а другой класс для представления продолжительности. В результате этот класс не подходит для использования, когда число и продолжительность представления одинаковы (например, в обычном домене чисел).
Период может быть определен путем предоставления либо начальной точки и продолжительности, либо начальной точки и конечной точки (конец не является частью периода, но проходит 1 единицу). Период будет «недействительным», если либо конечная точка< = начальная точка, либо заданная продолжительность равна< = 0.
Периоды нулевой длины также считаются недействительными. Периоды нулевой длины — это периоды, когда начальная и конечная точки одинаковы или заданная продолжительность равна нулю. Для нулевого периода времени последняя точка будет на единицу меньше начальной точки.
В случае, если начало и последнее одинаковы, период имеет длину одной единицы.
Лучший способ справиться с периодами, как правило, чтобы обеспечить начальную точку и продолжительность. Таким образом, день 1 + 7 дней - это недельный период, который включает в себя весь первый день и еще 6 дней (например, от Солнца до Сата).
period
public
construct/copy/destruct
Период(point_rep)Первая точка,point_repконечная точка;
Создайте период от начала до конца.Если конец< = начало, то период будет недействительным
периодточка_реппервая_точка,продолжительность_реплен;
создайте период как [начало, начало+лен]Если len = 0, то период будет недействительным
.
period
public member functions
point_repstartconst;
Return the first element in the period.
point_rependconst;
Возврат одного мимо последнего элемента.
point_replastconst;
Верните последний пункт в период.
продолжительностьдлинаконст;
Возвратить продолжительность периода.
boolявляется_nullconst;
Правда, если период сформирован плохо (длина равна нулю или меньше)
boolоператор==constпериод&rhs]const;
Оператор равенства.
booloperator<constпериод&rhs)const;
Строго, как определено rhs.last<= lhs.last.
voidshiftconstduration_rep&d;
Сдвиньте начало и конец на указанную сумму.
пустотарасширениеконстпродолжительность_rep&d];
Увеличивает размер периода по продолжительности на обоих концах.
Так что перед расширением
^^^^^^^^^^^^^^^^^^^^^[
boolсодержитconstpoint_rep&point]const;
Если точка находится внутри периода, периоды нулевой длины не содержат точек.
boolсодержитconstperiod&other]const;
Если этот период полностью соответствует (или равен) другому периоду.
boolпересекаетсяconstperiod&other]const;
Правда, если периоды пересекаются каким-либо образом.
boolявляется_примыкающимconstperiod&other]const;
Правда, если периоды находятся рядом друг с другом без разрыва.
boolявляется_передconstpoint_rep&point]const;
Правда, если весь период предшествует пройденной точке или концу.
boolis_afterconstpoint_rep&point]const;
Правда, если весь период предшествующий или t<начало.
периодпересечениеконстпериод&другойконст;
Возвращает период пересечения или недействительный диапазон без пересечения.
периодслияниеконстпериод&другойконст;
Возвращает объединение пересекающихся периодов – или нулевой период.
периодпромежутокконстпериод&другойконст;
Объедините два периода с самым ранним началом и последним концом.Объединяет два периода и любой разрыв между ними так, что начало = min(p1.start, p2.start) конец = max(p1.end, p2.end)
—p1——————————————— [496