156 Commits

Author SHA1 Message Date
Rene Rivera
dc8e70a190 Update build deps. 2024-08-07 23:48:42 -05:00
Rene Rivera
8e982da288 Change all <source> references to <library>. 2024-07-20 19:42:32 -05:00
Rene Rivera
1faf7c7d52 Add missing import-search for cconfig/predef checks. 2024-05-04 23:32:15 -05:00
Rene Rivera
9ca6bab033 Make the library modular usable. 2024-03-11 08:38:17 -05:00
Robert Ramey
0eaf4c8149 fix issues and PRs 2021-05-23 15:56:56 -07:00
Robert Ramey
308e8592d7 added test_concept_integer 2021-05-18 00:21:08 -07:00
Robert Ramey
36dca408ce Rationalized concepts for Numeric and Integer. The concept integer not currently used. 2021-05-16 17:52:47 -07:00
Robert Ramey
bb216bf58e updates to support better concepts 2021-05-11 11:14:49 -07:00
Robert Ramey
6629424a7f Major implementation change: Only Numeric concept still exists. And that is almost all “optional” members. User interface is the same. 2021-05-08 15:05:50 -07:00
Robert Ramey
a742337b94 adjusted Jam and CMake files to eliminate bogus tests failures in boost test matrix. 2020-11-10 10:59:12 -08:00
Robert Ramey
cbb4197a17 cleaned up definitions for constructors and casting operators
passes all tests and examples.
minor documentation fixes
2020-11-07 07:09:37 -08:00
Robert Ramey
c4b0d5fbb6 simplified safe<T> <-> T conversions.
fails test_rational only
2020-11-02 07:23:04 -08:00
Robert Ramey
75df037bc8 fixed various issues raised in mini-review.
a) streaming negative numbers into unsigned integers is now handled properly.
b) documentation improved/corrected to better show the relationship between policies and safe integer types
2020-10-16 21:16:26 -07:00
Giovanni Mascellani
ec2eb0fdcb Fix typo in copyright headers. (#85) 2020-10-14 05:13:36 -07:00
Robert Ramey
34d0a2196d corrected error in safe_range where by minimum was fixed a zero
Improved implementation/definition of error_policies
added test for custom error policy
changed documentation in accordance with the above.
2020-06-23 14:00:31 -07:00
Robert Ramey
9a765f565c cleaned up issues in type requirement issues for integer only operations. 2020-01-20 15:26:50 -08:00
Robert Ramey
94cbf67773 invoked extra warnings for b2 file 2019-12-27 16:09:06 -08:00
Robert Ramey
35bedab3f6 fixed tests for checked_xor, checked_or, checked_add, and checked_and
made all checking of symmetries of test matrices occur at compile time via constexpr.
added -Wextra to warning switches.
2019-12-25 14:37:37 -08:00
Robert Ramey
4a7acbf040 recent changes provoked error in example93. Very interesting as this example was used as a “provably” correct stepper motor implementation in CPPCon 2018. Fixing this led to some changes in casting of checked numbers. Currently passing all tests/examples on my machine. 2019-12-13 16:40:57 -08:00
Robert Ramey
937928693d corrected error in compile time casting for both safe_integer and safe_literal. Added test_cast_constexpr 2019-12-11 22:34:17 -08:00
Andrey Semashev
9b4408a5ac Fix ends of lines, remove executable permission (#72)
* Converted Windows ends of line to UNIX.

Text files in git must have UNIX ends of lines, to be converted to Windows
EOLs on checkout, as required by git settings on the user's system.

* Removed executable permission from header.
2019-06-23 12:12:57 -07:00
Robert Ramey
accdb4062b build documentation from latest boost book in preparation for checkin 2019-05-09 11:13:32 -07:00
Robert Ramey
58db776217 ixed issue related to lack of constexpr in exception with an “inline”
miscellaneous improvements in documentation
improved CMake implementation
2019-05-03 14:03:51 -07:00
Robert Ramey
82bf4359c7 minor changes for warnings
simplify passing of constant strings.
2019-03-01 13:30:18 -08:00
Robert Ramey
369a8dc280 small corrections to address issues in the boost test matrix 2019-02-26 21:11:09 -08:00
Robert Ramey
dec518c4a9 Fixed Exception Policies for trap and ignore. 2019-02-24 09:54:13 -08:00
Robert Ramey
f49e434238 Add tests for constexpr
improved CMake implementation for testing and development
2019-01-10 11:54:18 -08:00
Robert Ramey
e26f76e107 automatic - change variable name in order avoid spurious warnings
exception - comment out unused inline function in order to avoid duplicate symbols during linkage
test_add_native - remove workaround code for MSVC/mp11 issue with too many elements in tuple.  This should be fixed now in develop branch
put workaround code in notepad - just in case
test_range - remove unused variables to avoid spurious warning
2018-12-17 11:55:54 -08:00
Robert Ramey
be981a0628 addressing limit on MSVC template depth 2018-12-16 13:26:42 -08:00
Robert Ramey
34c5645bf1 revert changes made to isolate problem with clang with C++17 set 2018-12-13 20:21:36 -08:00
Robert Ramey
5a4cfdf418 adjustment to try to address clang test failures 2018-12-13 14:51:01 -08:00
Robert Ramey
f7f37ab5d0 adjustment to try to address clang test failures 2018-12-13 12:30:30 -08:00
Robert Ramey
9c88222141 adjustment to try to address clang test failures 2018-12-13 08:56:13 -08:00
Robert Ramey
fe03bde34c adjustment to try to address clang test failures 2018-12-12 15:34:26 -08:00
Robert Ramey
b1273bd84d test change to avoid issue with Clang constexpr detection in test_checked_add_constexpr.cpp
adjust Jamfile to extend depth of template instantiation to 1024
2018-12-12 09:48:10 -08:00
Robert Ramey
56e08ca37d address misc errors which are only showing with clang
specify template stack depth
2018-12-11 15:48:55 -08:00
Robert Ramey
7f8add08b5 add constexpr to test signed in all constexpr tests 2018-12-11 12:32:43 -08:00
Robert Ramey
c03a279bdd Made changes to constexpr tests hoping to reveal more information on constexpr failures in Clang compilers which support C++17.
Also included a couple of pragmas to suppress bogus warnings on earlier Clang platforms.
2018-12-11 09:17:18 -08:00
Robert Ramey
a06d9f7a69 added constexpr tests to checked result operations
added tests for check result < and == operations
correct implementation of some checked result types
added constexpr example
2018-12-10 14:12:47 -08:00
Robert Ramey
899e5c1b48 removed dependency on boost preprocessor
removed last dependency on boost mpl
2018-11-23 15:40:44 -08:00
Robert Ramey
fc38d49245 fix extraneous semi-colons
fix test_trap in Jamfile - should fail compile only
2018-10-15 19:59:04 -07:00
Robert Ramey
1bdf30e2b2 clean up exception catching to suppress warnings.
sync up class and struct
2018-09-30 17:39:33 -07:00
Robert Ramey
b9b394fe43 tribool has been updated so as not to implicitly convert tribool to bool 2018-09-23 14:26:36 -07:00
Robert Ramey
992bd7b311 Changes generated by preparation for CPPCon 2018 2018-09-15 10:48:41 -07:00
Robert Ramey
52e0a2fe03 correction to exception expected
add example8 for difference between two unsigned ints
update documentation - pending issues
2018-09-04 13:37:21 -07:00
Robert Ramey
0e25e2095b alter directory structure to comply with boost requirements 2018-08-16 11:03:38 -07:00
Robert Ramey
e68037cb32 Update documentation to address PRs
update appveyor/travis xml hoping they'll work
2018-08-14 16:46:19 -07:00
Robert Ramey
1537d022d0 ad image and mp11 2018-07-21 15:56:44 -07:00
Robert Ramey
b62ef86e28 Added case study for embedded system
corrections in cpp promotion
added make_safe_literal
separated integers from other types
dropped example91
updated CMakeLists.txt and Jamfile.v2 accordingly
2018-07-21 09:57:35 -07:00
Robert Ramey
024e250b3e Attempt to make appveyor run tests on safe numerics 2018-05-19 17:36:57 -07:00