7
7
8
8
* [ Introduction] ( #introduction )
9
9
* [ Definitions] ( #definitions )
10
- * [ ENTT_NOEXCEPTION] ( #entt_noexcept )
10
+ * [ ENTT_NOEXCEPTION] ( #entt_noexception )
11
+ * [ ENTT_NOEXCEPT] ( #entt_noexcept )
11
12
* [ ENTT_USE_ATOMIC] ( #entt_use_atomic )
12
13
* [ ENTT_ID_TYPE] ( #entt_id_type )
13
14
* [ ENTT_SPARSE_PAGE] ( #entt_sparse_page )
@@ -40,18 +41,24 @@ will remain stable over time unlike the options below.
40
41
41
42
## ENTT_NOEXCEPTION
42
43
43
- This parameter can be used to switch off exception handling in ` EnTT ` .<br />
44
- To do this, simply define the variable without assigning any value to it. This
45
- is roughly equivalent to setting the compiler flag ` -ff-noexceptions ` .
44
+ Define this variable without assigning any value to it to turn off exception
45
+ handling in ` EnTT ` .<br />
46
+ This is roughly equivalent to setting the compiler flag ` -fno-exceptions ` but is
47
+ also limited to this library only.
48
+
49
+ ## ENTT_NOEXCEPT
50
+
51
+ The purpose of this parameter is to suppress the use of ` noexcept ` by this
52
+ library.<br />
53
+ To do this, simply define the variable without assigning any value to it.
46
54
47
55
## ENTT_USE_ATOMIC
48
56
49
57
In general, ` EnTT ` doesn't offer primitives to support multi-threading. Many of
50
- the features can be split over multiple threads without any explicit control and
51
- the user is the only one who knows if and when a synchronization point is
52
- required.<br />
53
- However, some features aren't easily accessible to users and can be made
54
- thread-safe by means of this definition.
58
+ the feature can be split over multiple threads without any explicit control and
59
+ the user is the one who knows if a synchronization point is required.<br />
60
+ However, some feature aren't easily accessible to users and are made thread-safe
61
+ by means of this definition.
55
62
56
63
## ENTT_ID_TYPE
57
64
@@ -70,9 +77,9 @@ power of 2.
70
77
71
78
## ENTT_PACKED_PAGE
72
79
73
- Similar to sparse arrays, packed arrays of components are paginated as well. In
74
- However, int this case the aim isn't to reduce memory usage but to have pointer
75
- stability upon component creation.<br />
80
+ As it happens with sparse arrays, packed arrays are also paginated. However, in
81
+ this case the aim isn't to reduce memory usage but to have pointer stability
82
+ upon component creation.<br />
76
83
Default size of pages (that is, the number of elements they contain) is 1024 but
77
84
users can adjust it if appropriate. In all case, the chosen value ** must** be a
78
85
power of 2.
@@ -83,8 +90,8 @@ For performance reasons, `EnTT` doesn't use exceptions or any other control
83
90
structures. In fact, it offers many features that result in undefined behavior
84
91
if not used correctly.<br />
85
92
To get around this, the library relies on a lot of asserts for the purpose of
86
- detecting errors in debug builds. By default, it uses ` assert ` internally, but
87
- users are allowed to overwrite its behavior by setting this variable.
93
+ detecting errors in debug builds. By default, it uses ` assert ` internally. Users
94
+ are allowed to overwrite its behavior by setting this variable.
88
95
89
96
### ENTT_DISABLE_ASSERT
90
97
@@ -105,7 +112,7 @@ dedicated storage for them.
105
112
106
113
` EnTT ` mixes non-standard language features with others that are perfectly
107
114
compliant to offer some of its functionalities.<br />
108
- This definition will prevent the library from using non-standard techniques,
109
- that is, functionalities that aren't fully compliant with the standard C++.<br />
115
+ This definition prevents the library from using non-standard techniques, that
116
+ is, functionalities that aren't fully compliant with the standard C++.<br />
110
117
While there are no known portability issues at the time of this writing, this
111
118
should make the library fully portable anyway if needed.
0 commit comments