q66
baf0dd4ca6
MB_CUR_MAX is not a constant
2017-11-12 20:25:58 +01:00
q66
db28b66892
workaround the awful bullshit when formatting numbers under locale
...
Because of the C++ locale APIs and libstdc++ being worthless trash,
we need to resort to this kind of nonsense in order to avoid
gibberish when dealing with grouping and decimal separators.
Libc++ gets this right (comes up with ASCII style representations
when requesting locale facets dealing with char type) but for some
dumb reason libstdc++ comes up with representations that are
garbage even when using a UTF-8 locale, so I guess we'll deal
with it this way for the time being...
That said, all of this code is probably broken on systems that
don't use Unicode and honestly I don't care.
2017-11-12 20:14:26 +01:00
q66
84572dfd01
use C locale in I/O and format by default
...
Should probably get rid of state in locale-aware APIs, too.
2017-11-12 19:15:43 +01:00
q66
f882292f2a
get rid of gcc specific workarounds
2017-11-10 20:19:25 +01:00
q66
67525af4e5
gcc/libstdc++ 7.x fixes
2017-11-03 12:56:34 +01:00
q66
2ce488002a
use <> for includes everywhere
2017-06-19 16:59:36 +02:00
q66
a191164700
make global constexpr variables inline
2017-05-06 15:09:44 +02:00
q66
d6a2a3f07c
include all examples in generated docs
2017-05-03 02:14:27 +02:00
q66
b1f207bd3b
hide appender_range definition
2017-04-17 17:07:24 +02:00
q66
313f637e9b
hide most wrapper ranges in detail namespace
2017-04-14 03:35:30 +02:00
q66
1525edf3d7
type/include cleanup
2017-04-09 16:44:45 +02:00
q66
62676f4222
rename octastd to libostd
2017-04-06 20:14:52 +02:00
q66
4a7baa40a0
remove types.hh
2017-04-04 00:30:07 +02:00
q66
a4523027c2
format doc fixes
2017-04-03 17:53:41 +02:00
q66
d4edd42596
detailed docs for format module
2017-04-02 18:24:30 +02:00
q66
b86df5c016
move over to standard filesystem module (from std::experimental or std)
2017-03-10 18:31:34 +01:00
q66
d33ca88d0a
fix bug with bool writing in format
2017-03-04 18:24:18 +01:00
q66
f13f11f54e
format helper func with locale support
2017-03-01 19:19:46 +01:00
q66
9f286f88f3
do not use digit grouping for pointers
2017-02-26 04:23:51 +01:00
q66
2f4f9dd440
prevent overflow when grouping is in place
2017-02-26 03:28:23 +01:00
q66
7164019e22
locale digit grouping support for integer format
2017-02-26 03:21:26 +01:00
q66
db991ca03d
locale-aware format_spec
2017-02-26 01:04:33 +01:00
q66
98fb0e3e2e
fix escaping for default range print
2017-02-26 00:32:35 +01:00
q66
ccb0564bfc
clean up range writer
2017-02-26 00:30:07 +01:00
q66
bd5aa4795c
custom formatting is now done with format_traits
...
Allows definition for any type, even in any foreign namespace.
2017-02-25 19:17:08 +01:00
q66
e714e5f3fb
add new format flag @, make it escape always (never toggle)
2017-02-25 18:56:41 +01:00
q66
e90b0868aa
make the dash flag toggle current escaping mode in format
2017-02-25 17:33:18 +01:00
q66
81ccca0e52
ios based formatting of floats (no heap alloc and basic locale awareness)
2017-02-25 04:03:36 +01:00
q66
602aa7f182
clean up format
2017-02-22 03:32:03 +01:00
q66
2665c20351
support for precision in integer format
2017-02-21 18:22:25 +01:00
q66
1e1f6d63a2
support for formatting tuples in format strings via %<contents%>
2017-02-20 20:14:26 +01:00
q66
3f983afae5
support for printing iterable objects and tuples with %s
2017-02-20 19:36:55 +01:00
q66
3aa5db5b1c
do not implicitly to_string as a fallback in format
2017-02-20 18:31:08 +01:00
q66
5a76f29dea
revamped format module (more flexible, cleaner api)
2017-02-20 18:04:03 +01:00
q66
d6219046be
add range_put_all which can be overloaded with special optimizations
2017-02-19 18:14:09 +01:00
q66
e4dc237f4d
revamped output ranges and input range pop funcs
2017-02-19 16:45:06 +01:00
q66
8e40841219
update to new style everywhere
2017-02-16 20:49:34 +01:00
q66
68c19a80fb
update naming style across range module
2017-02-16 20:02:55 +01:00
q66
3edcafd9a6
rename string range types to new style
2017-02-16 19:07:14 +01:00
q66
08e980cd0a
start cleaning up the range system for nicer syntax
2017-02-13 23:33:52 +01:00
q66
6ba3b93018
cleaner pipe operator definition for ranges
2017-02-13 20:43:23 +01:00
q66
fd6a47c223
re-add zero-argument format impl and fix char_traits usage for const char ranges
2017-02-12 23:02:49 +01:00
q66
667b2d50ea
use size_t for format results
2017-02-11 01:28:14 +01:00
q66
dc640d2c1e
no need for the other format_impl overload
2017-02-11 01:11:22 +01:00
q66
13477db869
add a format() overload to format a single spec without a format string + use
2017-02-11 00:18:41 +01:00
q66
d56a233120
partial cleanup of format module, better error handling
2017-02-10 23:49:00 +01:00
q66
922f19b776
make write(x) equivalent to write("%s", x)
2017-02-10 17:44:06 +01:00
q66
c5dd6bb8c3
remove obsolete type traits
2017-02-09 20:56:15 +01:00
q66
2884f4b47b
use size_t and ptrdiff_t
2017-01-30 19:11:49 +01:00
q66
343c684820
initial proper string integration
2017-01-30 01:16:29 +01:00