emio
emio copied to clipboard
Define a stable API
Doesn't need to be 100 % non breakable but it would be good to make some basic decisions.
Every help is welcome! :)
-
[ ] is the naming of classes and functions plausible
- [ ] reader APi
-
read_char, read_n_chars, read_int<int>?
-
- [ ] writer API
- explicit
write_char(char), write_str(str), write_int(int)
instead of implicitwrite(char), write(str), write(int)
....
- explicit
- [ ] reader APi
-
[ ] emio::err does not have a explicit value for success (zero) - is this okay? I think, it does make switches over
emio::err
simpler since no one should receive a zero out of a emio::result -
[x] Should there be support for anything else then char? --> NO
- [x] wchar? char8_t? char16_t? char32_t? Does this make sense?
- [x] if not, many classes could be template free
- [x] if needed, would it be better to have
reader<char>
orusing reader = basic_reader<char>;
(same for writer, runtime etc...)? - [x] Should format/vformat/print/vprint internal call value to simplify nearly fail-safe API?
-
[ ] explict emio::result constructor with ok/error + basic_result for user error types
-
[x] Format spec: allow precision for strings:
format("{:.2}", "hello")
-> "he"