Opened 3 years ago

Closed 3 years ago

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

lab_14 (volkov.ivan) (WW_linq)

Reported by: Ivan Volkov Owned by: Дмитрий Лапшин (lapshin)
Component: WW_linq Version:
Keywords: Cc:

Description

((( Реализация поддерживает инвариант, что перед взятием * все, что надо было пропустить уже должно быть пропущено где-то ранее (например я позволяю себе операции в конструкторе; мы обсуждали, почему это не очень, но на гитхабе написано что так можно), а еще что operator ++ может вызываться только если operator bool() вернул true )))

Change History (5)

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

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

Всё как надо.

Местами вижу синтаксические неизащества. Скажем, (parent_): зачем скобки.

Почему-то в .where() у тебя шаблонный полиморфизм, а в where_enumerator уже std::function, как-то нелогично. Тем более ты форсируешь непередачу ссылок, что в целом не так страшно, но всё равно.

Попробуй добиться решения без std::function. 9.

comment:2 Changed 3 years ago by Ivan Volkov

Last edited 3 years ago by Ivan Volkov (previous) (diff)

comment:3 Changed 3 years ago by Ivan Volkov

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

comment:4 Changed 3 years ago by Ivan Volkov

Да, скобки поубирал, прочие неизящества какие нашел -- поправил.

Сделал полиморфизм в параметрах всех функций шаблонным. Поля, у которых были типы вида std::function<bool(T)> заменил на std::function<bool(const T&)>

UPD. Написал реализацию без std::function, но вроде у меня только пара лишних шаблонных параметров добавилась и код скорее упростился, так что я не уверен, что там все правильно и это в отдельном файле (include/linq_no_function.hpp)

Last edited 3 years ago by Ivan Volkov (previous) (diff)

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

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

Вообще да, без function прям что хотелось) Но и с ним стало ок.

Note: See TracTickets for help on using tickets.