Vyhľadávanie položiek v std::map pre Arduino

Re:Vyhľadávanie položiek v std::map pre Arduino
« Odpověď #15 kdy: 05. 05. 2021, 11:11:58 »
Ahojte, ďakujem za snahu o pomoc, find to neobsahuje. Pozeral som to v hlavičkovom súbore aj cez autocomplete. Pozeral som všetky metódy mapu. map::at tam je, ale neviem akým spôsobom mám testovať, či tam ten kľúč vôbec je. Exceptiony som na audrine / ESP32 nepoužíval, niekto spomínal, že na Arduine ani nie sú. Aj keď je možné že ESP by ich mohol mať.

Porovnával som to s klasickým std::map z iných platforiem a tam ten find je.

Takže buď som niečo nepochopil, alebo je to nejaká nedokončená implementácia STL (adresár xtensa-esp32-elf-gcc). Skúsim nájsť nejaký alternatívny map, alebo iné STL a zajtra vyskúšam či esp32 podporuje exceptiony, predsa len ESP32 je trošku iná platforma.Ak by na ESP predsa len boli možno ývojári sa spoliehajú na to, že sa použije at tak ako ste spomínali vyššie.
Pokud to má jenom nějaké minimální rozhraní, tak by tam mohly být metody lower_bound a upper_bound, nebo equal_range. Tím získáš pár iterátorů pomocí kterých můžeš projet rozsah prvků, které jsou rovné klíči (tohle je hlavně pro multimapu, v mapě bude samozřejmě max 1).


Idris

  • *****
  • 1 660
    • Zobrazit profil
    • E-mail
Re:Vyhľadávanie položiek v std::map pre Arduino
« Odpověď #16 kdy: 05. 05. 2021, 11:53:59 »
Ahojte, ďakujem za snahu o pomoc, find to neobsahuje. Pozeral som to v hlavičkovom súbore aj cez autocomplete. Pozeral som všetky metódy mapu. map::at tam je, ale neviem akým spôsobom mám testovať, či tam ten kľúč vôbec je. Exceptiony som na audrine / ESP32 nepoužíval, niekto spomínal, že na Arduine ani nie sú. Aj keď je možné že ESP by ich mohol mať.

Porovnával som to s klasickým std::map z iných platforiem a tam ten find je.

Takže buď som niečo nepochopil, alebo je to nejaká nedokončená implementácia STL (adresár xtensa-esp32-elf-gcc). Skúsim nájsť nejaký alternatívny map, alebo iné STL a zajtra vyskúšam či esp32 podporuje exceptiony, predsa len ESP32 je trošku iná platforma.Ak by na ESP predsa len boli možno ývojári sa spoliehajú na to, že sa použije at tak ako ste spomínali vyššie.
Ty výjimky jsou jen vypnuté kvůli úspoře místa, překladač má na to přepínač.