7 Ağustos 2017 Pazartesi

std::apply

Giriş
Bu sınıf C++17 ile geliyor.

Bir tuple nesnesini açarak her parametresini çağırmak istediğimiz metoda geçer. Elimizde tuple dönen bir metod olsun
auto get_arguments(){
  return std::make_tuple(0,0.0f, some_class());
}
3 tane parametre iseyen bir metodumuz olsun
void foo(int a, float b, some_class c) {...}
Bu metodu çağırmak için şöyle yaparız.
std::apply(foo, get_arguments());
Eğer daha eski bir derleyicimiz varsa experimental isim alanı altında std::apply mevcut olabilir. Şöyle yaparız.
std::experimental::apply(foo, get_arguments());
Eğer elimizde C++14 varsa piecewise_construct kullanılabilir ama ben ne olduğunu anlamadım.

Hiç yorum yok:

Yorum Gönder