Scroll to navigation

std::feholdexcept(3) C++ Standard Libary std::feholdexcept(3)


std::feholdexcept - std::feholdexcept


Defined in header <cfenv>
int feholdexcept( std::fenv_t* envp ) (since C++11)

First, saves the current floating-point environment to the object pointed to by envp
(similar to std::fegetenv), then clears all floating-point status flags, and then
installs the non-stop mode: future floating-point exceptions will not interrupt
execution (will not trap), until the floating-point environment is restored by
std::feupdateenv or std::fesetenv.

This function may be used in the beginning of a subroutine that must hide the
floating-point exceptions it may raise from the caller. If only some exceptions must
be suppressed, while others must be reported, the non-stop mode is usually ended
with a call to std::feupdateenv after clearing the unwanted exceptions.


envp - pointer to the object of type std::fenv_t where the floating-point
environment will be stored

Return value

0 on success, non-zero otherwise.

See also

feupdateenv restores the floating-point environment and raises the previously raise
(C++11) exceptions
fegetenv saves or restores the current floating-point environment
fesetenv (function)
FE_DFL_ENV default floating-point environment
(C++11) (macro constant)