#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <boost/tokenizer.hpp>
#include <boost/foreach.hpp>

using namespace std;

class CsvLineParser {
public:
    typedef boost::char_separator<char> BOOST_CHAR_SEP;
    typedef boost::tokenizer< BOOST_CHAR_SEP > BOOST_TOKENIZER;
    static std::vector<string> parse(string line) {
        std::vector<string> ret;
        BOOST_CHAR_SEP sep(" ");
        BOOST_TOKENIZER tokens(line, sep);
        BOOST_FOREACH(string s, tokens) {
            ret.push_back(s);
        }
        return ret;
    }
};

int main() {
    ifstream ifs("hoge.txt");
    string buffer;
    
    while(getline(ifs, buffer)) {

        std::vector<string> p = CsvLineParser::parse(buffer);

        for(int i=0; i<p.size(); i++) {
            cout << p.at(i) << endl;
        }
    }
}

helm-gtag

やったこと

GNU globalのインストー
aptのは古いのでソースから。
configure, make, make install

sudo pip install pygments
pygments plugin なぜかlibtool-binをインストールする必要あった

helm-gtagはpackage-installから。

hppとcppの切り替えは ff-find-other-fileでいける

tar xzvf

ややこしい

tar
x: extract 展開するとき。根幹。対になるのはc

z: gzipの圧縮または解凍の使用
v: ログをVerbose あってもなくても実動作に影響なし
f: ファイルの指定

tar xzvf hoge.tar.gz → eXtract, gZip, Verbose, File is,,,

オプション前のハイフンはあってもなくても可。

逆に自分で圧縮したいときは

tar czvf hoge.tar.gz /path/to/directory