7d277bb8ff
debug: reduce constexpr tomfoolery where not required
...
don't use compiler fooling tricks where it's not required
2016-08-01 17:23:53 +10:00
0b85632c97
ripemd: panic rather than throw in constexpr
...
calculating the hash should never need to throw; all error cases should
be detectable at construction time. we should panic if we detect such an
error.
this fixes a compilation warning
2016-08-01 17:23:30 +10:00
19bf405710
m4/nc: use new NC_SUBPACKAGE argument form
2016-07-31 14:32:09 +10:00
453bd1666d
m4: delete unused ax m4 files
2016-07-31 14:32:09 +10:00
c26c687912
format: set ostream precision as if for strings
...
ostream conversions are converted to strings anyway, so we should treat
them as such earlier in the process.
2016-07-28 16:13:23 +10:00
fad8181842
format: allow undersize integers for conversion
2016-07-28 16:13:23 +10:00
a40e09ed97
format: write c_str as %s by default, support c_str as %p
2016-07-28 14:18:47 +10:00
b4640d64d8
format: use const-ref over rval-ref for value params
2016-07-28 14:18:47 +10:00
b44e6b8cd7
WIP tap param rename
2016-07-28 14:18:47 +10:00
1e31f5daff
Merge branch 'master' of ssh://nerdcruft.net/var/git/libgim
2016-07-28 13:47:36 +10:00
fe8bbd1b61
coord: add forward declarations
2016-07-28 13:45:44 +10:00
25a9c6fafc
introspection: rename type_string to type_name
2016-07-28 13:45:09 +10:00
ed7c466d8d
tap: protect against exceptions in func eval expect
2016-07-28 13:44:17 +10:00
70170f4205
alloc/arena: disallow implicit copy constructor in test obj
...
fixes a build warning under clang
2016-07-28 13:39:27 +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
f9fb0873d3
build: tidy system headers
2016-07-28 13:39:27 +10:00
ef0fb30c8a
ascii: add constexpr ascii manipulators
2016-07-28 13:39:27 +10:00
c4daffc001
build: add forgotten includes
2016-07-28 13:39:27 +10:00
f793175fdf
json/schema: add 'integer' type support
2016-07-04 15:46:01 +10:00
8694b95cec
json/tree: add is_integer query
2016-07-04 15:45:38 +10:00
e1c115c71a
murmur2: make mixing constexpr and inline
2016-07-01 17:01:21 +10:00
2bf3e3c431
rand/xorshift: add min/max/discard operations
2016-07-01 16:26:25 +10:00
138cac23fe
rand/xorshift: throw on zero seed
...
zero seeds are a hard runtime error which shouldn't be compiled out in
release mode.
2016-07-01 16:25:48 +10:00
f741986c3f
rand/xorshift: simplify result operator specialisations
2016-07-01 16:23:55 +10:00
325a7405b5
rand/lcg: add min/max/discard operations
2016-07-01 16:21:13 +10:00
62482594bd
crypto/ice: fix key length assertion
2016-06-30 18:21:21 +10:00
2e700e6444
rand: add mwc64x generator
2016-06-30 18:20:57 +10:00
3b82757e5c
test/random: use a constant seed
2016-06-30 15:26:45 +10:00
10e0c4f923
json/except: use a human readable key_error message
...
the exception string was completely useless without mentioning "you
tried to dereference an invalid key".
2016-06-29 17:55:44 +10:00
6e533e47b7
hash/keccak: remove unused function
2016-06-29 17:55:30 +10:00
74fc943f53
build: quiesce type conversion warnings
2016-06-29 17:55:12 +10:00
0e29675ef5
cast: tighten trunc_cast type restrictions
...
trunc_cast should be between float/int/uint or to types of lesser
precision. also restrict to fundamental types until we actually test
with arbitrary types.
2016-06-29 17:53:44 +10:00
d51cfe7a34
stream: remove unneeded numeric class
...
explicitly cast before passing to a stream routine if you need it.
2016-06-29 17:52:26 +10:00
b1bc2a816d
json/schema: add path based validate
2016-06-28 16:59:56 +10:00
73c30561af
json/tree: reinstate path based parsers
...
json::tree::node is a fat object, so it's safe to load the source data
from within the parsing function
2016-06-28 16:57:44 +10:00
d7204d7cac
json: remove path based parsers
...
parsers don't store copies of the data, so we can't allow functions that
allocate data themselves.
2016-06-28 15:59:53 +10:00
bf5cab6156
io: move view conversion operator to named function
2016-06-28 15:58:41 +10:00
fef1dc8300
alloc/dynamic: add missing override specifiers
2016-06-28 15:57:23 +10:00
0b128384eb
io: add lval ref-qualifiers to mapped_file members
2016-06-28 14:23:42 +10:00
642317f6a4
json: use templated iterator for parsing from views
2016-06-28 14:16:28 +10:00
194cd6c574
io: add view operator to mapped_file
2016-06-28 14:15:19 +10:00
8c5c98f5cc
io: add const begin/end to mapped_file
2016-06-28 14:14:23 +10:00
94dc6274dc
io_win32: commenting style
2016-06-28 14:12:44 +10:00
ba2c74449f
view: make container constructor explicit and constexpr
2016-06-28 14:09:48 +10:00
722dbbe18f
view: use decltype for make_view type deduction
...
some types will not have iterator typedefs but are capable of providing
iterators. use the types that std::begin and friends return instead of
deducing them ourselves.
2016-06-28 14:06:02 +10:00
1717458c7a
io_posix: public/private order style
2016-06-28 12:21:30 +10:00
51cd9749e9
io_posix: indentation style
2016-06-28 12:21:12 +10:00
d8918d6f2c
log: display error if LOG_LEVEL is invalid
2016-06-24 16:56:44 +10:00
9b4ce6555e
debug: add CHECK_SANITY macro
2016-06-24 15:30:41 +10:00
791b65a8bb
preprocessor: expand MAP macros to 24 arguments
2016-06-24 13:15:01 +10:00