Arduinoでコンテナクラス

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...]を選択して、登録します。

addlib

一旦Arduino IDEを終了して、再起動します。

newlib

[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

カテゴリー: 未分類   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA(画像認証)

上の画像の最初と最後を除いた3桁の数字を入力して、送信ボタンを押してください。