Opened 4 years ago

Closed 4 years ago

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

WW #18 smirnov.ilya

Reported by: smirnov.ilya Owned by: Дмитрий Лапшин (lapshin)
Component: WW_format Version:
Keywords: Cc:

Description


Change History (5)

comment:1 Changed 4 years ago by smirnov.ilya

Без теста на rvalue ref и non-const метод все компилируется. И кажется я делаю не совсем то, что нужно...

comment:2 Changed 4 years ago by Дмитрий Лапшин (lapshin)

Owner: changed from Дмитрий Лапшин (lapshin) to smirnov.ilya
Summary: WW #18WW #18 smirnov.ilya

Неверная структура файлов.

Кажется, работает, но SFINAE-отсечение не работает. Почему-то компилируется format::to_string для того, для чего не должен (кажется что тема вокруг того, какой должен быть метод ‹T›.format()). Собственно, ты это и описал.

Зачем тебе шаблонный класс с странными методами и константами, когда он всего один, но вот to_string дублируется (с одинаковым содержимым) аки чёрт? Тем более копирует значение в себя. Тем более дублируются перегрузки для std::vector, когда внутренний тип разный. И выглядит сложно.

5, надо проще.

comment:3 Changed 4 years ago by Дмитрий Лапшин (lapshin)

Type: ожидается проверкаожидаются исправления

comment:4 Changed 4 years ago by smirnov.ilya

Owner: changed from smirnov.ilya to Дмитрий Лапшин (lapshin)
Type: ожидаются исправленияожидается проверка
Version: 1.0

Вроде даже стало похоже на sfinae, но проблемы с последней группой тестов остались. И кажется я не смог в compile-time рекурсию...???

comment:5 Changed 4 years ago by Дмитрий Лапшин (lapshin)

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

Не, не завелось.

Намёк был сделать

template<typename T, typename = void>
class FormatHelper {

выключаемым по каким-то условиям. Так можно было бы написать кучу специализаций:

template<typename T>
class FormatHelper<T, std::enable_if_t<std::is_intergral_v<T>> {

и определять, живая ли она.

Например, у тебя сейчас специализация для вектора есть всегда, даже когда внутри него метода нет.

Эта посылка хуже, чем было.

Note: See TracTickets for help on using tickets.