959617277f
coord: use consistent technique for assignment operators
2018-01-16 13:31:37 +11:00
e2f0d23a6d
io: ensure we only write views that look like bytes
2018-01-10 18:50:02 +11:00
b8fd18f1cc
io: ensure view writes only take byte sized data
2018-01-10 18:50:02 +11:00
2f31cb5a1d
view: disambiguate equality operators
2018-01-10 18:50:02 +11:00
a2806cfa75
view: add single iterator consume operator
2018-01-10 18:50:02 +11:00
ad02c94511
view: return unsigned types for size
2018-01-10 18:50:02 +11:00
2840810f64
build: remove unnecessary cmake module
2018-01-10 17:51:59 +11:00
9bb2bdbaba
Merge remote-tracking branch 'origin/master'
2018-01-10 17:19:39 +11:00
2713da45f4
format: rework parser for currying support
2018-01-09 16:28:46 +11:00
2af828e82d
time: add iso8601 parsing
2018-01-01 15:50:48 +11:00
9fbfba580a
maths: allow digits10 for 64 bit integers
2018-01-01 15:46:29 +11:00
4bd693a799
maths: allow any integral exponent for pow()
2018-01-01 15:45:56 +11:00
ed7ab6cb9e
debug: add validate specialisation for pointers
2018-01-01 13:40:34 +11:00
dc010d87be
view: add yet more constructors
2017-12-30 13:40:37 +11:00
0f450b5b1c
p/socket: correctly iterate through name lookups
2017-12-30 13:40:04 +11:00
52aa37dbf7
m/b/circular: add pointer rebalancing operation
2017-12-30 13:39:42 +11:00
dd69da09c3
m/b/circular: template based on data type
2017-12-30 13:39:12 +11:00
59b21e67dd
time: more inline implementation into the header
2017-12-30 13:38:11 +11:00
f2fa90d043
io: return views from write wrappers
2017-12-28 17:50:38 +11:00
f94be34ae4
view: add more constructor variants
2017-12-28 17:50:37 +11:00
27a93c0780
traits: add is_contiguous query for containers
2017-12-28 17:50:37 +11:00
d8f3469987
uri: move component queries entirely into header
2017-12-26 17:34:08 +11:00
d86c8b5b2b
uri: define more constructors
2017-12-26 17:34:08 +11:00
9704387fdc
view: use auto return type for indexing
2017-12-26 17:34:08 +11:00
1123cfe409
view: add unused_result warning to redim
2017-12-26 17:34:08 +11:00
e1a41c64de
view: add increment and decrement methods
2017-12-26 17:34:08 +11:00
a67069a333
view: move ostream operator into header
2017-12-26 17:34:08 +11:00
dc51fa2ed0
view: char constructor shouldn't include null characters
2017-12-26 17:34:08 +11:00
14d3169c26
rfc3986: don't enforce actions for rules
...
some users may not care about actions for the top level rules so we
shouldn't enforce them.
2017-12-26 17:34:08 +11:00
a979b253f5
socket: correctly iterate over lookup entries
2017-12-26 17:27:36 +11:00
39894b5619
fd: add read/write methods for views
2017-12-26 17:26:53 +11:00
fe979fc2a9
fd: add reset and release methods
2017-12-26 17:25:58 +11:00
ac685cfdd2
io: expose file-object variant of draining write
2017-12-26 17:24:42 +11:00
ce64396da4
posix/socket: add a convenience wrapper for sockets
2017-12-22 18:38:30 +11:00
cb9e9afcd3
uri: add an `all' accessor for the entire string
2017-12-22 18:37:11 +11:00
d1649d4acf
uri: remove componentwise ostream operator
...
componentwise output was a surprising behaviour for what is sometimes a
string-like object. users can elect to write the entire string via all()
or the components manually as required.
2017-12-22 18:35:47 +11:00
a6af7a8657
posix/fd: add explicit native conversion function
2017-12-22 18:34:30 +11:00
d80855aedf
posix/except: add exception class for EAI_* codes
2017-12-22 18:34:00 +11:00
e437913746
encode/base: add initial base64 experiments
2017-12-22 12:37:04 +11:00
02d3b4dd64
iterator: add unequal_iterator
...
unequal_iterator is a forward iterator that never successfully compares
for equality with other types. useful as the end iterator when one has
an output iterator as the begin iterator of a view.
2017-12-22 12:34:56 +11:00
8d317fd41e
view: allow multiple iterator types
2017-12-22 12:34:25 +11:00
cfe1185621
maths: move log2 into header for constexpr
2017-12-22 12:34:14 +11:00
d0d5ae549e
uri: extract grammar into contained ragel file
...
this will allow us to reference the grammar from other grammars, eg http
parsing.
2017-12-20 12:45:05 +11:00
202c22eee8
view: simplify logical comparator implementation
...
we remove some duplicate and specific logical comparator specialisations
and instead rely on a base view/view comparator implementation by way of
make_view.
2017-12-20 12:31:52 +11:00
cd69bb684a
json: use ragel optimisation flags
2017-12-20 12:29:40 +11:00
17f1ca8f93
view: add char-view less-than operator
2017-12-19 18:18:10 +11:00
62d5dfcf64
view: add container/view equality operators
2017-12-19 18:18:10 +11:00
e61c4f6e98
view: add constructors from nullptr_t
2017-12-19 18:18:10 +11:00
36902f1476
parse: add specialisation for int
2017-12-19 18:18:10 +11:00
bfcd63ec65
posix/fd: add read overloads that take char/byte views
2017-12-19 18:18:10 +11:00