Adobe.com
Contents Suites Classes Class Index Member Index

AIConfigClang.h

Go to the documentation of this file.
00001 /*************************************************************************
00002 *
00003 * ADOBE CONFIDENTIAL
00004 *
00005 * Copyright 2017 Adobe
00006 *
00007 * All Rights Reserved.
00008 *
00009 * NOTICE: Adobe permits you to use, modify, and distribute this file in
00010 * accordance with the terms of the Adobe license agreement accompanying
00011 * it. If you have received this file from a source other than Adobe,
00012 * then your use, modification, or distribution of it requires the prior
00013 * written permission of Adobe.
00014 *
00015 **************************************************************************/
00016 
00017 #pragma once
00018 
00019 #ifdef __cplusplus
00020 
00021 #ifdef __clang__
00022 
00023 // Identify libc++ vs libstdc++
00024 #if __has_include(<ciso646>)
00025 #include <ciso646>
00026 #if defined(_LIBCPP_VERSION)
00027 #define AI_LIBCPP 1             // libc++
00028 #endif
00029 #endif
00030 
00031 #if !AI_LIBCPP
00032 #define AI_LIBSTDCXX 1  // libstdc++
00033 #endif
00034 
00035 #if AI_LIBCPP && __has_feature(cxx_nullptr)
00036 #define AI_HAS_NULLPTR
00037 #endif
00038 
00039 #if __has_feature(cxx_static_assert)
00040 #define AI_HAS_STATIC_ASSERT
00041 #endif
00042 
00043 #if AI_LIBCPP && __has_feature(cxx_rvalue_references)
00044 #define AI_HAS_RVALUE_REFERENCES
00045 #endif
00046 
00047 #if __has_feature(cxx_lambdas)
00048 #define AI_HAS_LAMBDAS
00049 #endif
00050 
00051 #if __has_feature(cxx_defaulted_functions)
00052 #define AI_HAS_DEFAULTED_FUNCTIONS
00053 #endif
00054 
00055 #if __has_feature(cxx_deleted_functions)
00056 #define AI_HAS_DELETED_FUNCTIONS
00057 #endif
00058 
00059 #if __has_feature(cxx_explicit_conversions)
00060 #define AI_HAS_EXPLICIT_CONVERSION_OPERATORS
00061 #endif
00062 
00063 #if __has_feature(cxx_noexcept)
00064 #define AI_HAS_NOEXCEPT
00065 #endif
00066 
00067 #if __has_feature(cxx_return_type_deduction)
00068 #define AI_HAS_RETURN_TYPE_DEDUCTION
00069 #endif
00070 
00071 #endif // __clang__
00072 
00073 #endif // __cplusplus


Contents Suites Classes Class Index Member Index
Adobe Solutions Network
 
Copyright © 2014 Adobe Systems Incorporated. All rights reserved.
Terms of Use Online Privacy Policy Adobe and accessibility Avoid software piracy Permissions and Trademarks