Commit Graph

380 Commits (1654ee84dbf828fac1916ed4fd6387c426371239)

Author SHA1 Message Date
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
Daniel Kolesa dd157f8be8 fix get_n 2015-07-01 22:26:56 +01:00
Daniel Kolesa 98decde76a more reliable output range check + add a way to omit the ocunt on get_n 2015-07-01 22:21:44 +01:00
Daniel Kolesa 94fc7017cd fix vector from-range ctors + cleanup 2015-07-01 22:03:45 +01:00
Daniel Kolesa e31c227567 add optional range methods get_n/put_n (with accurate default implementations, overridable for performance) 2015-07-01 21:46:58 +01:00
Daniel Kolesa a23525bacf make put() on OutputRanges return bool 2015-07-01 21:12:45 +01:00
Daniel Kolesa f36c35afae add StringBase::length which will eventually deal with unicode and return the number of codepoints 2015-07-01 21:03:44 +01:00
Daniel Kolesa c86d31e5c2 use 64bit file offsets and _ftelli64/_fseeki64 on Windows + specialize some FileStream methods 2015-07-01 21:02:01 +01:00
Daniel Kolesa 1de58ac2b6 make most funcs taking strings allocator independent 2015-07-01 20:20:37 +01:00
Daniel Kolesa ea1325543d more formatter work, type traits fixes, formatting on all streams 2015-07-01 18:51:39 +01:00
Daniel Kolesa b5748267d9 namespace detail stuff 2015-07-01 02:29:42 +01:00
Daniel Kolesa 011aea6fbb initial format string support 2015-07-01 02:23:07 +01:00
Daniel Kolesa 809e4825ae fixes 2015-07-01 01:46:01 +01:00
Daniel Kolesa b51e84c8b0 hash char */const char * as a string by default (to avoid that, cast to byte ptr) 2015-06-30 23:30:48 +01:00
Daniel Kolesa 06eeec1ca7 schar/uchar -> sbyte/byte, extend write/writeln on Stream, rename Stream::read/write to read/write_bytes to clear ambiguities and overloads, fixes 2015-06-30 23:07:28 +01:00
Daniel Kolesa 5ace1c4777 vararg and type-generic octa::write(ln) 2015-06-30 22:41:17 +01:00
Daniel Kolesa 656ddb76af split filestreams into octa/io.hh + add more funcs, methods etc 2015-06-30 19:25:40 +01:00
Daniel Kolesa 1e7640031a delete default ctors on all core range types 2015-06-29 23:33:20 +01:00