dwww Home | Manual pages | Find package

__gnu_cxx::recursive_init_error(3cxx)    __gnu_cxx::recursive_init_error(3cxx)

NAME
       __gnu_cxx::recursive_init_error - Exception thrown by
       __cxa_guard_acquire.

SYNOPSIS
       Inherits std::exception.

   Public Member Functions
       virtual const char * what () const noexcept

Detailed Description
       Exception thrown by __cxa_guard_acquire.

       C++ 2011 6.7 [stmt.dcl]/4: If control re-enters the declaration
       recursively while the variable is being initialized, the behavior is
       undefined.

       Since we already have a library function to handle locking, we might as
       well check for this situation and throw an exception. We use the second
       byte of the guard variable to remember that we're in the middle of an
       initialization.

Member Function Documentation
   virtual const char* std::exception::what () const [virtual],  [noexcept],
       [inherited]
       Returns a C-style character string describing the general cause of the
       current error.

       Reimplemented in std::bad_optional_access, std::bad_typeid,
       std::bad_cast, std::bad_exception, std::runtime_error,
       std::logic_error, std::future_error,
       std::experimental::filesystem::v1::filesystem_error,
       std::experimental::fundamentals_v1::bad_any_cast,
       std::bad_function_call, std::bad_weak_ptr,
       std::filesystem::filesystem_error, std::bad_any_cast, std::bad_alloc,
       and std::ios_base::failure.

Author
       Generated automatically by Doxygen for libstdc++ from the source code.

libstdc++                       Sat May 13_gnu3cxx::recursive_init_error(3cxx)

Generated by dwww version 1.14 on Thu Jan 23 21:30:57 CET 2025.