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

Class template base_time

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 base_time

boost::date_time::base_time — Representation of a precise moment in time, including the date.

Synopsis

// In header: <boost/date_time/time.hpp>
template<typename T, typename time_system> 
class base_time :
  private boost::less_than_comparable< T, boost::equality_comparable< T > >
{
public:
  // types
  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;            
  // construct/copy/destruct
  base_time(const date_type &, const time_duration_type &, 
            dst_flags = not_dst);
  base_time(special_values);
  base_time(const time_rep_type &);
  // public member functions
  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

  1. базовое время()Дата_тип&День,Время_длительность_тип&td,dst_flagsdst=not_dst
  2. base_timespecial_valuessv;
  3. base_timeconsttime_rep_type&rhs;

base_time public member functions

  1. date_typedateconst;
  2. time_duration_typetime_of_dayconst;
  3. std::струназона_имябоол=ложныйконст;

    Факультативный параметр bool вернет часовой пояс в качестве смещения (т.е. «+07:00»). Пустая строка возвращается для классов, которые не используют Time_zone

    .
  4. std::строказона_abbrevbool=ложнаяконст;

    Факультативный параметр bool вернет часовой пояс в качестве смещения (т.е. «+07:00»). Пустая строка возвращается для классов, которые не используют зону времени

    .
  5. std::stringzone_as_posix_stringconst;
    Пустая строка возвращается для классов, которые не используют зону времени.
  6. boolis_not_a_date_timeconst;
    check to see if date is not a value
  7. boolis_infinityconst;
    проверить, является ли дата одним из значений бесконечности
  8. boolis_pos_infinityconst;
    проверить, является ли дата больше всех возможных дат
  9. boolis_neg_infinityconst;
    проверить, является ли дата больше всех возможных дат
  10. boolявляется_специальнымconst;
    проверить, является ли время особым значением
  11. boolоператор==consttime_type&rhs]const;
    Оператор равенства – другие, генерируемые импульсом::equality_comparable.
  12. boolоператор<consttime_type&rhs]const;
    Оператор равенства – другие, генерируемые импульсом::less_than_comparable.
  13. time_duration_typeоператор-consttime_type&rhs]const;
    разница между двумя разами
  14. time_typeоператор+constdate_duration_type&dd]const;
    добавить продолжительность даты
  15. time_typeоператор+=constdate_duration_type&dd;
  16. time_typeоператор-constdate_duration_type&dd]const;
    вычесть продолжительность даты
  17. time_typeoperator-=constdate_duration_type&dd;
  18. time_typeоператор+consttime_duration_type&td]const;
    добавить продолжительности времени
  19. time_typeоператор+=consttime_duration_type&td;
  20. time_typeоператор-consttime_duration_type&rhs]const;
    вычитают продолжительность времени
  21. time_typeоператор-=consttime_duration_type&td;

PrevUpHomeNext

Статья Class template base_time раздела 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 01:52:45/0.0066308975219727/1