2016-01-01から1年間の記事一覧
C++17にはstd::variantというライブラリが追加されます。 variantは組み込みのunionよりリッチなインターフェイスを持った型安全なunionです。*1 Visual Studio 2017にも入りましたので簡単なサンプルを書いてみました #include <variant> #include <iostream> #include <string> struct</string></iostream></variant>…
概要 C++11で <system_error> ヘッダが追加され、その中に3つのクラス std::error_code std::error_category std::error_condition が追加されました。自分はこの3つクラスの違いがわからなかったので調べてまとめてみました。ソースは https://www.amazon.co.jp/dp/479737</system_error>…
d.hatena.ne.jp
rbenv, bundler, railsをインストールしてlocalhost:3000でアクセスできるようになるところまで はじめに、bash自体の初期設定を以下の記事を参考に行います qiita.com apt-getで必要なパッケージを入れます。libssl-dev libffi-dev libreadline-dev makeはr…
github.com 概要 banditはC++11以降を前提としたC++のユニットテストのフレームワークです。 Human Friendlyらしいです。MITライセンスです。 導入 Releases · joakimkarlsson/bandit · GitHub からzipかtar.gzでダウンロードするか git cloneして使うと良い…
Boost.Asioから切り離したAsioライブラリがあります。 asio C++ library 名前空間が違うぐらいでほとんどBoost.Asioと同じように使えます。Boost.AsioがBoost.SystemErrorやBoost.DateTimeに依存しているのに対し、独立して動くという点が嬉しいです。 試し…
ズンドコキヨシ with C++14 - C++と色々 の続きです。コンパイル時にズンドコキヨシをやってみました。 static_assert で、ちゃんとシーケンスの最後の5つがズンズンズンズンドコになっているかを検証しています。Sprout.RandomとBoost.MPLを使用しています…
これ qiita.com なぜかC++版が無かったので。コードゴルフとかやらずに、ファンクタとイテレータで実装してみた。C++11では古くて動きません #include <algorithm> #include <array> #include <iostream> #include <iterator> #include <random> #include <string> #include <utility> struct zundoko_generator { static con</utility></string></random></iterator></iostream></array></algorithm>…
ユーザにお互いにグローバルIPを教え合うという操作をさせずにP2P通信ってどうやるんだろうと思い、調べました。 STUNサーバやTURNサーバと通信を行い、自身のグローバルIPを取得する、ということを知りました。 それらのサーバと通信を行うライブラリを調べ…