Boost logo

Boost :

From: Yitzhak Sapir (yitzhaks_at_[hidden])
Date: 2003-01-19 09:08:43


date_names_put is defined in date_names_put.hpp as
    template<class Config,
             class charT = char,
             class OutputIterator = std::ostreambuf_iterator<charT> >
    class date_names_put : public std::locale::facet

file greg_facet.hpp defines:

  typedef boost::date_time::date_names_put<greg_facet_config> greg_base_facet;

This makes use of the default charT = char.

Later in that file...

  template <class charT, class traits>
  inline
  std::basic_ostream<charT, traits>&
  operator<<(std::basic_ostream<charT, traits>& os, const date& d)
  {
    typedef boost::date_time::ostream_date_formatter<date, greg_base_facet, charT> greg_ostream_formatter;
    greg_ostream_formatter::date_put(d, os);
    return os;
  }

This function purports to be valid for any charT. However, because greg_base_facet is
a typedef for date_names_put with a default of "char", it looks to me it wouldn't work for
other char types such as wchar_t.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk