All content and materials on this
site are provided "as is". TI and its respective suppliers and providers of content make no representations about
the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these
materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a
particular purpose, title and non-infringement of any third party intellectual property right. No license, either
express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a
license from a third party, or a license from TI.
The library implementation adds a second paramter to its definition of the function for the purpose of utilizing SFINAE.
This only affects uses of std::rethrow_if_nested if attempting to describe its signature as a type. As an example, the following attempt to capture the function pointer in a variable will fail to compile:
The standard states that std::rethrow_if_nested have the signature:
template <class E> void rethrow_if_nested(const E& e); // C++14 18.8.6 p9
The library implementation adds a second paramter to its definition of the function for the purpose of utilizing SFINAE.
This only affects uses of std::rethrow_if_nested if attempting to describe its signature as a type. As an example, the following attempt to capture the function pointer in a variable will fail to compile:
void (*p)(const int&) = &std::rethrow_if_nested<int>;
std::rethrow_if_nested does not have standard signature