Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class template period

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Library Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Class template period

boost::date_time::period — Provides generalized period type useful in date-time systems.

Synopsis

// In header: <boost/date_time/period.hpp>
template<typename point_rep, typename duration_rep> 
class period : private boost::less_than_comparable< period< point_rep, duration_rep >, boost::equality_comparable< period< point_rep, duration_rep > > >
{
public:
  // types
  typedef point_rep    point_type;   
  typedef duration_rep duration_type;
  // construct/copy/destruct
  period(point_rep, point_rep);
  period(point_rep, duration_rep);
  // public member functions
  point_rep begin() const;
  point_rep end() const;
  point_rep last() const;
  duration_rep length() const;
  bool is_null() const;
  bool operator==(const period &) const;
  bool operator<(const period &) const;
  void shift(const duration_rep &);
  void expand(const duration_rep &);
  bool contains(const point_rep &) const;
  bool contains(const period &) const;
  bool intersects(const period &) const;
  bool is_adjacent(const period &) const;
  bool is_before(const point_rep &) const;
  bool is_after(const point_rep &) const;
  period intersection(const period &) const;
  period merge(const period &) const;
  period span(const period &) const;
};

Description

Этот шаблон использует класс для представления точки времени в течение периода, а другой класс для представления продолжительности. В результате этот класс не подходит для использования, когда число и продолжительность представления одинаковы (например, в обычном домене чисел).

Период может быть определен путем предоставления либо начальной точки и продолжительности, либо начальной точки и конечной точки (конец не является частью периода, но проходит 1 единицу). Период будет «недействительным», если либо конечная точка< = начальная точка, либо заданная продолжительность равна< = 0.

Периоды нулевой длины также считаются недействительными. Периоды нулевой длины — это периоды, когда начальная и конечная точки одинаковы или заданная продолжительность равна нулю. Для нулевого периода времени последняя точка будет на единицу меньше начальной точки.

В случае, если начало и последнее одинаковы, период имеет длину одной единицы.

Лучший способ справиться с периодами, как правило, чтобы обеспечить начальную точку и продолжительность. Таким образом, день 1 + 7 дней - это недельный период, который включает в себя весь первый день и еще 6 дней (например, от Солнца до Сата).

period public construct/copy/destruct

  1. Период(point_rep)Первая точка,point_repконечная точка;
    Создайте период от начала до конца.

    Если конец< = начало, то период будет недействительным

  2. периодточка_реппервая_точка,продолжительность_реплен;
    создайте период как [начало, начало+лен]

    Если len = 0, то период будет недействительным

    .

period public member functions

  1. point_repstartconst;
    Return the first element in the period.
  2. point_rependconst;
    Возврат одного мимо последнего элемента.
  3. point_replastconst;
    Верните последний пункт в период.
  4. продолжительностьдлинаконст;
    Возвратить продолжительность периода.
  5. boolявляется_nullconst;
    Правда, если период сформирован плохо (длина равна нулю или меньше)
  6. boolоператор==constпериод&rhs]const;
    Оператор равенства.
  7. booloperator<constпериод&rhs)const;
    Строго, как определено rhs.last<= lhs.last.
  8. voidshiftconstduration_rep&d;
    Сдвиньте начало и конец на указанную сумму.
  9. пустотарасширениеконстпродолжительность_rep&d];

    Увеличивает размер периода по продолжительности на обоих концах.

    Так что перед расширением

    ^^^^^^^^^^^^^^^^^^^^^[
  10. boolсодержитconstpoint_rep&point]const;
    Если точка находится внутри периода, периоды нулевой длины не содержат точек.
  11. boolсодержитconstperiod&other]const;
    Если этот период полностью соответствует (или равен) другому периоду.
  12. boolпересекаетсяconstperiod&other]const;
    Правда, если периоды пересекаются каким-либо образом.
  13. boolявляется_примыкающимconstperiod&other]const;
    Правда, если периоды находятся рядом друг с другом без разрыва.
  14. boolявляется_передconstpoint_rep&point]const;
    Правда, если весь период предшествует пройденной точке или концу.
  15. boolis_afterconstpoint_rep&point]const;
    Правда, если весь период предшествующий или t<начало.
  16. периодпересечениеконстпериод&другойконст;
    Возвращает период пересечения или недействительный диапазон без пересечения.
  17. периодслияниеконстпериод&другойконст;
    Возвращает объединение пересекающихся периодов – или нулевой период.
  18. периодпромежутокконстпериод&другойконст;
    Объедините два периода с самым ранним началом и последним концом.

    Объединяет два периода и любой разрыв между ними так, что начало = min(p1.start, p2.start) конец = max(p1.end, p2.end)

    p1— [496

PrevUpHomeNext

Статья Class template period раздела The Boost C++ Libraries BoostBook Documentation Subset Library Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Library Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 00:47:54/0.0046038627624512/0