Skip to content

Define a stable API #10

Description

@Viatorus

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 implicit write(char), write(str), write(int)....
  • 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

  • Should there be support for anything else then char? --> NO

    • wchar? char8_t? char16_t? char32_t? Does this make sense?
    • if not, many classes could be template free
    • if needed, would it be better to have reader<char> or using reader = basic_reader<char>; (same for writer, runtime etc...)?
    • 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

  • Format spec: allow precision for strings: format("{:.2}", "hello") -> "he"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions