kuvshinovdr / OGxx

Object-oriented graph algorithm library in C++ developed for educational purposes.
MIT License
1 stars 1 forks source link

Index_set_bitvector #14

Open kuvshinovdr opened 1 year ago

kuvshinovdr commented 1 year ago

Обновить свою ветку по main. Создать файл source/index_set_bitvector.cpp. В нём определить класс ogxx::Index_set_bitvector: public ogxx::Index_set, public ogxx::Indexed_iterable\<Scalar_index>. Реализовать интерфейс множества на основе vector\<bool>.

7martyn1 commented 1 year ago

Здравствуйте, Дмитрий Рустамович. Какие еще методы мне нужно реализовать?

kuvshinovdr commented 1 year ago
  1. Стражи включения в .cpp файле не нужны (удалил). Включаемые заголовки надо указать правильно (поправлено).
  2. Добавить resize в методе insert -- сделано в add (перенёс оттуда). Методы add и remove удалил, потому что их нет в интерфейсах.
  3. Реализовать методы Iterable: is_empty и iterate (через stl_iterator).
  4. Реализовать методы Indexed_iterable: get и set.
7martyn1 commented 11 months ago

Здравствуйте, Дмитрий Рустамович. Я закоммитил изменения в файле у себя на брэнче. Можете посмотреть?

kuvshinovdr commented 11 months ago

Добрый день! Нет полного соответствия реализуемым интерфейсам, вместо заголовочного файла index_set.hpp (его не существует) надо подключать st_set.hpp. Попробуйте скомпилировать свой cpp-файл.

7martyn1 commented 11 months ago

А мне получается заголовочные файлы написать надо? Их нет в репозитории, следовательно файл скомпилироваться не может...

kuvshinovdr commented 11 months ago

Не надо. Файл st_set.hpp существует.

kuvshinovdr commented 11 months ago

Добавил исправленную реализацию в main, см. файлы source/index_set_bitvector.hpp/.cpp.

kuvshinovdr commented 11 months ago

Попробуйте на него тест написать.

7martyn1 commented 10 months ago

Коммитнул тест для index_set_bitvector на свой branch

kuvshinovdr commented 10 months ago

Неплохо было бы его собрать. Битвектор не Indexed_iterable, а Sized_iterable. Соответственно, dynamic_cast возвращает там nullptr, и тест валится вообще.