Enumerate問題 解決
http://d.hatena.ne.jp/y-hamigaki/20060407
から悩み続けてきたEnumerate系関数のiterator化もHamigaki.Coroutineのおかげでようやく解決しました。
今やDirectSoundデバイスとDirectSoundCaptureデバイスはIteratorで列挙可能です。
direct_sound.hppの差分
direct_sound.cppの差分
使用例として、テストコードの抜粋を載せておきます。
struct print_device_name { void operator()(const ds::device_info& info) const { std::cout << info.description << '\n'; } }; void direct_sound_enumerate_test() { std::pair< ds::device_info_iterator, ds::device_info_iterator> r(ds::device_info_range()); std::cout << "The installed DirectSound drivers:\n"; std::for_each(r.first, r.second, print_device_name()); std::cout << std::endl; }
出力結果はここにあります。