私はstd::map
オブジェクトHANDLE
の
std::map<int, HANDLE> MyMap;
WaitForMultipleObjects() 関数を使用して、これらのハンドル オブジェクトを待機する必要があります。そのためには、マップの内容を HANDLE オブジェクトの配列として取得する必要があります (ベクトルの場合は、vector.data() 関数を使用できます)。そして、これを達成するためのこのような単純な機能を探しています。
かなり新しいバージョンの VC++ (2010 または 2012) または g++ (4.6 以降) を使用していると仮定すると、次のようなことができるはずです。
std::vector<HANDLE> handles;
std::transform(your_map.begin(), your_map.end(),
std::back_inserter(handles),
[](std::pair<const int, HANDLE> const &i) { return i.second; });