config.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------------------+
2 |
3 | Supplied under applicable software license agreement.
4 |
5 | Copyright (c) 2018 Bentley Systems, Incorporated. All rights reserved.
6 |
7 +---------------------------------------------------------------------------------------*/
8 #pragma once
9 
11 #ifndef BEGIN_BENTLEY_NAMESPACE
12  #error "you must include Bentley.h before including anything in stdcxx"
13 #endif
14 
15 // This is the "config" file that is supposed to be generated by the config tool. It is supposed to be platform- and compiler-specific.
16 // We set it up for all platforms.
17 #define _RWSTD_CHAR_BIT 8
18 #define _RWSTD_SIZE_MAX SIZE_MAX
19 #define _RWSTD_SIZE_T size_t
20 
21 #define _RWSTD_USE_STRING_ATOMIC_OPS
22 
23 // don't declare templates to be exported/visible. We control export/visibility explictly at the point of use.
24 #define _RWSTD_NO_EXPORT
25 
26 // define this to ensure that there is only 1 definition -- in the Bentley library -- of static globals such as unsigned long __nullref (which is the singleton empty string)
27 // This is crucial to how the empty string optimization works.
28 #define _RWSTD_NO_COLLAPSE_TEMPLATE_STATICS
29 
30 // Make sure that operations such as __string_ref::_C_inc_ref use atomic operations. This is required in order to make it safe
31 // to copy from a shared Bstdcxx::basic_string in multiple threads, since the copy constructor increments a ref count on a shared __string_ref.
32 #ifndef _REENTRANT
33 #define _REENTRANT
34 #endif
35 

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.