c34002ae07
posix/fd: add pwrite wrapper
2018-12-17 12:50:05 +11:00
bb812ba81c
io: add pwrite wrappers
2018-12-17 12:50:05 +11:00
825d359b9d
io: test that mapped_file satisfies is_container_v
2018-12-17 12:50:05 +11:00
b4c8190054
array/parray: assert parray is a container
2018-12-17 12:50:05 +11:00
15de10c19d
types/traits: check for begin/end in is_container_v
2018-12-17 12:50:05 +11:00
5144dd137a
array/parray: Add missing Container typedefs
2018-12-17 12:50:05 +11:00
a7786f04b9
array: move sarray and parray into array directory
2018-12-17 12:50:05 +11:00
a2ef7cb75c
encode/number: set the view's remainder at exit
2018-12-16 18:06:28 +11:00
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