BDLB_SCOPEEXIT_USES_MODERN_CPP

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