Commit Graph

191 Commits

Author SHA1 Message Date
Lorenzo Caminiti
22dfb16d32 made specify copy operations private so using auto instead of check generates compiler error (add tests for that) 2016-12-20 06:19:08 -08:00
Lorenzo Caminiti
c5df888fc4 passing all tests with all link combinations shared, static, and header 2016-12-15 02:15:50 -08:00
Lorenzo Caminiti
ca2071b6a3 added test for throwing from pre and post, added .except() to tests from thorowing from old 2016-12-13 20:30:53 -08:00
Lorenzo Caminiti
3000dde9c2 built all tests and examples on msvc with all contract_no combinations 2016-12-12 21:07:46 -08:00
Lorenzo Caminiti
fdfe16132d fixed a bug on mixed optional result type exposed by the latest version of boost 2016-11-27 11:53:37 -08:00
U-CODE1\310206419
58b8b96a2a fixed a bug with old value copies from .old(...) by storing them in a queue instead of a stack (same was already done for old value copies from init code outside .old(...)) 2016-11-26 19:09:03 -08:00
Lorenzo Caminiti
a98c03a189 moved config macros out of all inlined headers that can be compiled as part of contract.cpp 2016-10-11 07:09:47 -07:00
Lorenzo Caminiti
97c31312c0 moved all config macros out of inlined/detail/checking.hpp 2016-10-11 01:39:29 -07:00
Lorenzo Caminiti
b36dc64d18 resolved a few TODOs, also fixing old for except of public functions virtual calls 2016-09-27 20:54:23 -07:00
Lorenzo Caminiti
b702d4b13c added NO_EXCEPTS to boost_contract_no feature and built all tests and examples for all compilers 2016-09-06 20:31:05 -07:00
Lorenzo Caminiti
ff02b449dd added .except(...), renamed old_ptr_noncopyable to old_ptr_if_copyable, and renamed OLDOF to OLD 2016-08-21 09:54:10 -07:00
Lorenzo Caminiti
a2ac52ffd7 added check (block invariants) and a few other tests 2016-08-03 06:22:29 -07:00
Lorenzo Caminiti
9949f0c60b added copyright info to all source files 2016-06-11 12:41:57 -07:00
Lorenzo Caminiti
b70b886140 resolved almost all todos and recompiled examples and tests 2016-06-11 11:24:16 -07:00
Lorenzo Caminiti
21f228d80b resolved most todo and recompiled most examples and tests 2016-06-04 09:41:03 -07:00
Lorenzo Caminiti
128a42c004 finished reviewing first draft of reference section 2016-05-30 10:36:52 -07:00
Lorenzo Caminiti
3fef54b33e finished very first draft of reference docs 2016-05-18 19:51:45 -07:00
Lorenzo Caminiti
1aa41fd14e finished example section. recompiled all tests and examples. 2016-05-12 08:22:34 -07:00
Lorenzo Caminiti
0c8a75df83 finished advanced topic section of docs 2016-05-05 16:14:37 -07:00
Lorenzo Caminiti
b18ef53e22 starting to review advanced section of docs 2016-04-28 08:15:27 -07:00
Lorenzo Caminiti
a5c462ccd2 finished updating docs up to tutorial section 2016-04-08 20:16:02 -07:00
Lorenzo Caminiti
02ed8498ab add c++11 move test and recompiled all tests 2016-03-08 07:46:18 -08:00
Lorenzo Caminiti
2939478f72 added test for unions 2016-03-06 08:56:42 -08:00
Lorenzo Caminiti
9754d1cf05 renamed aux to detail 2016-03-01 10:00:31 -08:00
Lorenzo Caminiti
e7a8c6a502 removed CONFIG infix for all config macros (to better conform to Boost's naming conventions) 2016-02-29 07:15:05 -08:00
Lorenzo Caminiti
b21744fbe1 added all copyrights and rebuilt all tests with msvc, gcc, and clang with all contracts on/off 2016-02-20 10:06:57 -08:00
Lorenzo Caminiti
b1249bc6bc added copyright and fixed all includes 2016-02-08 22:14:59 -08:00
Lorenzo Caminiti
fe3c78ad90 started to compile this lib as dll 2016-01-30 13:09:33 -08:00
Lorenzo Caminiti
1ab47c587c added max_bases test. renamed aux::test to test::aux. 2016-01-27 08:10:48 -08:00
Lorenzo Caminiti
8462c58993 tested that removing all friend relationships does not reduce compilation time at all 2016-01-24 14:51:53 -08:00
Lorenzo Caminiti
035305aff4 tested function overloads and protected bases 2016-01-24 09:19:30 -08:00
Lorenzo Caminiti
50096d396c supporting configurable public function arity using variadic templates when available, or preprocessor metaprogramming otherwise 2016-01-22 08:14:07 -08:00
Lorenzo Caminiti
022e1617b4 removed all possible code when contracts off 2016-01-13 07:46:46 -08:00
Lorenzo Caminiti
b23f00d498 disabled more code when contracts are off 2016-01-10 20:49:08 -08:00
Lorenzo Caminiti
ff8b35f9f2 started to implement and test contract compilation on/off 2015-12-24 22:32:35 -08:00
Lorenzo Caminiti
d1e1765cdb renamed ..._failed to ..._fail 2015-12-16 21:30:22 -08:00
Lorenzo Caminiti
ea5c6acd95 checked classes for copyable/non-copyable 2015-12-15 15:24:09 -08:00
Lorenzo Caminiti
ec79700b26 added tests for throwing from .old() 2015-12-15 11:51:44 -08:00
Lorenzo Caminiti
07248b63ea finished with all decl_* tests 2015-12-15 10:41:34 -08:00
Lorenzo Caminiti
af37a98f78 fixed and tested run-time error when missing contract guard 2015-12-03 08:01:00 -08:00
Lorenzo Caminiti
5c047bccb2 started testing with/without pre/post/inv decl. fixed inv not checked on exit when assertion failure handlers throw. made dtors noexcept(false) for c++11 so assertion failure can throw. fixed has_static_inv to not condier static_inv inherited from base classes. 2015-12-02 07:25:31 -08:00
Lorenzo Caminiti
8e9d7474f1 added const volatile invariants 2015-11-11 07:47:36 -08:00
Lorenzo Caminiti
72eb227bcf added access for public functions and constructors, destructors done next 2015-11-09 07:59:38 -08:00
Lorenzo Caminiti
438cb53dc9 returning null old ptr when old value type is not copy constructible 2015-11-06 08:08:16 -08:00
Lorenzo Caminiti
a79f6d3c13 fixed virtual optional result type and simplified inv failure handlers 2015-11-04 21:20:21 -08:00
Lorenzo Caminiti
9b7d4e5fa0 fixed mixed boost::optional and non result types 2015-11-02 06:54:50 -08:00
Lorenzo Caminiti
60213457ea updated todos 2015-10-30 17:04:51 -07:00
Lorenzo Caminiti
a88e67c131 added deep search of inheritance graph 2015-10-29 19:51:05 -07:00
Lorenzo Caminiti
35d14e5e61 renamed make_old() to null_old() 2015-10-25 09:33:05 -07:00
Lorenzo Caminiti
edad097a5d tested old-of under a few corner cases and renamed oldof.hpp to old.hpp 2015-10-23 19:38:09 -07:00
Lorenzo Caminiti
c594323bef added .old(...) 2015-10-23 15:46:47 -07:00
Lorenzo Caminiti
f42662e44c completed first revised draft of docs 2015-06-30 17:56:22 -07:00
Lorenzo Caminiti
2fb2ddc367 started advanced topics section in the docs 2015-06-27 08:03:34 -07:00
Lorenzo Caminiti
be3a974847 implemented call_if 2015-06-13 21:19:20 -07:00
Lorenzo Caminiti
f0ca795867 replaced free/private/protected_function with just function and started to program n1962 examples 2015-06-11 08:02:46 -07:00
Lorenzo Caminiti
7c9db6c58f renamed ..._member to ..._function, continuing to program more examples 2015-06-09 18:50:31 -07:00
Lorenzo Caminiti
0445983d4e finished meyer examples, started mitchell examples 2015-06-06 21:17:25 -07:00
Lorenzo Caminiti
aac3e56198 added a version of check_guard (but without any thread sync yet) 2015-06-05 08:28:41 -07:00
Lorenzo Caminiti
d59d75370b finshed a first round of test, starting examples 2015-06-04 07:04:12 -07:00
Lorenzo Caminiti
3e1fe20b01 subcontracting with virtual_, override_f, old and result values 2015-05-31 10:26:02 -07:00
Lorenzo Caminiti
a9eec21db3 added virtual result 2015-05-30 11:10:58 -07:00
Lorenzo Caminiti
7bb102aa82 impl virtual_* 2015-05-25 15:37:52 -07:00
Lorenzo Caminiti
0c90570e6c committing all decl_function stuff, before going back to virtual_ 2015-05-19 08:32:16 -07:00
Lorenzo Caminiti
343b832779 generated doxygen include diagram. started testing feature-by-feature 2015-05-14 08:16:40 -07:00
Lorenzo Caminiti
effcbf157e started to implement bind for free and member functions, but without subcontracting yet 2015-05-10 20:37:01 -07:00
Lorenzo Caminiti
71ed05596c fixed virtual_ v 2015-05-06 19:05:08 -07:00
Lorenzo Caminiti
3d79a32068 fixed oldof for virtual calls 2015-05-05 08:32:20 -07:00
Lorenzo Caminiti
2d4cf6bfdf added failure handlers and re-run all tests 2015-04-27 20:54:30 -07:00
Lorenzo Caminiti
3146d3fa3d added oldof test, renamed type to scoped 2015-04-25 22:37:35 -07:00
Lorenzo Caminiti
524d58ac9a compiling all tests after some reorganization 2015-04-25 19:33:48 -07:00
Lorenzo Caminiti
ab26a9fcc6 moved set/ to public api, added oldof, and started adding failure exceptions/handlers 2015-04-25 12:29:00 -07:00
Lorenzo Caminiti
cbd9bae6b9 added setters so pre/post cannot be set twice, ctors and dtors only allow to set post, etc. 2015-04-21 23:56:37 -07:00
Lorenzo Caminiti
070efff47e reorganized aux_/ code in subdirs/namespaces 2015-04-21 18:36:44 -07:00
Lorenzo Caminiti
6c0da61a69 eliminated switch on function_key so impl code is more readable 2015-04-20 21:09:24 -07:00
Lorenzo Caminiti
382b6f6906 tested protected and private member, and free function 2015-04-19 20:26:06 -07:00
Lorenzo Caminiti
1408423ccb testing public mebmer (virtual and static), constructor, and destructor 2015-04-19 19:32:07 -07:00
Lorenzo Caminiti
b2b6a7cc18 removed precprocessor declaration traits parsing macros 2015-04-12 20:07:47 -07:00
Lorenzo Caminiti
67a2525146 about to remove macro code 2015-04-12 20:01:32 -07:00
Lorenzo Caminiti
fc059086af cleaned up basic subcontracting test 2015-04-08 19:45:53 -07:00
Lorenzo Caminiti
f1ba7e627c completed first rev of push_back subscontracting example 2015-04-07 07:51:56 -07:00
Lorenzo Caminiti
5c9d4f89b3 started to program contract non-macro apis 2015-04-02 20:27:21 -07:00
Lorenzo Caminiti
1759b6f962 starting to try to program non-decl macros instead 2015-04-02 09:51:00 -07:00
Lorenzo Caminiti
4a871dc233 started to program macros to expand constrated class and function code 2015-03-28 16:45:01 -07:00
Lorenzo Caminiti
73f2c7ece0 added trailing EMPTY to aux_/type.hpp PARSE macros 2015-03-14 06:47:25 -07:00
Lorenzo Caminiti
be19ee735e removed pp/traits/utility 2015-03-14 01:50:42 -07:00
Lorenzo Caminiti
39bbdcc4bd moved all from preprocessor/traits/utility to preprocessor/traits/aux_ 2015-03-13 20:53:36 -07:00
Lorenzo Caminiti
9761ce13f7 resolved a few todos 2015-03-13 11:22:04 -07:00
Lorenzo Caminiti
13a0dbd594 renamed kind to key 2015-03-13 02:36:00 -07:00
Lorenzo Caminiti
3165c63fd2 completed first version of both function and class pp traits 2015-03-12 11:44:42 -07:00
Lorenzo Caminiti
13d2570cb9 tested pp-postconditions 2015-03-04 19:43:21 -08:00
Lorenzo Caminiti
15e24b1915 tested pp-postconditions 2015-03-04 19:38:58 -08:00
Lorenzo Caminiti
bd5d5133b2 finishing up postcondition assertion parsing 2015-02-28 16:07:48 -08:00
Lorenzo Caminiti
80b78730ab started to parse if-assertion 2015-02-12 18:32:01 -08:00
Lorenzo Caminiti
0a50c5e0be started to parse if-assertion 2015-02-12 18:16:37 -08:00
Lorenzo Caminiti
4c53774633 started to parse if-assertion 2015-02-12 18:14:03 -08:00
Lorenzo Caminiti
877e526d54 started to parse if-assertion 2015-02-12 18:13:14 -08:00
Lorenzo Caminiti
5d3b6c46c3 updated pp-traits expansions 2015-02-03 11:55:48 -08:00
Lorenzo Caminiti
785d09f03c testing iswitch and expansion 2015-01-28 21:08:58 -08:00
Lorenzo Caminiti
20b9a88ce3 pasring postconditions 2015-01-28 13:22:28 -08:00
Lorenzo Caminiti
8757a62247 pasring postconditions 2015-01-28 13:05:06 -08:00