-
Notifications
You must be signed in to change notification settings - Fork 35
Interoperability
Thomas Kemmer edited this page Nov 21, 2017
·
1 revision
BALL internally uses preprocessor macros to distinguish whether a particular header file or language feature is available on a supported target platform. These macros are not intended for use outside of BALL and subject to change without deprecation across BALL releases.
BALL_HAS_MODE_T
- Prerequisite:
mode_ttype is available in<sys/stat.h> - Unsupported platforms: MSVC (all versions; current: 2017)
BALL_HAS_NOEXCEPT
- Prerequisite:
noexceptkeyword is available - Unsupported platforms: MSVC 2013
BALL_HAS_STD_STRING_CONST_ITERATOR_FUNCTIONS
- Prerequisite: some
std::stringfunctions allowconst_iteratorarguments instead ofiterator - Unsupported platforms: GCC 4.8 (CentOS 7, Ubuntu 14.04 LTS)
BALL_HAS_STD_STRING_CONST_ITERATOR_INITLIST_INSERT
- Prerequisite:
std::stringoffersinsert(const_iterator, initializer_list<char>)function - Unsupported platforms: GCC (all versions; current: 7.2)
BALL_HAS_THREAD_LOCAL
- Prerequisite: Thread-local storage support via
thread_localkeyword - Unsupported platforms: MSVC 2013