子育てプログラマーの日常

とあるプログラマーの日常をだらだらとつづってます。
家族構成 妻:アロマセラピスト 息子:2007年8月生まれ 娘:2011年12月生まれ

mapのキーだけ or 値だけ

仕事メモ

std::mapでキーだけ、または値だけでBOOST_FOREACHを使いたい事が、時々あるのだが、
どうやるのだったか忘れて、その度に探してしまうので、自分用のメモ

以下の情報はboostjpから


#include <iostream>
#include <map>
#include <string>
#include <boost/range/adaptor/map.hpp>
#include <boost/foreach.hpp>

int main()
{
std::map<int, std::string> m;
m[3] = "a";
m[1] = "b";
m[4] = "c";

// キーのみを抽出
BOOST_FOREACH (int key, m | boost::adaptors::map_keys) {
std::cout << key << ' ';
}
std::cout << std::endl;

// 値のみを抽出
BOOST_FOREACH (const std::string& value, m | boost::adaptors::map_values) {
std::cout << value << ' ';
}
}

Comments

Comment Form