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