Opened 4 years ago

Closed 4 years ago

#1061 closed ожидается проверка (задача сдана)

WW_18

Reported by: Jura Khudyakov Owned by: Egor Suvorov
Component: WW_format Version: 1.0
Keywords: Cc:

Description


Change History (1)

comment:1 Changed 4 years ago by Egor Suvorov

Resolution: задача сдана
Status: assignedclosed

Корректность 6.5/7.

  • Неаккуратная оценка на размер bool. Что такое sizeof(get_string()) для const char* get_string();?
  • Клёво, что FormatHelper для чисел даёт точную длину.


Стиль 1.75/3:

  • is_formattable_t — не очень хорошее название. is_ намекает, что это будет integral_constant<bool, ???>, а _t намекает, что это на самом деле какой-то тип. Не сошлось. К сожалению, не знаю хорошей конвенции для таких "SFINAE-выражений".
    • Аналогично с integral_not_bool_t.
  • append_to не везде const
  • get_string() --> value() и пусть лучше string_view возвращает. Заодно можно говорить .length() вместо sizeof.
  • Специализация для bool лучше сделать только для void: struct FormatHelper<bool, void> или даже struct FormatHelper<bool>. Потому что второй параметр не должен быть не-void, это неверный вызов FormatHelper.
  • Хватает просто is_integral, потому что специализация для bool имеет приоритет выше.
  • to_chars может вернуть не только std::errc::value_too_large, но и лубую другую оценку.
  • exact_length --> value_length.
  • has_format
    • Стоит сделать в отдельном namespace impl
    • Можно избавиться, если заиспользовать SFINAE сразу в перегрузке.
Note: See TracTickets for help on using tickets.