Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::time_put_byname(3)	      C++ Standard Libary      std::time_put_byname(3)

NAME
       std::time_put_byname - std::time_put_byname

Synopsis
	  Defined in header <locale>
	  template< class CharT, class OutputIterator =	std::ostreambuf_itera-
       tor<CharT> >
	  class	time_put_byname	: public std::time_put<CharT, OutputIterator>;

	  std::time_put_byname	is  a  std::time_put  facet which encapsulates
       time and	date
	  formatting rules of the locale specified at its construction.

	  Two specializations are provided by the standard library

	  Defined in header <locale>
	  std::time_put_byname<char, OutputIterator>	narrow/multibyte  time
       formatting
	  std::time_put_byname<wchar_t,	 OutputIterator> wide string time for-
       matting

Member types
	  Member type Definition
	  char_type   CharT
	  iter_type   OutputIterator

Member functions
	  constructor	constructs a new time_put_byname facet
			(public	member function)
	  destructor	destroys a time_put_byname facet
			(protected member function)

       std::time_put_byname::time_put_byname

	  explicit time_put_byname( const char*	name, std::size_t refs = 0 );
	  explicit time_put_byname( const std::string& name, std::size_t  refs
       =  (since C++11)
	  0 );

	  Constructs a new std::time_put_byname	facet for a locale with	name.

	  refs	is used	for resource management: if refs == 0, the implementa-
       tion destroys the
	  facet, when the last std::locale object  holding  it	is  destroyed.
       Otherwise, the
	  object is not	destroyed.

Parameters
	  name - the name of the locale
	  refs - the number of references that link to the facet

       std::time_put_byname::~time_put_byname

	  protected:
	  ~time_put_byname();

	  Destroys the facet.

       Inherited from std::time_put

Member objects
	  Member name Type
	  id (static) std::locale::id

Member functions
	  put invokes do_put
	      (public member function of std::time_put<CharT,OutputIt>)

Protected member functions
	  do_put    formats date/time and writes to output stream
	  [virtual]	 (virtual     protected	    member     function	    of
       std::time_put<CharT,OutputIt>)

Example
	  This example prints current time  using  the	"C"  locale  with  the
       time_put	facet
	  replaced by various std::time_put_byname facets

       // Run this code

	#include <iostream>
	#include <ctime>
	#include <iomanip>
	#include <codecvt>

	int main()
	{
	    std::time_t	t = std::time(nullptr);
	    std::wbuffer_convert<std::codecvt_utf8<wchar_t>>
       conv(std::cout.rdbuf());
	    std::wostream out(&conv);

	    out.imbue(std::locale(out.getloc(),
				  new			     std::time_put_by-
       name<wchar_t>("ja_JP")));
	    out	<< std::put_time(std::localtime(&t), L"%A %c") << '\n';

	    out.imbue(std::locale(out.getloc(),
				 new			     std::time_put_by-
       name<wchar_t>("ru_RU.utf8")));
	    out	<< std::put_time(std::localtime(&t), L"%A %c") << '\n';

	    out.imbue(std::locale(out.getloc(),
				 new			     std::time_put_by-
       name<wchar_t>("sv_SE.utf8")));
	    out	<< std::put_time(std::localtime(&t), L"%A %c") << '\n';
	}

Possible output:
	 20120809 214102
	 . 09 .	2012 21:41:02
	torsdag	tor  9 aug 2012	21:41:02

See also
	  time_put formats contents of struct std::tm for output as  character
       sequence
		   (class template)

http://cppreference.com		  2022.07.31	       std::time_put_byname(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::time_put_byname&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help