/
polytech_kolomna
/
aipackaging
Обзор
Документация
Войти
/
polytech_kolomna
/
aipackaging
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
FigureGenerator
src/data_format/processor.h
58 строк
2 KB
Olegh
lower case
28 окт 2025, 20:44
28 окт 2025, 20:44
bc1a1ea
Код
Авторство
О чём код?
#ifndef PROCESSOR_H #define PROCESSOR_H #include <figure.h> #include <line2d.h> #include <circle2d.h> #include <iostream> #include <fstream> #include <map> // Перечисление опций функции extractor enum class ExtractorOptions { NumbersOnly, NumbersAndLetters }; /* Функции для работы со строками. */ // Извлечение всех целых чисел из строки. Возвращает строку с числами или с числами и словами, разделенными пробелами std::string extractor(const std::string& str, ExtractorOptions opt); std::string extract_numbers(const std::string& str); std::string extract_numbers_and_letters(const std::string& str); /* Примерное представление внешнего обработчика файлов. Хранит ячейки и фигуры, созданные по описанию из файла. */ class Processor { public: // Реконструкция объекта по строке void deserialize(const std::string& str); // Получение ячейки по индексу Cell get_cell(int n) const; // Получение фигуры по индексу Figure get_figure(int n) const; // Запись информации о всех хранящихся объектах в файл void write_file(const std::string& path) const; private: // Создание ячейки void create_cell(std::stringstream& ss, std::string& buffer); // Запись линий в ячейку void fill_cell(const std::string& arr_part, Cell& c); // Создание фигуры void create_figure(std::stringstream& ss, std::string& buffer); // Добавление ячеек в фигуру void fill_figure(const std::string& arr_part, Figure& f); private: std::map<int, Cell> cells; std::map<int, Figure> figures; }; #endif