File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 4646# define span_CONFIG_SELECT_SPAN ( span_HAVE_STD_SPAN ? span_SPAN_STD : span_SPAN_NONSTD )
4747#endif
4848
49+ #ifndef span_CONFIG_CONTRACT_LEVEL_ON
50+ # define span_CONFIG_CONTRACT_LEVEL_ON 1
51+ #endif
52+
53+ #ifndef span_CONFIG_CONTRACT_VIOLATION_THROWS
54+ # define span_CONFIG_CONTRACT_VIOLATION_THROWS 0
55+ #endif
56+
57+ #ifndef span_CONFIG_CONTRACT_VIOLATION_TERMINATES
58+ # if span_CONFIG_CONTRACT_VIOLATION_THROWS
59+ # define span_CONFIG_CONTRACT_VIOLATION_TERMINATES 0
60+ # else
61+ # define span_CONFIG_CONTRACT_VIOLATION_TERMINATES 1
62+ # endif
63+ #endif
64+
4965#ifndef span_CONFIG_EXTENT_TYPE
5066# define span_CONFIG_EXTENT_TYPE std::size_t
5167#endif
170186# define span_CONFIG_CONTRACT_VIOLATION_THROWS_V 0
171187#endif
172188
173- #if defined( span_CONFIG_CONTRACT_VIOLATION_THROWS ) && span_CONFIG_CONTRACT_VIOLATION_THROWS && \
174- defined ( span_CONFIG_CONTRACT_VIOLATION_TERMINATES ) && span_CONFIG_CONTRACT_VIOLATION_TERMINATES
189+ #if span_CONFIG_CONTRACT_VIOLATION_THROWS && \
190+ span_CONFIG_CONTRACT_VIOLATION_TERMINATES
175191# error Please define none or one of span_CONFIG_CONTRACT_VIOLATION_THROWS and span_CONFIG_CONTRACT_VIOLATION_TERMINATES to 1, but not both.
176192#endif
177193
@@ -494,7 +510,9 @@ span_DISABLE_MSVC_WARNINGS( 26439 26440 26472 26473 26481 26490 )
494510
495511#if ! span_CONFIG( NO_EXCEPTIONS )
496512# include < stdexcept>
497- #elif ! span_CONFIG( CONTRACT_VIOLATION_THROWS_V )
513+ #endif
514+
515+ #if span_CONFIG( CONTRACT_VIOLATION_TERMINATES )
498516# include < exception>
499517#endif
500518
You can’t perform that action at this time.
0 commit comments