| Home | Libraries | People | FAQ | More

## Class template time_facet

boost::date_time::time_facet —

## Synopsis

    template<typename time_type, typename CharT,
             typename OutItrT = std::ostreambuf_iterator<CharT, std::char_traits<CharT> > >
    class time_facet
      :  : public boost::date_time::date_facet< date_type, CharT, OutItrT >
    {
    public:
      // types
      typedef time_type::date_type                                                          date_type;
      typedef time_type::time_duration_type                                                 time_duration_type;
      typedef boost::date_time::period< time_type, time_duration_type >                     period_type;
      typedef boost::date_time::date_facet< typename time_type::date_type, CharT, OutItrT > base_type;
      typedef base_type::string_type                                                        string_type;
      typedef base_type::char_type                                                          char_type;
      typedef base_type::period_formatter_type                                              period_formatter_type;
      typedef base_type::special_values_formatter_type                                      special_values_formatter_type;
      typedef base_type::date_gen_formatter_type                                            date_gen_formatter_type;

      // construct/copy/destruct
      time_facet(::size_t = 0);
      time_facet(const char_type *,
                 period_formatter_type = period_formatter_type(),
                 const special_values_formatter_type & = special_values_formatter_type(),
                 date_gen_formatter_type = date_gen_formatter_type(),
                 ::size_t = 0);

      // public member functions
      std::locale::id & __get_id(void) const;
      void time_duration_format(const char_type *const ) ;
      virtual void set_iso_format() ;
      virtual void set_iso_extended_format() ;
      OutItrT put(OutItrT, std::ios_base &, char_type, const time_type &) const;
      OutItrT put(OutItrT, std::ios_base &, char_type, const time_duration_type &) const;
      OutItrT put(OutItrT, std::ios_base &, char_type, const period_type &) const;

      // protected static functions
      static string_type
      fractional_seconds_as_string(const time_duration_type &, bool) ;

      static const  char_type * fractional_seconds_format;
      static const  char_type * fractional_seconds_or_none_format;
      static const  char_type * seconds_with_fractional_seconds_format;
      static const  char_type * seconds_format;
      static const  char_type * standard_format;
      static const  char_type * zone_abbrev_format;
      static const  char_type * zone_name_format;
      static const  char_type * zone_iso_format;
      static const  char_type * zone_iso_extended_format;
      static const  char_type * posix_zone_string_format;
      static const  char_type * duration_seperator;
      static const  char_type * duration_sign_always;
      static const  char_type * duration_sign_negative_only;
      static const  char_type * negative_sign;
      static const  char_type * positive_sign;
      static const  char_type * iso_time_format_specifier;
      static const  char_type * iso_time_format_extended_specifier;
      static const  char_type * default_time_format;
      static const  char_type * default_time_duration_format;
      static std::locale::id id;
    };

## Description

Facet used for format-based output of time types This class provides for the use of format strings to output times. In addition to the flags for formatting date elements, the following are the allowed format flags:

- x X => default format - enables addition of more flags to default (ie. "%x %X %z")

- f => fractional seconds ".123456"

- F => fractional seconds or none: like frac sec but empty if frac sec == 0

- s => seconds w/ fractional sec "02.123" (this is the same as "%S%f)

- S => seconds "02"

- z => abbreviated time zone "EDT"

- Z => full time zone name "Eastern Daylight Time"

### `time_facet` construct/copy/destruct

1.     time_facet(::size_t a_ref = 0);

2.     time_facet(const char_type * a_format,
                  period_formatter_type period_formatter = period_formatter_type(),
                  const special_values_formatter_type & special_value_formatter = special_values_formatter_type(),
                  date_gen_formatter_type dg_formatter = date_gen_formatter_type(),
                  ::size_t a_ref = 0);

### `time_facet` public member functions

1.     std::locale::id & __get_id(void) const;

2.     void time_duration_format(const char_type *const  format) ;

3.     virtual void set_iso_format() ;

4.     virtual void set_iso_extended_format() ;

5.     OutItrT put(OutItrT a_next, std::ios_base & a_ios, char_type a_fill,
                   const time_type & a_time) const;

6.     OutItrT put(OutItrT a_next, std::ios_base & a_ios, char_type a_fill,
                   const time_duration_type & a_time_dur) const;

7.     OutItrT put(OutItrT next, std::ios_base & a_ios, char_type fill,
                   const period_type & p) const;

### `time_facet` protected static functions

1.     static string_type
       fractional_seconds_as_string(const time_duration_type & a_time,
                                    bool null_when_zero) ;

| Copyright © 2001-2005 CrystalClear Software, Inc