2013-12-01から1ヶ月間の記事一覧

Tumblrブラウザ作りました

すばらっ! https://github.com/fimbul/subara Tumblrブラウザです。 現状、記事カテゴリ別の閲覧、スキ!の閲覧とスキ!とリブログに対応しています。 Qt5.2、clang3.3で開発しています。 C++ / Qtで書かれているので、クロスプラットフォームで動作するか…

const rvalue referenceは何に使えばいいのか

What are const rvalue references good for? を適当に訳したものです。(微妙な表現や、誤訳があるかもしれません。変なところは原文と照らしあわせてお願いします。) あまり使われることのないconst rvalue referenceの使用について触れている記事です。 あ…

未定義動作となる式

やっぱりまだいまいち掴めてない感じがするので関連項目を体系的に全部理解出来たと思えた頃にまた書きます。 理解不足で間違った事を書いていて誤解を生んでしまいかねないので。 更に追記 If a side effect on a scalar object is unsequenced relative to…

型を書換えたかのように

あたかも型を上書きしているかのように振る舞います。 実用性はないです。 #include <boost/mpl/string.hpp> #include <boost/mpl/char.hpp> #include <iostream> namespace cpp { namespace { namespace { namespace { using value = boost::mpl::string<'C'>; } namespace { using value = cpp::value; } } name</iostream></boost/mpl/char.hpp></boost/mpl/string.hpp>…

Cプリプロセッサ(with Boost.PP)で簡単な言語処理系を実装しよう

この記事は、C++ (fork) Advent Calendar 2013の10日目の記事です。 はじめに 12月に入って10日目、もう中旬ですね。 連日C++に関するハイレベルな記事が目白押しで消化不良になってきている方々も居らっしゃると思いますので少し趣を変えて息抜きみたいな記…

ジェネリックラムダによるクロージャ

template structみたいな感じになります。 #include <iostream> #include <functional> #include <tuple> int main() { const auto f = [](auto arg) { using type = decltype(arg); // member variable type value = arg; // member function std::function<type(void)> get; std::function<void(type)> set; // c</void(type)></type(void)></tuple></functional></iostream>…

型リストのbackの簡単な実装

backだけならatよりずっと簡単に実装出来る事に気付いたので実装してみました。 #include <type_traits> template <class... Types> struct list { private: template <class, class... back_ts1> struct back_impl { template <class> using back_impl_t1 = void; template <class T> struct back_impl_t2 { using type = T; }; temp</class></class></class,></class...></type_traits>…

基本情報技術者試験に合格した

Twitterなんかでは既に持ってる人達から余裕だよと言われていたものの、情報科学と関係のない分野をある程度テキストを読んで詰めていかなかったら厳しかったと思います。 Webで点数開示等を事前にされていたのですが、受験票を紛失したので確認出来ず。 受…

プリプロセッサでrange的なmap的なfilter的な

Boost.PPを使ってrange的なmap的なfilter的なものを実装してみました。 ぶっちゃけBOOST_PP_SEQ_TRANSFORMの再実装です。 百聞は一見に如かず。 コードを貼っておきます。雑な挙動の説明だけ下でします。 今回はプリプロセスだけでコンパイルしない系のコー…