home | help
std::chrono...t_local_time(3)  C++ Standard Libary std::chrono...t_local_time(3)

NAME
     std::chrono::nonexistent_local_time - std::chrono::nonexistent_local_time

Synopsis
	Defined in header <chrono>
	class nonexistent_local_time;  (since C++20)

	Defines a type of object to be thrown as exception to report that an at-
     tempt was
	made   to   convert   a   nonexistent	std::chrono::local_time   to   a
     std::chrono::sys_time
	without specifying a std::chrono::choose (such as choose::earliest or
	choose::latest).

	This exception is thrown by std::chrono::time_zone::to_sys and functions
     that call
	it (such as the constructors of std::chrono::zoned_time that take a
	std::chrono::local_time).

	std-chrono-nonexistent local time-inheritance.svg

					Inheritance diagram

Member functions
	constructor   constructs the exception object
		      (public member function)
	operator=     replaces the exception object
		      (public member function)
	what	      returns the explanatory string
		      (public member function)

     std::chrono::nonexistent_local_time::nonexistent_local_time

	template< class Duration >

	nonexistent_local_time( const  std::chrono::local_time<Duration>&    (1)
     (since C++20)
	tp,

				const std::chrono::local_info& i );
	nonexistent_local_time(  const	nonexistent_local_time& other )      (2)
     (since C++20)
	noexcept;

	Constructs the exception object.

	1) The explanatory string returned by what() is equivalent to that  pro-
     duced by
	os.str() after the following code:

      std::ostringstream os;
      os << tp << " is in a gap between\n"
	 <<	std::chrono::local_seconds(i.first.end.time_since_epoch())     +
     i.first.offset
	 << ' ' << i.first.abbrev << " and\n"
	 <<   std::chrono::local_seconds(i.second.begin.time_since_epoch())    +
     i.second.offset
	 << ' ' << i.second.abbrev
	 << " which are both equivalent to\n"
	 << i.first.end << " UTC";

	The behavior is undefined if i.result != std::chrono::local_info::nonex-
     istent.
	2) Copy constructor. If *this and other both have dynamic type
	std::chrono::nonexistent_local_time	  then	     std::strcmp(what(),
     other.what()) == 0.

Parameters
	tp    - the time point for which conversion was attempted
	i     - a std::chrono::local_info describing the result of  the  conver-
     sion attempt
	other - another nonexistent_local_time to copy

Exceptions
	May throw std::bad_alloc

Notes
	Because  copying a standard library class derived from std::exception is
     not
	permitted to throw exceptions, this message is typically  stored  inter-
     nally as a
	separately-allocated reference-counted string.

     std::chrono::nonexistent_locale_time::operator=

	nonexistent_locale_time&   operator=(	const	nonexistent_locale_time&
     (since C++20)
	other ) noexcept;

	Assigns the contents with those of other. If *this and other  both  have
     dynamic type
	std::chrono::nonexistent_locale_time	   then      std::strcmp(what(),
     other.what()) == 0
	after assignment.

Parameters
	other - another exception object to assign with

Return value
	*this

     std::chrono::nonexistent_locale_time::what

	virtual const char* what() const noexcept;  (since C++20)

	Returns the explanatory string.

Parameters
	(none)

Return value
	Pointer to a null-terminated string with  explanatory  information.  The
     string is
	suitable  for  conversion  and display as a std::wstring. The pointer is
     guaranteed to
	be valid at least until the exception object from which it  is	obtained
     is destroyed,
	or  until a non-const member function (e.g. copy assignment operator) on
     the
	exception object is called.

Notes
	Implementations are allowed but not required to override what().

     Inherited from std::runtime_error

     Inherited from std::exception

Member functions
	destructor   destroys the exception object
	[virtual]    (virtual public member function of std::exception)
	what	     returns an explanatory string
	[virtual]    (virtual public member function of std::exception)

See also
	ambiguous_local_time exception thrown to report that a local time is am-
     biguous
	(C++20) 	     (class)

http://cppreference.com 	   2024.06.10	   std::chrono...t_local_time(3)

home | help