82b0bb2245
array/parray: use size/data constructor ordering
...
This corresponds with the typical ordering in the STL.
2019-01-02 13:45:47 +11:00
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