Commit Graph

3582 Commits

Author SHA1 Message Date
681768093e hash: use a consistency, less flexible, interface 2018-01-13 15:24:12 +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