Commit Graph

612 Commits (43fe3c4a1fc8e19c546acb832a5a2e82b0d52d74)

Author SHA1 Message Date
Daniel Kolesa 2c09fc968f inheritance-respecting swap checks 2015-07-11 19:44:58 +01:00
Daniel Kolesa b72e15a8d2 properly test for to_format (respect inheritance) 2015-07-11 19:30:31 +01:00
Daniel Kolesa 7b247c5c7b ADL-respecting to_format 2015-07-11 19:14:12 +01:00
Daniel Kolesa c34e81be56 make swap respect ADL (while still not requiring it) 2015-07-11 18:50:13 +01:00
Daniel Kolesa 82a8ea3902 SFINAE friendly ToString and expansion of any tuple-like type in format 2015-07-11 17:26:41 +01:00
Daniel Kolesa a77f983015 more complete relational operator sets + add lexicographical comparison 2015-07-11 16:08:09 +01:00
Daniel Kolesa 4a871db249 move TupleElementBase out of namespace detail (meant to be overloaded) 2015-07-11 15:17:12 +01:00
Daniel Kolesa cd6e2a96aa tuple additions/fixes 2015-07-11 15:06:42 +01:00
Daniel Kolesa 13ef36ba01 add some tuple funcs 2015-07-11 03:26:57 +01:00
Daniel Kolesa b496d130ab initial implementation of tuples 2015-07-11 02:38:11 +01:00
Daniel Kolesa 3fd83c4bbd fix a subtle bug in AddRvalueReference 2015-07-11 02:29:14 +01:00
Daniel Kolesa 28cbc8f4a9 gcc fixes 2015-07-11 01:22:48 +01:00
Daniel Kolesa 06a91b98f5 add memory::UsesAllocator,UsesAllocatorConstructor 2015-07-10 23:50:01 +01:00
Daniel Kolesa 64cfb5b715 fix 2015-07-10 01:17:08 +01:00
Daniel Kolesa 80ad58f079 use the '#' flag to expand values within range subformats 2015-07-10 00:49:07 +01:00
Daniel Kolesa cfcb35575a saner range format parsing 2015-07-10 00:25:00 +01:00
Daniel Kolesa 30d57aec7d add And, Or and Not type traits (for AND/ORing together integral constants in a SFINAE aware way) 2015-07-09 20:23:35 +01:00
Daniel Kolesa 1654ee84db get rid of full namespace where unambiguous resolution is guaranteed 2015-07-05 23:59:36 +01:00
Daniel Kolesa d2aba4d5b6 minor fix 2015-07-05 21:12:41 +01:00
Daniel Kolesa d4939e73c2 make ranged copy() with output range take rvalue ref 2015-07-05 03:48:38 +01:00
Daniel Kolesa 28a95ce785 better AppenderRange 2015-07-05 03:37:36 +01:00
Daniel Kolesa 133a41850f add AppenderRange + make format() take rvalue reference as first argument + rvalue-ref push for vector 2015-07-04 21:09:33 +01:00
Daniel Kolesa 0265f82998 use RangeOf 2015-07-04 20:43:03 +01:00
Daniel Kolesa 74407be2f8 refactored format.hh 2015-07-04 19:19:49 +01:00
Daniel Kolesa 1bf8f7616f add support for custom format specs using to_format method on object 2015-07-04 18:27:09 +01:00
Daniel Kolesa f105729b94 automatic escaping for strings and chars when printing arrays/ranges 2015-07-04 17:40:07 +01:00
Daniel Kolesa 3bf4e2c750 allow multiple implicit specs in sub-format string 2015-07-04 16:06:04 +01:00
Daniel Kolesa b72515de73 no need for argument pack here 2015-07-04 15:23:54 +01:00
Daniel Kolesa 48a6e1e59d formatting of associative arrays 2015-07-04 14:52:02 +01:00
Daniel Kolesa d883af001f add standard iter for const arrays 2015-07-04 03:20:51 +01:00
Daniel Kolesa 37367b3c09 range format fixes 2015-07-04 02:30:46 +01:00
Daniel Kolesa 87ff73c810 working range formatting 2015-07-04 02:18:21 +01:00
Daniel Kolesa c17de276e3 move format impl into namespace detail 2015-07-04 01:18:14 +01:00
Daniel Kolesa 47a98592f0 allow range format to be specified positionally 2015-07-04 01:14:33 +01:00
Daniel Kolesa 55dc5bdf34 initial parsing for format ranges 2015-07-04 01:04:09 +01:00
Daniel Kolesa 30de752ac8 rename formatted_write to format 2015-07-03 22:43:54 +01:00
Daniel Kolesa b81aacab61 more error checking 2015-07-03 21:55:35 +01:00
Daniel Kolesa 60bf265461 add support for precision on arg on strings 2015-07-03 21:53:09 +01:00
Daniel Kolesa 69b31e439c unify string format 2015-07-03 21:50:02 +01:00
Daniel Kolesa a984ee7026 add support for passing width/precision via argument 2015-07-03 21:46:06 +01:00
Daniel Kolesa 2d21a894cd add support for formatting pointers 2015-07-03 21:19:50 +01:00
Daniel Kolesa bc2bb5e635 complete integer formatting, error checking (return -1 on invalid format) 2015-07-03 21:14:13 +01:00
Daniel Kolesa 0b8d9ec4cf format fixes, cleanups and optimizations; add formatting of floating point numbers 2015-07-03 18:21:05 +01:00
Daniel Kolesa 7e3a755f9a template write_u (use the most efficient unsigned storage) 2015-07-03 01:59:34 +01:00
Daniel Kolesa c6db1a8b47 check formatting character and store it 2015-07-02 20:58:04 +01:00
Daniel Kolesa c5c510d168 separate formatting logic into its own data structure + cleanup + simplify 2015-07-02 19:02:59 +01:00
Daniel Kolesa 4bb689cdc2 parse flags, width, precision and apply them in a few places 2015-07-02 02:00:05 +01:00
Daniel Kolesa 380990c129 don't increment fmt in asserts 2015-07-01 23:15:04 +01:00
Daniel Kolesa 598fcbfa25 use c style formatting for strings (but type-generic, i.e. %s prints any value) 2015-07-01 23:11:42 +01:00
Daniel Kolesa e6e1020702 get_n is now called copy (and doesn't modify itself unless it's InputRange) 2015-07-01 22:32:41 +01:00