Namespaces
Variants
Actions

Standard library header <ciso646> (until C++20), <iso646.h>

From cppreference.com
< cpp‎ | header
 
 
Standard library headers
<cuchar> (C++11)
<string_view> (C++17)
<codecvt> (C++11/17/26*)
<regex> (C++11)
<text_encoding> (C++26)   
<cfenv> (C++11)
<linalg> (C++26)
<numbers> (C++20)
<random> (C++11)
<simd> (C++26)
<stdckdint.h> (C++26)
<chrono> (C++11)
<ccomplex> (C++11/17/20*)
<ciso646> (until C++20)
<cstdalign> (C++11/17/20*)
<cstdbool> (C++11/17/20*)
<ctgmath> (C++11/17/20*)
 

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.

<ciso646> is removed in C++20. Corresponding <iso646.h> is still available in C++20.

Prior to C++20, including <ciso646> was sometimes used as a technique for obtaining definitions of implementation-specific library version macros without causing other effects. As of C++20, the header <version> was added for this purpose.

Run this code
#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 Microsoft STL
#else
#error Using an unknown standard library
#endif

Possible output:

main.cpp:7:2: error: Using Microsoft STL
#error Using Microsoft STL
 ^
1 error generated.
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/header/ciso646&oldid=148777"

AltStyle によって変換されたページ (->オリジナル) /