タグ

ブックマーク / qiita.com/YukiMiyatake (2)

  • boost.asioのタイムアウト処理を綺麗に書く方法教えて! - Qiita

    はじめに boost.Asioでは、非同期処理のタイムアウト処理を当然行うことが出来るが 一般的なソケットのような、関数にタイムアウト時間を設定するような簡易な方法ではない 非同期処理とは別に、タイマーWaitを非同期で書き、非同期処理が終了すればタイマーをキャンセルし タイマーが先に来れば 非同期処理をキャンセルしタイムアウト処理を行う という 冗長な処理が必要である それを、どのようにラップすればきれいに書けるのか?という話 まずはベタに書いてみる // タイムアウトを設定 deadline_timer.expires_from_now( boost::posix_time::milliseconds(timeout_ms)); deadline_timer.async_wait( [=](const boost::system::error_code &ec) { // タイムアウト

    boost.asioのタイムアウト処理を綺麗に書く方法教えて! - Qiita
    iww
    iww 2021/04/12
    タイムアウトが大変 という話
  • C++11でjsonを扱う方法。json11 - Qiita

    json11とは C++11で書かれたjsonライブラリで 使い方が綺麗なため、好まれて使われていると思います 私は、以前はpicojsonを使ってましたが最近はjson11を使ってます https://github.com/dropbox/json11/blob/master ここから json11.cppとjson11.hppをダウンロードして使ってます 使い方 https://github.com/dropbox/json11/blob/master/test.cpp にサンプルが書いているので読めばわかりますが、補足します jsonパース サンプルのように const string simple_test = R"({"k1":"v1", "k2":42, "k3":["a",123,true,false,null]})"; string err; auto json = json

    C++11でjsonを扱う方法。json11 - Qiita
    iww
    iww 2018/02/22
    ちょっと微妙っぽい
  • 1