Commit Graph

3637 Commits

Author SHA1 Message Date
1bb566fcda encode/number: add base36 encode 2018-12-16 16:47:08 +11:00
49b8594a73 view: add some brief explanatory comments 2018-12-16 16:25:04 +11:00
8047bf0f83 encode/number: add number decoding for base36 2018-12-16 16:24:45 +11:00
5fedbdbdfe parse: change parsing functions to modify the data view 2018-12-16 13:26:48 +11:00
44760c6869 view: protect functions taking indices with enable_if 2018-12-16 13:26:13 +11:00
4b3b001d18 view: provide accessible typedefs for BeginT and EndT 2018-12-16 13:25:41 +11:00
c573c9fa37 endian: add an auto-converting endian type 2018-12-15 15:38:01 +11:00
259c3de417 bitwise: add 'bitfield' type suitable for unions 2018-12-15 15:38:01 +11:00
6bcbaeb98e bitwise: slight improvements to documentation 2018-12-15 15:38:01 +11:00
b0311f9cd4 endian: remove templates from bswap
It's too hard to trace problems with callers if we use templates here
(most of the callgraph gets truncated so we can't even tell who's
calling us).
2018-12-15 15:38:01 +11:00
07e66f20d3 view: allow longer words for byte views 2018-12-15 15:38:01 +11:00
e1e036e776 hton: avoid using type names as variables 2018-12-15 15:38:01 +11:00
98e9fe45c4 cast: silence warnings when lossless casting to smaller sized enums 2018-12-06 15:58:47 +11:00
9eb2784d84 bitwise: convert popcount template into explicit overloads
popcount, popcountl, and popcountll need to be used for each appropriate
fundamental type. It's easiest to just provide overloads for popcount
for the few cases we have available than to deal with templates.
2018-12-06 15:56:37 +11:00
5627f0f280 bitwise: remove unneeded BITMASK_BITS constants 2018-12-06 15:43:30 +11:00
1a82e4fe76 build: transition from experimental filesystem 2018-12-05 19:12:03 +11:00
f3f59e1f37 except: add string_error mixin 2018-12-04 13:46:23 +11:00
8c4b7ac93c except: add docstrings 2018-12-03 15:33:14 +11:00
ec16afc747 except: add custom base exception 2018-12-03 15:29:21 +11:00
d6b80da18b cast: add sanity cast 2018-12-03 15:29:04 +11:00
9ea44a5063 geom/ops: add variadic aabb calculation 2018-11-30 14:46:41 +11:00
ce3e3d83d3 format: allow implicit conversion from formats to strings 2018-11-29 13:10:02 +11:00
c7cc0dbf4c random: add a trivial test of the default generator
This allows us to ensure some level of coverage using tools like ASan.
2018-11-28 15:24:28 +11:00
c7eb82c993 random: use decltype auto for wrapper functions 2018-11-28 15:24:01 +11:00
532bd3b706 geom: delete rval constructors for samplers
Samplers tend to hold a const reference to the relevant data and so we
want to ensure it's not possible to inadvertantly pass in a reference to
data that is going out of scope.
2018-11-28 15:23:03 +11:00
1e0a87d5df geom/sample: align the interfaces for volume/surface sampling 2018-11-26 15:21:18 +11:00
38906862a3 test: use local style includes where possible
This removes some assumptions that break building the library in
isolation.
2018-11-19 16:45:19 +11:00
f75c8f6c6d types/tagged: use relative paths for test headers 2018-11-19 16:27:02 +11:00
1dcb20fb53 geom/sample: Use correct grammar in comments. 2018-11-19 15:41:55 +11:00
210c963d9f geom: remove template templates from geom::sampler 2018-11-19 15:36:29 +11:00
e26165cea9 algo/search: return the score and the object in minimises 2018-11-19 15:35:56 +11:00
0138b00f87 algo/search: improve minimises documentation 2018-11-19 15:35:42 +11:00
e42f71f9af types/traits: add is_orderable trait 2018-11-19 15:35:05 +11:00
3625a92977 algo: add minimises linear search 2018-11-14 10:21:51 +11:00
a691683c7d types/tagged: add missing include for alignment cast 2018-11-13 15:20:10 +11:00
a948b3d682 preprocessor: add convenience APPEND_COMMA macro 2018-11-13 15:19:53 +11:00
b1d44b1872 preprocessor: use pragma once for include guards
This slightly simplifies some of the generator code.
2018-11-13 15:19:23 +11:00
6b00668692 types: add 'tagged' union type 2018-11-13 12:57:19 +11:00
84ef2c1117 tuple/type: add 'nth' accessor for tuples 2018-11-13 12:56:48 +11:00
8c0c374a53 darray: correct the empty condition 2018-11-09 15:01:35 +11:00
26edf25b82 darray: add insert_n overload 2018-11-08 14:11:14 +11:00
f44c7d5b46 darray: add equality operators 2018-11-08 14:10:50 +11:00
7e8f2df869 darray: add 'remain' query 2018-11-08 14:10:29 +11:00
85a736b9f4 darray: don't zip over unequal ranges 2018-11-08 14:10:15 +11:00
4489fff11c darray: add size_type definition 2018-11-08 14:10:04 +11:00
1ccabff51c darray: add 'full' query 2018-11-08 12:55:37 +11:00
d73c33c4bd darray: add defaulted copy constructors and assignment operators 2018-11-07 16:04:03 +11:00
79edea8f2d darray: add a static capacity, dynamic sized array 2018-11-05 21:31:30 +11:00
ddb0e75962 alloc/arena: add mutating accessor to underlying store 2018-11-02 14:29:19 +11:00
17c9d79c77 iterator: rewrite detail::zip to avoid dangling references 2018-11-01 17:04:50 +11:00