Namespaces
Variants
Views
Actions

Standard library header <ciso646>

From cppreference.com
< cpp‎ | header

This header was originally in the C standard library as <iso646.h>.

Compatibility header, in C defines alternative operator representations which are keywords in C++.

This means that in a conforming implementation, including this header has no effect.

[edit] Notes

In old or nonconforming compilers, using the alternative operator representations may still require including this header.

Including <ciso646> is sometimes used as a technique for obtaining definitions of implementation-specific library version macros without causing other effects.

#include <ciso646>
#ifdef _LIBCPP_VERSION
#error Using LLVM libc++
#elif __GLIBCXX__ // Note: only version 6.1 or newer define this in ciso646
#error Using GNU libstdc++
#elif _CPPLIB_VER // Note: used by Visual Studio
#error Using Dinkumware STL
#else
#error Using an unknown standard library
#endif