Arduino IDEを利用してESP8266用の開発をしていて、STLのstd::string、std::vector、std::listを使いたくなったのですが、コンパイルしてみると、大量のリンクエラーが出てしまいました。原因を追及するのが面倒になったので、代替ライブラリを作ってみました。はい、車輪の再発明です。
https://github.com/soramimi/TinyContainer
TinyContainerというフォルダの中に、TinyContainer.hというファイルが入っています。このフォルダを圧縮して、TinyContainer.zipを作ります。これを[スケッチ][Include Library][Add .ZIP Library...]を選択して、登録します。
一旦Arduino IDEを終了して、再起動します。
[Include Library]の下の方に[TinyContainer]が登録されます。これを選択すると、スケッチに #include <TinyContainer.h> が追加されます。
使い方は、STLのstring、vector、listとだいたい同じです。名前空間はtinyです。tiny::string、tiny::vector、tiny::listとして使用できます。
間に合わせで作ったため、完全に規格に準拠した設計にはなっておらず、多少異なる点があるかと思います。基本的な、文字列、動的配列、双方向リンクリストとして使用することはできます。辞書(map)は複雑なので作っていません。
登録したライブラリをアンインストールする場合は、以下のフォルダを削除します。
C:\Users\<username>\Documents\Arduino\libraries\TinyContainer