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

Class template period_formatter

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_formatter

boost::date_time::period_formatter — Not a facet, but a class used to specify and control period formats.

Synopsis

// In header: <boost/date_time/period_formatter.hpp>
template<typename CharT, 
         typename OutItrT = std::ostreambuf_iterator<CharT, std::char_traits<CharT> > > 
class period_formatter {
public:
  // types
  typedef std::basic_string< CharT >                     string_type;    
  typedef CharT                                          char_type;      
  typedef std::basic_string< char_type >::const_iterator const_itr_type; 
  typedef std::vector< std::basic_string< CharT > >      collection_type;
  enum range_display_options { AS_OPEN_RANGE, AS_CLOSED_RANGE };
  // construct/copy/destruct
  period_formatter(range_display_options = AS_CLOSED_RANGE, 
                   const char_type *const = default_period_separator, 
                   const char_type *const = default_period_start_delimeter, 
                   const char_type *const = default_period_open_range_end_delimeter, 
                   const char_type *const = default_period_closed_range_end_delimeter);
  // public member functions
  OutItrT put_period_separator(OutItrT &) const;
  OutItrT put_period_start_delimeter(OutItrT &) const;
  OutItrT put_period_end_delimeter(OutItrT &) const;
  range_display_options range_option() const;
  void range_option(range_display_options) const;
  void delimiter_strings(const string_type &, const string_type &, 
                         const string_type &, const string_type &);
  template<typename period_type, typename facet_type> 
    OutItrT put_period(OutItrT, std::ios_base &, char_type, 
                       const period_type &, const facet_type &) const;
  // public data members
  static const char_type default_period_separator;
  static const char_type default_period_start_delimeter;
  static const char_type default_period_open_range_end_delimeter;
  static const char_type default_period_closed_range_end_delimeter;
};

Description

Предоставляет настройки для следующего:

  • period_separator & #8211; по умолчанию '/

  • period_open_start_delimeter & #8211; по умолчанию

  • period_open_range_end_delimeter – default ')

  • period_closed_range_end_delimeter & #8211; по умолчанию ']

  • display_as_open_range, display_as_closed_range – по умолчанию closed_range

Таким образом, форматирование по умолчанию для периода выглядит следующим образом:

[period.start()/period.last()]

Для типичного периода времени это будет

[2004-Jan-04/2004-Feb-01]

где форматирование даты контролируется аспектом даты

period_formatter public construct/copy/destruct

  1. period_formatter(range_display_optionsrange_option_in=AS_CLOSED_RANGE,
                    constchar_type*constperiod_separator=default_period_separator,
                    constchar_type*constperiod_start_delimeter=default_period_start_delimeter,
                    constchar_type*constperiod_open_range_end_delimeter=default_period_open_range_end_delimeter,
                    constchar_type*constperiod_closed_range_end_delimeter=default_period_closed_range_end_delimeter);
    Конструктор, который устанавливает параметры форматирования периода и #8211; по умолчанию должно быть достаточно в большинстве случаев.

period_formatter public member functions

  1. <
    OutItrTput_period_separator(OutItrT&oitr)const;
    >Помещает символы между элементами периода в поток – по умолчанию является /.
  2. OutItrTput_period_start_delimeter(OutItrT&oitr)const;
    Помещает начальные символы периода в поток и #8211; по умолчанию [.
  3. OutItrTput_period_end_delimeter(OutItrT&oitr)const;
    Помещает конечные символы периода в поток, управляемый с помощью настройки открытого/закрытого диапазона.
  4. <
    range_display_optionsrange_option()const;
    >
  5. voidrange_option(range_display_optionsoption)const;
    Сбросьте контрольный параметр range_option.
  6. <
    voiddelimiter_strings(conststring_type&,conststring_type&,
                          conststring_type&,conststring_type&);
    >
  7. Шаги, переизданный в официальном порядке:

    • поставить стартовый делимитер

      [ORIG_END] -->
    • поставить стартовый элемент

    • Поставить разделитель

    • поставить либо последний, либо конечный элемент в зависимости от настроек диапазона

    • поставить конечный делиметр в зависимости от настроек диапазона

    Таким образом, для типичного периода даты результат может выглядеть следующим образом:

    [March 01, 2004/June 07, 2004]   <-- closed range
    [March 01, 2004/June 08, 2004)   <-- open range
    


PrevUpHomeNext

Статья Class template period_formatter раздела 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 09:52:09/0.0040409564971924/0