This macro determines if we have a sufficiently functional C++11 or later compiler so the type‐deducing auto with factory‐method can be compiled and works as expected. When the macro is not defined (C++03 form) no utility struct (therefore no factory method) will be defined by this component and the variable definition macros (for Proctor and Guard) will use bdlb::ScopeExitAny. When this macro is defined (C++11 or later that has sufficiently operation rvalue references and type‐deducing auto keyword implementation) the factory method and its utility struct will be defined and the variable definition macros will use auto to determine the type of the bdlb::ScopeExit variable. This macro is only internally in this component header and therefore it is undefined at the end of the file.

Synopsis

Declared in <bdlb_scopeexit.h>

#define BDLB_SCOPEEXIT_USES_MODERN_CPP

Created with MrDocs