Commit Graph

91 Commits

Author SHA1 Message Date
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
7ff2f38fd6 debug: allow variadic CHECK_SANITY for aux sanity variables 2018-06-29 17:34:22 +10:00
23e581ad6a debug: allow specialisation of validator for aux validation variables 2018-06-29 13:32:52 +10:00
0eb7fdf5cd debug: add breakpoints on CHECK failures again 2018-05-10 14:53:43 +10:00
4116442e40 debug: don't rely on format for output
debug is relied upon by a great deal of other units so it's very
difficult to include other popular headers like format.hpp without
triggering cyclic dependencies.
2018-05-10 12:44:03 +10:00
9f1f3633e2 debug: catch exceptions by constref in CHECK_THROWS 2018-05-03 17:32:03 +10:00
c5d142ec9a debug: seperate SCOPED_SANITY from CHECK_SANITY
the former is for checking immediately and a scope exit, the latter is
for checking immediately.
2018-04-24 15:12:09 +10:00
f5399450ab debug: add RETURN_UNLESS convenience macro
returns a given value unless a condition is true. primarily useful for
computing is_valid and breaking if one of the preconditions isn't valid.
2018-04-24 15:11:18 +10:00
90244c5347 debug: remove overly complicated specialisation of validator 2018-04-23 15:39:20 +10:00
97f64490cf debug: add WARN_RETURN macro 2018-04-23 15:39:07 +10:00
5ba9da1828 debug: check sanity at end of scope for CHECK_SANITY 2018-04-18 21:43:58 +10:00
42ab7543a7 debug: add CHECK_FINITE assertion 2018-04-16 16:00:32 +10:00
cd06fdcd67 debug: add assertions_enabled variable 2018-04-05 12:13:37 +10:00
2d7e3e5d7d build: prefer iosfwd over iostream 2018-03-22 16:11:13 +11:00
d47f9e0cce debug: write threadid to trace output 2018-03-22 13:20:23 +11:00
0cf530c2de debug: use macros for DEBUG_ONLY macro 2018-03-20 14:49:46 +11:00
0e3fa05f05 build: migrate from ipp files to pure hpp files
ipp files weren't a great way of keeping things clean, and IDEs have a
little trouble dealing with the split configuration. this simplifies
debugging a great deal.
2018-02-28 11:49:13 +11:00
ed7ab6cb9e debug: add validate specialisation for pointers 2018-01-01 13:40:34 +11:00
0351313c36 Merge branch 'master' into coord 2017-11-23 17:24:11 +11:00
34788756d2 build: don't use './' as an include prefix
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11:00
09a624bf88 debug: add unhandled debug function 2017-09-17 12:41:23 +10:00
d0e49fb1a8 debug: expose NDEBUG as a constexpr bool 2017-09-13 12:37:53 +10:00
46d28ba7be debug: add variable escape and memory clobber functions 2017-08-18 11:15:00 +10:00
2b3ef6dbc6 debug: correct CHECK_NEZ error message 2017-08-02 16:17:24 +10:00
167aae1d1e debug: fully qualify almost_equal namespace 2017-05-18 18:20:19 +10:00
353cf839d4 use nested namespace declarations 2017-01-05 15:06:49 +11:00
fde9b281be debug: correct DEBUG_LIMIT print ordering 2016-12-21 20:23:43 +11:00
185942593e debug: consistent spacing 2016-12-21 20:23:43 +11:00
26bab4db71 debug: revert DEBUG_ONLY name change
DEBUG_ONLY is visible to other projects. Changing it to have internal
scope introduces too many build failures currently.
2016-09-28 17:24:01 +10:00
657a407d0e debug: respecte NDEBUG for CHECK macros 2016-09-28 17:20:46 +10:00
00eca4445b debug: use less complex specialistion for validator 2016-08-10 17:36:25 +10:00
d0a797d37e debug: add CHECK_MOD 2016-08-03 18:12:05 +10:00
74284415a7 debug: prefer constref temporaries for CHECK macros 2016-08-03 18:11:29 +10:00
9270a05a8b debug: prefer use of the standard __func__ symbol 2016-08-03 18:11:04 +10:00
8cc4c1e82a format: reimplement format rendering
requires literal string arrays, and implements more of the specifier
specification. does not implement 'n' or '$' specifiers. falls back to
snprintf for real arguments.
2016-07-28 13:39:27 +10:00
9b4ce6555e debug: add CHECK_SANITY macro 2016-06-24 15:30:41 +10:00
af699c5443 debug: correct format specifier for CHECK_{EZ,NEQ} 2016-06-20 13:07:10 +10:00
568af11a0a debug: remove nullary panic function
panic without message tended to promote useless console output. if it's
worth panicing over it's worth writing a oneliner.
2016-04-19 14:50:13 +10:00
df05596524 debug: seperate platform specifics into units 2016-02-15 17:21:01 +11:00
0af631e975 debug: fix CHECK_ENUM format string specifier 2016-02-12 12:57:53 +11:00
f6d8bca9a9 debug: fix condition sense in CHECK_ENUM 2016-02-12 12:57:23 +11:00
a6b86bed92 debug: add unimplemented alias for not_implemented 2016-02-10 13:05:53 +11:00
688efb3a96 debug: add CHECK_ENUM 2016-02-05 14:27:58 +11:00
f1250b139a debug: remove unneeded headers from debug 2016-02-05 14:27:21 +11:00
2224131955 debug: simplify CHECK macros for constexpr safety 2016-02-03 12:04:47 +11:00
de483670c4 debug: rename unusual to warn
unusual is a stupid name
2016-01-20 16:38:01 +11:00
b1880e47b3 debug: fully qualify *_equal comparators 2015-11-17 14:03:32 +11:00
b1bc54ac8c maths: move remaining operations into util namespace 2015-11-16 11:44:07 +11:00
2702c53df4 debug: make panic and friends constexpr 2015-10-29 10:43:41 +11:00