複数のmutexに対するlock_guardが欲しいと思ったので書いてみた。動くかどうかテストしていない。 template < int I > struct unlock { template < typename T > void apply( T & t ) { unlock< I - 1 >::apply( t ) ; std::get<I>(t)->unlock() ; } } ; template <> struct unlock<0> { template < typename T > void apply( T & t ) { std::get<0>(t)->unlock() ; } } ; template < typename ... Types > class multiple_lock_guard { public : typedef std::tuple< Typ