/
pi_coder
/
ByteMachine
Обзор
Документация
Войти
/
pi_coder
/
ByteMachine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/nodes/node_name_manager.h
55 строк
2 KB
pimenov-and
Перенос функциональности из старого проекта, в основном это описания узлов
19 июл 2026, 20:13
19 июл 2026, 20:13
cb3c51b
Код
Авторство
О чём код?
//////////////////////////////////////////////////////////////// // ByteMachine // Менеджер по управлению именами узлов //////////////////////////////////////////////////////////////// #ifndef NODE_NAME_MANAGER_H #define NODE_NAME_MANAGER_H //============================================================== #include <QSet> #include <QString> //============================================================== // Менеджер по управлению именами узлов //============================================================== class NodeNameManager { Q_DISABLE_COPY_MOVE(NodeNameManager) public: // Получение экземпляра класса [[nodiscard]] static NodeNameManager* instance(); // Добавление имени (возвращается скорректированный вариант) [[nodiscard]] QString addName(const QString &name); // Удаление имени bool removeName(const QString &name) { return names_.remove(name); } // Проверка наличия имени в списке [[nodiscard]] bool containsName(const QString &name) const { return names_.contains(name); } // Получение имен [[nodiscard]] QSet<QString> names() const { return names_; } // Получение количества имён [[nodiscard]] qint32 nameCount() const { return names_.count(); } private: // Конструктор с параметром NodeNameManager() = default; // Имена QSet<QString> names_{}; // Максимальная длина имени static constexpr qint32 maxNameLen_{32}; }; //============================================================== // Прототипы функций //============================================================== // Получение менеджера по управлению именами узлов [[nodiscard]] NodeNameManager* nodeNameManager(); //============================================================== #endif // NODE_NAME_MANAGER_H