diff --git a/tz.html b/tz.html index ff72fc4..db0ecf7 100644 --- a/tz.html +++ b/tz.html @@ -26,7 +26,7 @@

Howard E. Hinnant
-2016-10-08
+2016-11-25

Time Zone Database Parser

@@ -57,6 +57,7 @@
  • time_zone
  • zoned_time
  • make_zoned
  • +
  • to_stream
  • format
  • parse
  • utc_clock
  • @@ -1991,35 +1992,75 @@ make_zoned(const std::string& name, const sys_time<Duration>& st) +

    to_stream

    +
    + +
    +template <class CharT, class Traits, class Duration>
    +void
    +to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
    +          const local_time<Duration>& tp);
    +
    +
    +
    + +
    +template <class CharT, class Traits, class Duration>
    +void
    +to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
    +          const sys_time<Duration>& tp);
    +
    +
    +
    + +
    +template <class CharT, class Traits, class Duration>
    +void
    +to_stream(std::basic_ostream<CharT, Traits>& os, const CharT* fmt,
    +          const zoned_time<Duration>& tp);
    +
    +
    +

    +These are lower-level functions with respect to format. These functions +will format directly to a stream. If you use these you will not be able +to align your formatted time stamp within a width respecting the stream's +adjustfield. But in forgoing that utility you may realize some performance +gains over format as nothing in the implementation of to_stream +creates temporary strings or streams to format into. +

    +
    + +
    +

    format

     template <class CharT, class Traits, class Duration>
     std::basic_string<class CharT, class Traits>
    -format(const std::locale& loc, std::basic_string<class CharT, class Traits> format,
    +format(const std::locale& loc, const std::basic_string<class CharT, class Traits>& format,
            const local_time<Duration>& tp);
     
     template <class CharT, class Traits, class Duration>
     std::basic_string<class CharT, class Traits>
    -format(std::basic_string<class CharT, class Traits> format, const local_time<Duration>& tp);
    +format(const std::basic_string<class CharT, class Traits>& format, const local_time<Duration>& tp);
     
     template <class CharT, class Traits, class Duration>
     std::basic_string<class CharT, class Traits>
    -format(const std::locale& loc, std::basic_string<class CharT, class Traits> format,
    +format(const std::locale& loc, const std::basic_string<class CharT, class Traits>& format,
            const zoned_time<Duration>& tp);
     
     template <class CharT, class Traits, class Duration>
     std::basic_string<class CharT, class Traits>
    -format(std::basic_string<class CharT, class Traits> format, const zoned_time<Duration>& tp);
    +format(const std::basic_string<class CharT, class Traits>& format, const zoned_time<Duration>& tp);
     
     template <class CharT, class Traits, class Duration>
     std::basic_string<class CharT, class Traits>
    -format(const std::locale& loc, std::basic_string<class CharT, class Traits> format,
    +format(const std::locale& loc, const std::basic_string<class CharT, class Traits>& format,
            const sys_time<Duration>& tp);
     
     template <class CharT, class Traits, class Duration>
     std::basic_string<class CharT, class Traits>
    -format(std::basic_string<class CharT, class Traits> format, const sys_time<Duration>& tp);
    +format(const std::basic_string<class CharT, class Traits>& format, const sys_time<Duration>& tp);
     
     // const CharT* formats
     
    @@ -2067,10 +2108,12 @@ The format string follows the rules as specified for