Commit Graph

3317 Commits

Author SHA1 Message Date
a33938e735 build: explicitly link to stdc++fs
We note the dependency ourselves rather than use a global link directive
so that it comes _after_ us. This prevents undefined references (and an
ICE under GCC/LTO)
2019-01-02 13:44:31 +11:00
bce481db0e buffer: move buffer code out of 'memory' namespace 2018-12-19 20:22:18 +11:00
4e25f6e3e2 alloc: eliminate 'raw' allocator distinction 2018-12-19 17:55:24 +11:00
6308166179 alloc/aligned/foreign: actually correct the allocated address 2018-12-19 17:35:09 +11:00
39ed7b27e8 alloc: remove unused allocators 2018-12-19 17:34:35 +11:00
10d5c141f2 alloc: rationalise the 'arena' allocator 2018-12-19 17:16:57 +11:00
4e055f5f0b memory/buffer/traits: add a simple buffer concept 2018-12-19 17:15:51 +11:00
8f2d036123 sarray: allow copy construction 2018-12-19 17:15:24 +11:00
f3886d6089 array: don't use const size member
const members tend to prohibit copy construction
2018-12-19 17:15:24 +11:00
f648ad9810 view: allow multibyte targets for make_byte_view 2018-12-19 17:13:47 +11:00
072dce8891 io: ensure write/pwrite views use pointer iterators 2018-12-19 17:13:06 +11:00
fb7c989487 view: allow construction from anything that has begin/end 2018-12-19 17:12:28 +11:00
499fa4d190 gdb/printers: fix view offsets to start from 0 2018-12-19 17:11:46 +11:00
37d68d5586 m/b/simple: add simple buffer implementation 2018-12-17 15:20:55 +11:00
1dc4b7b530 m/b/paged: enable move constructor 2018-12-17 15:20:31 +11:00
1030656ee6 m/b/paged: bump copyright header 2018-12-17 15:20:21 +11:00
4643beac82 buffer/paged: simplify paged buffer 2018-12-17 14:47:11 +11:00
3925431838 view: add 'covers' test 2018-12-17 14:46:30 +11:00
043dd73677 pointer: rename align as align_up, and add align_down 2018-12-17 14:45:54 +11:00
60bd71a57b view: allow multibyte casts in make_byte_view 2018-12-17 14:45:09 +11:00
cc2d11f102 geom/ops: add stub 'covers' test 2018-12-17 14:44:43 +11:00
78f746c21e pool: use std::size_t in preference to unsigned for capacity 2018-12-17 13:01:54 +11:00
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