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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::underflow_error - std::underflow_error

Synopsis
	  Defined in header <stdexcept>
	  class	underflow_error;

	  Defines  a  type of object to	be thrown as exception.	It may be used
       to report
	  arithmetic underflow errors (that is,	situations where the result of
       a computation
	  is a subnormal floating-point	value)

	  The standard library components do not throw this exception  (mathe-
       matical functions
	  report  underflow  errors  as	specified in math_errhandling).	Third-
       party libraries,
	  however, use this. For example, boost.math throws std::underflow_er-
       ror if
	  boost::math::policies::throw_on_error	is enabled (the	 default  set-
       ting).

	  std-underflow	error-inheritance.svg

					  Inheritance diagram

Member functions
	  constructor	constructs a new underflow_error object	with the given
       message
			(public	member function)
	  operator=	replaces the underflow_error object
			(public	member function)
	  what		returns	the explanatory	string
			(public	member function)

       std::underflow_error::underflow_error

	  underflow_error( const std::string& what_arg );      (1)
	  underflow_error(  const  char*  what_arg  );		    (2)	(since
       C++11)
	  underflow_error(	const	   underflow_error&	 other	    );
       (until C++11)
	  underflow_error(    const    underflow_error&	  other	  )	   (3)
       (since C++11)
	  noexcept;

	  1-2) Constructs the exception	object with  what_arg  as  explanatory
       string that can be
	  accessed through what().
	  3) Copy constructor.
	  If *this and other both have dynamic type std::underflow_error then
	  std::strcmp(what(), other.what()) == 0.
	  (since C++11)

Parameters
	  what_arg - explanatory string
	  other	   - another exception object to copy

Exceptions
	  1-2) May throw std::bad_alloc

Notes
	  Because  copying  std::underflow_error is not	permitted to throw ex-
       ceptions, this
	  message is typically stored  internally  as  a  separately-allocated
       reference-counted
	  string.   This   is	also   why  there  is  no  constructor	taking
       std::string&&: it would have
	  to copy the content anyway.

       std::underflow_error::operator=

	  underflow_error&  operator=(	 const	 underflow_error&   other   );
       (until C++11)
	  underflow_error& operator=( const underflow_error& other ) noexcept;
       (since C++11)

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

Parameters
	  other	- another exception object to assign with

Return value
	  *this

       std::underflow_error::what

	  virtual const	char* what() const throw();   (until C++11)
	  virtual const	char* what() const noexcept;  (since C++11)

	  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 ob-
       tained 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)

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

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

home | help