logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

__gnu_cxx::recursive_init_error.3cxx

Author

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

libstdc++                                        Tue Jul 19 2022           __gnu_cxx::recursive_init_error(3cxx)

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.

       Definition at line 696 of file cxxabi.h.

Member Function Documentation

virtualconstchar*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_typeid, std::bad_cast, std::future_error,
       std::experimental::fundamentals_v1::bad_any_cast, std::bad_function_call, std::bad_weak_ptr,
       std::bad_exception, std::runtime_error, std::logic_error, std::bad_alloc, and std::ios_base::failure.

Name

       __gnu_cxx::recursive_init_error - Exception thrown by __cxa_guard_acquire.

Synopsis

       Inherits std::exception.

   PublicMemberFunctions
       virtual const char * what () const _GLIBCXX_TXN_SAFE_DYN noexcept

See Also