Optional
Тип-обёртка для безопасной работы со значениями, которые могут быть или отсутствовать, без использования указателей и флагов
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:bee1f5d5836d6e069ec623ae6b8e94f403148cc1d46c18a10124ee4515f3193fOptional-1.0.0-bee1f5d5.zipОписание
Если в Arduino-проекте нужно работать со значениями, которые могут быть или не быть, обычно приходится заводить флаги, использовать null-указатели или придумывать обходные пути. Optional предлагает чистую альтернативу: тип-обёртка, который явно говорит, присутствует ли значение, и безопасно его возвращает. Библиотека не зависит от std::optional, что важно для встроенных систем с ограниченной памятью. Поддерживает как примитивные типы, так и пользовательские классы. В арсенале есть основные методы вроде hasValue() и getValue() с fallback-значением, а также более продвинутые: orElse(), ifPresent() для применения функции, swap() для обмена двумя optional-значениями и emplace() для создания на месте. Работает на Arduino IDE и PlatformIO без дополнительных зависимостей.