6 #ifndef EASTL_INTERNAL_CONFIG_H
7 #define EASTL_INTERNAL_CONFIG_H
43 #ifdef EASTL_USER_CONFIG_HEADER
44 #include EASTL_USER_CONFIG_HEADER
62 #ifndef EASTL_EABASE_DISABLED
63 #include <EABase/eabase.h>
65 #include <EABase/eahave.h>
67 #if defined(EA_PRAGMA_ONCE_SUPPORTED)
94 #define EASTL_VERSION "3.18.00"
95 #define EASTL_VERSION_N 31800
106 #if !defined(EA_COMPILER_NO_STANDARD_CPP_LIBRARY)
107 #if defined(EA_PLATFORM_ANDROID)
115 #define EA_COMPILER_NO_STANDARD_CPP_LIBRARY 1
127 #if !defined(EA_NOEXCEPT)
129 #define EA_NOEXCEPT_IF(predicate)
130 #define EA_NOEXCEPT_EXPR(expression) false
147 #if !defined(EA_CPP14_CONSTEXPR)
148 #if defined(EA_COMPILER_CPP14_ENABLED)
149 #define EA_CPP14_CONSTEXPR constexpr
151 #define EA_CPP14_CONSTEXPR
152 #define EA_NO_CPP14_CONSTEXPR
188 #if defined(EA_DEBUG) || defined(_DEBUG)
189 #define EASTL_DEBUG 1
191 #define EASTL_DEBUG 0
197 #ifndef EASTL_DEV_DEBUG
198 #define EASTL_DEV_DEBUG 0
218 #ifndef EASTL_DEBUGPARAMS_LEVEL
220 #define EASTL_DEBUGPARAMS_LEVEL 2
222 #define EASTL_DEBUGPARAMS_LEVEL 0
252 #ifndef EASTL_IF_NOT_DLL
254 #define EASTL_IF_NOT_DLL(x)
256 #define EASTL_IF_NOT_DLL(x) x
281 #if defined(EA_DLL) && !defined(EASTL_DLL)
287 #if defined(_MSC_VER)
288 #define EASTL_API __declspec(dllimport)
290 #elif defined(__CYGWIN__)
291 #define EASTL_API __attribute__((dllimport))
293 #elif (defined(__GNUC__) && (__GNUC__ >= 4))
294 #define EASTL_API __attribute__ ((visibility("default")))
295 #define EASTL_LOCAL __attribute__ ((visibility("hidden")))
312 #ifndef EASTL_EASTDC_API
314 #if defined(_MSC_VER)
315 #define EASTL_EASTDC_API __declspec(dllimport)
316 #define EASTL_EASTDC_LOCAL
317 #elif defined(__CYGWIN__)
318 #define EASTL_EASTDC_API __attribute__((dllimport))
319 #define EASTL_EASTDC_LOCAL
320 #elif (defined(__GNUC__) && (__GNUC__ >= 4))
321 #define EASTL_EASTDC_API __attribute__ ((visibility("default")))
322 #define EASTL_EASTDC_LOCAL __attribute__ ((visibility("hidden")))
324 #define EASTL_EASTDC_API
325 #define EASTL_EASTDC_LOCAL
328 #define EASTL_EASTDC_API
329 #define EASTL_EASTDC_LOCAL
347 #if !defined(EASTL_EASTDC_VSNPRINTF)
348 #define EASTL_EASTDC_VSNPRINTF 1
375 #ifndef EASTL_NAME_ENABLED
376 #define EASTL_NAME_ENABLED EASTL_DEBUG
380 #if EASTL_NAME_ENABLED
381 #define EASTL_NAME(x) x
382 #define EASTL_NAME_VAL(x) x
384 #define EASTL_NAME(x)
385 #define EASTL_NAME_VAL(x) ((const char*)NULL)
405 #ifndef EASTL_DEFAULT_NAME_PREFIX
406 #define EASTL_DEFAULT_NAME_PREFIX "EASTL"
425 #ifndef EASTL_ASSERT_ENABLED
426 #define EASTL_ASSERT_ENABLED EASTL_DEBUG
431 #ifndef EASTL_DEV_ASSERT_ENABLED
432 #define EASTL_DEV_ASSERT_ENABLED EASTL_DEV_DEBUG
463 #ifndef EASTL_EMPTY_REFERENCE_ASSERT_ENABLED
464 #define EASTL_EMPTY_REFERENCE_ASSERT_ENABLED EASTL_ASSERT_ENABLED
480 #ifndef EASTL_ASSERTION_FAILURE_DEFINED
481 #define EASTL_ASSERTION_FAILURE_DEFINED
485 typedef void (*EASTL_AssertionFailureFunction)(
const char* pExpression,
void* pContext);
507 #if EASTL_ASSERT_ENABLED
508 #define EASTL_ASSERT(expression) \
509 EA_DISABLE_VC_WARNING(4127) \
511 EA_ANALYSIS_ASSUME(expression); \
512 (void)((expression) || (eastl::AssertionFailure(#expression), 0)); \
514 EA_RESTORE_VC_WARNING()
516 #define EASTL_ASSERT(expression)
522 #ifndef EASTL_DEV_ASSERT
523 #if EASTL_DEV_ASSERT_ENABLED
524 #define EASTL_DEV_ASSERT(expression) \
525 EA_DISABLE_VC_WARNING(4127) \
527 EA_ANALYSIS_ASSUME(expression); \
528 (void)((expression) || (eastl::AssertionFailure(#expression), 0)); \
530 EA_RESTORE_VC_WARNING()
532 #define EASTL_DEV_ASSERT(expression)
545 #ifndef EASTL_ASSERT_MSG
546 #if EASTL_ASSERT_ENABLED
547 #define EASTL_ASSERT_MSG(expression, message) \
548 EA_DISABLE_VC_WARNING(4127) \
550 EA_ANALYSIS_ASSUME(expression); \
551 (void)((expression) || (eastl::AssertionFailure(message), 0)); \
553 EA_RESTORE_VC_WARNING()
555 #define EASTL_ASSERT_MSG(expression, message)
571 #ifndef EASTL_FAIL_MSG
572 #if EASTL_ASSERT_ENABLED
573 #define EASTL_FAIL_MSG(message) (eastl::AssertionFailure(message))
575 #define EASTL_FAIL_MSG(message)
593 #define EASTL_CT_ASSERT(expression) static_assert(expression, #expression)
610 #define EASTL_CT_ASSERT_MSG(expression, message) static_assert(expression, message)
631 #ifndef EASTL_DEBUG_BREAK_OVERRIDE
632 #ifndef EASTL_DEBUG_BREAK
633 #if defined(_MSC_VER) && (_MSC_VER >= 1300)
634 #define EASTL_DEBUG_BREAK() __debugbreak()
635 #elif (defined(EA_PROCESSOR_ARM) && !defined(EA_PROCESSOR_ARM64)) && defined(__APPLE__)
636 #define EASTL_DEBUG_BREAK() asm("trap")
637 #elif defined(EA_PROCESSOR_ARM64) && defined(__APPLE__)
640 #define EASTL_DEBUG_BREAK() kill( getpid(), SIGINT )
641 #elif defined(EA_PROCESSOR_ARM64) && defined(__GNUC__)
642 #define EASTL_DEBUG_BREAK() asm("brk 10")
643 #elif defined(EA_PROCESSOR_ARM) && defined(__GNUC__)
644 #define EASTL_DEBUG_BREAK() asm("BKPT 10")
645 #elif defined(EA_PROCESSOR_ARM) && defined(__ARMCC_VERSION)
646 #define EASTL_DEBUG_BREAK() __breakpoint(10)
647 #elif defined(EA_PROCESSOR_POWERPC)
648 #define EASTL_DEBUG_BREAK() asm(".long 0")
649 #elif (defined(EA_PROCESSOR_X86) || defined(EA_PROCESSOR_X86_64)) && defined(EA_ASM_STYLE_INTEL)
650 #define EASTL_DEBUG_BREAK() { __asm int 3 }
651 #elif (defined(EA_PROCESSOR_X86) || defined(EA_PROCESSOR_X86_64)) && (defined(EA_ASM_STYLE_ATT) || defined(__GNUC__))
652 #define EASTL_DEBUG_BREAK() asm("int3")
654 void EASTL_DEBUG_BREAK();
657 void EASTL_DEBUG_BREAK();
660 #ifndef EASTL_DEBUG_BREAK
661 #if EASTL_DEBUG_BREAK_OVERRIDE == 1
663 #define EASTL_DEBUG_BREAK ([]{})
665 #define EASTL_DEBUG_BREAK EASTL_DEBUG_BREAK_OVERRIDE
668 #error EASTL_DEBUG_BREAK is already defined yet you would like to override it. Please ensure no other headers are already defining EASTL_DEBUG_BREAK before this header (config.h) is included
686 #ifndef EASTL_ALLOCATOR_COPY_ENABLED
687 #define EASTL_ALLOCATOR_COPY_ENABLED 0
703 #ifndef EASTL_FIXED_SIZE_TRACKING_ENABLED
704 #define EASTL_FIXED_SIZE_TRACKING_ENABLED EASTL_DEBUG
724 #ifndef EASTL_RTTI_ENABLED
728 #if defined(EA_COMPILER_NO_RTTI) || (defined(_MSC_VER) && defined(EA_HAVE_DINKUMWARE_CPP_LIBRARY) && !(defined(_HAS_EXCEPTIONS) && _HAS_EXCEPTIONS))
729 #define EASTL_RTTI_ENABLED 0
731 #define EASTL_RTTI_ENABLED 1
752 #if !defined(EASTL_EXCEPTIONS_ENABLED) || ((EASTL_EXCEPTIONS_ENABLED == 1) && defined(EA_COMPILER_NO_EXCEPTIONS))
753 #define EASTL_EXCEPTIONS_ENABLED 0
770 #ifndef EASTL_STRING_OPT_EXPLICIT_CTORS
779 #define EASTL_STRING_OPT_EXPLICIT_CTORS 0
782 #ifndef EASTL_STRING_OPT_LENGTH_ERRORS
787 #define EASTL_STRING_OPT_LENGTH_ERRORS EASTL_EXCEPTIONS_ENABLED
790 #ifndef EASTL_STRING_OPT_RANGE_ERRORS
796 #define EASTL_STRING_OPT_RANGE_ERRORS EASTL_EXCEPTIONS_ENABLED
799 #ifndef EASTL_STRING_OPT_ARGUMENT_ERRORS
807 #define EASTL_STRING_OPT_ARGUMENT_ERRORS 0
818 #ifndef EASTL_BITSET_SIZE_T
819 #define EASTL_BITSET_SIZE_T 1
829 #ifndef EASTL_INT128_SUPPORTED
830 #if defined(__SIZEOF_INT128__) || (defined(EA_COMPILER_INTMAX_SIZE) && (EA_COMPILER_INTMAX_SIZE >= 16))
831 #define EASTL_INT128_SUPPORTED 1
833 #define EASTL_INT128_SUPPORTED 0
850 #ifndef EASTL_DEFAULT_ALLOCATOR_ALIGNED_ALLOCATIONS_SUPPORTED
852 #define EASTL_DEFAULT_ALLOCATOR_ALIGNED_ALLOCATIONS_SUPPORTED 0
854 #define EASTL_DEFAULT_ALLOCATOR_ALIGNED_ALLOCATIONS_SUPPORTED 1
865 #ifndef EASTL_INT128_DEFINED
866 #if EASTL_INT128_SUPPORTED
867 #define EASTL_INT128_DEFINED 1
869 #if defined(__SIZEOF_INT128__) || defined(EA_COMPILER_GNUC) || defined(__clang__)
870 typedef __int128_t eastl_int128_t;
871 typedef __uint128_t eastl_uint128_t;
898 #if !defined(EASTL_BITSET_WORD_TYPE_DEFAULT)
899 #if defined(EASTL_BITSET_WORD_SIZE)
900 #if (EASTL_BITSET_WORD_SIZE == 4)
901 #define EASTL_BITSET_WORD_TYPE_DEFAULT uint32_t
902 #define EASTL_BITSET_WORD_SIZE_DEFAULT 4
904 #define EASTL_BITSET_WORD_TYPE_DEFAULT uint64_t
905 #define EASTL_BITSET_WORD_SIZE_DEFAULT 8
907 #elif (EA_PLATFORM_WORD_SIZE == 16)
908 #define EASTL_BITSET_WORD_TYPE_DEFAULT uint128_t
909 #define EASTL_BITSET_WORD_SIZE_DEFAULT 16
910 #elif (EA_PLATFORM_WORD_SIZE == 8)
911 #define EASTL_BITSET_WORD_TYPE_DEFAULT uint64_t
912 #define EASTL_BITSET_WORD_SIZE_DEFAULT 8
913 #elif (EA_PLATFORM_WORD_SIZE == 4)
914 #define EASTL_BITSET_WORD_TYPE_DEFAULT uint32_t
915 #define EASTL_BITSET_WORD_SIZE_DEFAULT 4
917 #define EASTL_BITSET_WORD_TYPE_DEFAULT uint16_t
918 #define EASTL_BITSET_WORD_SIZE_DEFAULT 2
938 #ifndef EASTL_LIST_SIZE_CACHE
939 #define EASTL_LIST_SIZE_CACHE 1
942 #ifndef EASTL_SLIST_SIZE_CACHE
943 #define EASTL_SLIST_SIZE_CACHE 1
966 #ifndef EASTL_MAX_STACK_USAGE
967 #define EASTL_MAX_STACK_USAGE 4000
1001 #ifndef EASTL_VA_COPY_ENABLED
1002 #if ((defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__clang__)) && (!defined(__i386__) || defined(__x86_64__)) && !defined(__ppc__) && !defined(__PPC__) && !defined(__PPC64__)
1003 #define EASTL_VA_COPY_ENABLED 1
1005 #define EASTL_VA_COPY_ENABLED 0
1022 #if !defined(EASTL_OPERATOR_EQUALS_OTHER_ENABLED)
1023 #define EASTL_OPERATOR_EQUALS_OTHER_ENABLED 0
1031 #if !defined(EASTL_LIST_PROXY_ENABLED)
1035 #if defined(EASTL_DEBUG) && !defined(__GNUC__) && (!defined(_MSC_VER) || (_MSC_VER < 1400))
1036 #define EASTL_LIST_PROXY_ENABLED 1
1037 #define EASTL_LIST_PROXY_MAY_ALIAS EASTL_MAY_ALIAS
1039 #define EASTL_LIST_PROXY_ENABLED 0
1040 #define EASTL_LIST_PROXY_MAY_ALIAS
1060 #ifndef EASTL_STD_ITERATOR_CATEGORY_ENABLED
1061 #define EASTL_STD_ITERATOR_CATEGORY_ENABLED 0
1064 #if EASTL_STD_ITERATOR_CATEGORY_ENABLED
1065 #define EASTL_ITC_NS std
1067 #define EASTL_ITC_NS eastl
1086 #ifndef EASTL_VALIDATION_ENABLED
1087 #define EASTL_VALIDATION_ENABLED EASTL_DEBUG
1100 #ifndef EASTL_VALIDATE_COMPARE_ENABLED
1101 #define EASTL_VALIDATE_COMPARE_ENABLED EASTL_VALIDATION_ENABLED
1104 #if EASTL_VALIDATE_COMPARE_ENABLED
1105 #define EASTL_VALIDATE_COMPARE EASTL_ASSERT
1107 #define EASTL_VALIDATE_COMPARE(expression)
1122 #ifndef EASTL_VALIDATE_INTRUSIVE_LIST
1123 #define EASTL_VALIDATE_INTRUSIVE_LIST 0
1143 #ifndef EASTL_FORCE_INLINE
1144 #define EASTL_FORCE_INLINE EA_FORCE_INLINE
1164 #if defined(__GNUC__) && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 303) && !defined(EA_COMPILER_RVCT)
1165 #define EASTL_MAY_ALIAS __attribute__((__may_alias__))
1167 #define EASTL_MAY_ALIAS
1194 #ifndef EASTL_LIKELY
1195 #if defined(__GNUC__) && (__GNUC__ >= 3)
1196 #define EASTL_LIKELY(x) __builtin_expect(!!(x), true)
1197 #define EASTL_UNLIKELY(x) __builtin_expect(!!(x), false)
1199 #define EASTL_LIKELY(x) (x)
1200 #define EASTL_UNLIKELY(x) (x)
1216 #ifndef EASTL_STD_TYPE_TRAITS_AVAILABLE
1278 #ifndef EASTL_COMPILER_INTRINSIC_TYPE_TRAITS_AVAILABLE
1279 #if defined(_MSC_VER) && (_MSC_VER >= 1500) && !defined(EA_COMPILER_CLANG_CL)
1280 #pragma warning(push, 0)
1282 #pragma warning(pop)
1283 #if ((defined(_HAS_TR1) && _HAS_TR1) || _MSC_VER >= 1700)
1284 #define EASTL_COMPILER_INTRINSIC_TYPE_TRAITS_AVAILABLE 1
1286 #define EASTL_COMPILER_INTRINSIC_TYPE_TRAITS_AVAILABLE 0
1288 #elif defined(__clang__) && defined(__APPLE__) && defined(_CXXCONFIG)
1289 #define EASTL_COMPILER_INTRINSIC_TYPE_TRAITS_AVAILABLE 0
1290 #elif defined(__clang__)
1291 #define EASTL_COMPILER_INTRINSIC_TYPE_TRAITS_AVAILABLE 1
1292 #elif defined(EA_COMPILER_GNUC) && (EA_COMPILER_VERSION >= 4003) && !defined(__GCCXML__)
1293 #define EASTL_COMPILER_INTRINSIC_TYPE_TRAITS_AVAILABLE 1
1294 #elif defined(__MSL_CPP__) && (__MSL_CPP__ >= 0x8000)
1295 #define EASTL_COMPILER_INTRINSIC_TYPE_TRAITS_AVAILABLE 1
1297 #define EASTL_COMPILER_INTRINSIC_TYPE_TRAITS_AVAILABLE 0
1319 #ifndef EASTL_RESET_ENABLED
1320 #define EASTL_RESET_ENABLED 0
1337 #ifndef EASTL_MINMAX_ENABLED
1338 #define EASTL_MINMAX_ENABLED 1
1358 #ifndef EASTL_NOMINMAX
1359 #define EASTL_NOMINMAX 1
1383 #ifndef EASTL_STD_CPP_ONLY
1384 #define EASTL_STD_CPP_ONLY 0
1396 #if !defined(EASTL_NO_RVALUE_REFERENCES)
1397 #if defined(EA_COMPILER_NO_RVALUE_REFERENCES)
1398 #define EASTL_NO_RVALUE_REFERENCES 1
1400 #define EASTL_NO_RVALUE_REFERENCES 0
1413 #if !defined(EASTL_MOVE_SEMANTICS_ENABLED)
1414 #if EASTL_NO_RVALUE_REFERENCES
1415 #define EASTL_MOVE_SEMANTICS_ENABLED 0
1417 #define EASTL_MOVE_SEMANTICS_ENABLED 1
1429 #if !defined(EASTL_VARIADIC_TEMPLATES_ENABLED)
1430 #if defined(EA_COMPILER_NO_VARIADIC_TEMPLATES)
1431 #define EASTL_VARIADIC_TEMPLATES_ENABLED 0
1433 #define EASTL_VARIADIC_TEMPLATES_ENABLED 1
1443 #if !defined(EASTL_VARIABLE_TEMPLATES_ENABLED)
1444 #if((EABASE_VERSION_N < 20605) || defined(EA_COMPILER_NO_VARIABLE_TEMPLATES))
1445 #define EASTL_VARIABLE_TEMPLATES_ENABLED 0
1447 #define EASTL_VARIABLE_TEMPLATES_ENABLED 1
1457 #if !defined(EASTL_INLINE_VARIABLE_ENABLED)
1458 #if((EABASE_VERSION_N < 20707) || defined(EA_COMPILER_NO_INLINE_VARIABLES))
1459 #define EASTL_INLINE_VARIABLE_ENABLED 0
1461 #define EASTL_INLINE_VARIABLE_ENABLED 1
1471 #if !defined(EASTL_CPP17_INLINE_VARIABLE)
1472 #if EASTL_INLINE_VARIABLE_ENABLED
1473 #define EASTL_CPP17_INLINE_VARIABLE inline
1475 #define EASTL_CPP17_INLINE_VARIABLE
1488 #if !defined(EASTL_HAVE_CPP11_TYPE_TRAITS)
1491 #if defined(EA_HAVE_DINKUMWARE_CPP_LIBRARY) && (_CPPLIB_VER >= 540)
1492 #define EASTL_HAVE_CPP11_TYPE_TRAITS 1
1493 #elif defined(EA_COMPILER_CPP11_ENABLED) && defined(EA_HAVE_LIBSTDCPP_LIBRARY) && defined(EA_COMPILER_GNUC) && (EA_COMPILER_VERSION >= 4007)
1494 #define EASTL_HAVE_CPP11_TYPE_TRAITS 1
1495 #elif defined(EA_HAVE_LIBCPP_LIBRARY) && (_LIBCPP_VERSION >= 1)
1496 #define EASTL_HAVE_CPP11_TYPE_TRAITS 1
1498 #define EASTL_HAVE_CPP11_TYPE_TRAITS 0
1510 #if defined(__EDG_VERSION__) && (__EDG_VERSION__ >= 403)
1511 #if defined(EA_COMPILER_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS)
1512 #undef EA_COMPILER_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
1525 #if !defined(EASTL_NO_RANGE_BASED_FOR_LOOP)
1526 #if defined(EA_COMPILER_NO_RANGE_BASED_FOR_LOOP)
1527 #define EASTL_NO_RANGE_BASED_FOR_LOOP 1
1529 #define EASTL_NO_RANGE_BASED_FOR_LOOP 0
1544 #ifndef EASTL_ALIGN_OF
1545 #define EASTL_ALIGN_OF alignof
1563 #ifndef EASTL_SIZE_T_32BIT
1564 #define EASTL_SIZE_T_32BIT 0
1567 #ifndef EASTL_SIZE_T
1568 #if (EASTL_SIZE_T_32BIT == 0) || (EA_PLATFORM_WORD_SIZE == 4)
1570 #define EASTL_SIZE_T size_t
1571 #define EASTL_SSIZE_T intptr_t
1573 #define EASTL_SIZE_T uint32_t
1574 #define EASTL_SSIZE_T int32_t
1578 typedef EASTL_SIZE_T eastl_size_t;
1579 typedef EASTL_SSIZE_T eastl_ssize_t;
1599 #define EASTLAddRef AddRef
1602 #ifndef EASTLRelease
1603 #define EASTLRelease Release
1626 #ifndef EASTL_ALLOCATOR_EXPLICIT_ENABLED
1627 #define EASTL_ALLOCATOR_EXPLICIT_ENABLED 0
1630 #if EASTL_ALLOCATOR_EXPLICIT_ENABLED
1631 #define EASTL_ALLOCATOR_EXPLICIT explicit
1633 #define EASTL_ALLOCATOR_EXPLICIT
1646 #if !defined(EASTL_ALLOCATOR_MIN_ALIGNMENT)
1647 #define EASTL_ALLOCATOR_MIN_ALIGNMENT EA_PLATFORM_MIN_MALLOC_ALIGNMENT
1656 #if !defined(EASTL_SYSTEM_ALLOCATOR_MIN_ALIGNMENT)
1657 #if defined(EA_PLATFORM_MICROSOFT) || defined(EA_PLATFORM_APPLE)
1658 #define EASTL_SYSTEM_ALLOCATOR_MIN_ALIGNMENT 16
1660 #define EASTL_SYSTEM_ALLOCATOR_MIN_ALIGNMENT (EA_PLATFORM_PTR_SIZE * 2)
1705 #define EASTLAlloc(allocator, n) (allocator).allocate(n);
1708 #ifndef EASTLAllocFlags
1709 #define EASTLAllocFlags(allocator, n, flags) (allocator).allocate(n, flags);
1712 #ifndef EASTLAllocAligned
1713 #define EASTLAllocAligned(allocator, n, alignment, offset) (allocator).allocate((n), (alignment), (offset))
1716 #ifndef EASTLAllocAlignedFlags
1717 #define EASTLAllocAlignedFlags(allocator, n, alignment, offset, flags) (allocator).allocate((n), (alignment), (offset), (flags))
1721 #define EASTLFree(allocator, p, size) (allocator).deallocate((void*)(p), (size))
1724 #ifndef EASTLAllocatorType
1725 #define EASTLAllocatorType eastl::allocator
1728 #ifndef EASTLDummyAllocatorType
1729 #define EASTLDummyAllocatorType eastl::dummy_allocator
1732 #ifndef EASTLAllocatorDefault
1738 #define EASTLAllocatorDefault eastl::GetDefaultAllocator
1746 #ifndef EASTL_ALLOCATOR_DEFAULT_NAME
1747 #define EASTL_ALLOCATOR_DEFAULT_NAME EASTL_DEFAULT_NAME_PREFIX
1755 #ifndef EASTL_USE_FORWARD_WORKAROUND
1756 #if defined(_MSC_FULL_VER) && _MSC_FULL_VER == 180021005 || (defined(__EDG_VERSION__) && (__EDG_VERSION__ < 405))
1757 #define EASTL_USE_FORWARD_WORKAROUND 1
1759 #define EASTL_USE_FORWARD_WORKAROUND 0
1766 #if EASTL_VARIADIC_TEMPLATES_ENABLED && !defined(EA_COMPILER_NO_TEMPLATE_ALIASES)
1767 #define EASTL_TUPLE_ENABLED 1
1769 #define EASTL_TUPLE_ENABLED 0
1775 #ifndef EASTL_FUNCTION_ENABLED
1776 #define EASTL_FUNCTION_ENABLED 1
1781 #ifndef EASTL_USER_LITERALS_ENABLED
1782 #if defined(EA_COMPILER_CPP14_ENABLED)
1783 #define EASTL_USER_LITERALS_ENABLED 1
1787 EA_DISABLE_CLANG_WARNING(-Wuser-defined-literals)
1788 EA_DISABLE_CLANG_WARNING(-Wreserved-user-defined-literal)
1789 EA_DISABLE_GCC_WARNING(-Wliteral-suffix)
1791 #pragma warning(disable: 4455)
1795 #define EASTL_USER_LITERALS_ENABLED 0
1801 #ifndef EASTL_INLINE_NAMESPACES_ENABLED
1802 #if defined(EA_COMPILER_CPP14_ENABLED)
1803 #define EASTL_INLINE_NAMESPACES_ENABLED 1
1805 #define EASTL_INLINE_NAMESPACES_ENABLED 0
1811 #ifndef EASTL_CORE_ALLOCATOR_ENABLED
1812 #define EASTL_CORE_ALLOCATOR_ENABLED 0
1821 #ifndef EASTL_OPENSOURCE
1822 #define EASTL_OPENSOURCE 0
1827 #if defined(EA_COMPILER_MSVC_2012)
1828 #define EASTL_OPTIONAL_ENABLED 0
1829 #elif defined(EA_COMPILER_MSVC_2013)
1830 #define EASTL_OPTIONAL_ENABLED 0
1831 #elif defined(EA_COMPILER_MSVC_2015)
1832 #define EASTL_OPTIONAL_ENABLED 1
1833 #elif EASTL_VARIADIC_TEMPLATES_ENABLED && !defined(EA_COMPILER_NO_TEMPLATE_ALIASES) && !defined(EA_COMPILER_NO_DEFAULTED_FUNCTIONS) && defined(EA_COMPILER_CPP11_ENABLED)
1834 #define EASTL_OPTIONAL_ENABLED 1
1836 #define EASTL_OPTIONAL_ENABLED 0
1841 #if defined(__clang__)
1842 #if !__is_identifier(__has_unique_object_representations)
1843 #define EASTL_HAS_UNIQUE_OBJECT_REPRESENTATIONS_AVAILABLE 1
1845 #define EASTL_HAS_UNIQUE_OBJECT_REPRESENTATIONS_AVAILABLE 0
1847 #elif defined(_MSC_VER) && (_MSC_VER >= 1913)
1848 #define EASTL_HAS_UNIQUE_OBJECT_REPRESENTATIONS_AVAILABLE 1
1850 #define EASTL_HAS_UNIQUE_OBJECT_REPRESENTATIONS_AVAILABLE 0
1857 #ifndef EASTL_ENABLE_PAIR_FIRST_ELEMENT_CONSTRUCTOR
1858 #define EASTL_ENABLE_PAIR_FIRST_ELEMENT_CONSTRUCTOR 0
1866 #if defined(EA_SYSTEM_BIG_ENDIAN)
1867 #define EASTL_SYSTEM_BIG_ENDIAN_STATEMENT(...) __VA_ARGS__
1869 #define EASTL_SYSTEM_BIG_ENDIAN_STATEMENT(...)
1872 #if defined(EA_SYSTEM_LITTLE_ENDIAN)
1873 #define EASTL_SYSTEM_LITTLE_ENDIAN_STATEMENT(...) __VA_ARGS__
1875 #define EASTL_SYSTEM_LITTLE_ENDIAN_STATEMENT(...)
1882 #if (defined(EA_COMPILER_MSVC) && defined(EA_COMPILER_MSVC_VERSION_14_26) && EA_COMPILER_VERSION >= EA_COMPILER_MSVC_VERSION_14_26) \
1883 || EA_COMPILER_HAS_BUILTIN(__builtin_bit_cast)
1884 #define EASTL_CONSTEXPR_BIT_CAST_SUPPORTED 1
1886 #define EASTL_CONSTEXPR_BIT_CAST_SUPPORTED 0
EA Standard Template Library.
Definition: algorithm.h:288
EASTL_API void AssertionFailureFunctionDefault(const char *pExpression, void *pContext)
Definition: assert.cpp:64
EASTL_API void AssertionFailure(const char *pExpression)
Definition: assert.cpp:90
EASTL_API void SetAssertionFailureFunction(EASTL_AssertionFailureFunction pFunction, void *pContext)
Definition: assert.cpp:54