Giriş
range kütüphanesi şöyledir
1. Range Adaptors
2. Range Algorithms
3. Provided Ranges
4. Utilities
Bu yazıda utilities başlığı altındaki şeyler var.
iterator_range Sınıfı
iterator_range Sınıfı yazısına taşıdım.
sub_range Sınıfı
range algoritmaları yanında yardımcı bir sınıftır.
Örnek ver
combine metodu
Şu satırı dahil ederiz.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Farklı dizileri ardışık olarak dolaşabilmeyi sağlar
iterator_range Sınıfı yazısına taşıdım.
sub_range Sınıfı
range algoritmaları yanında yardımcı bir sınıftır.
Örnek ver
Şu satırı dahil ederiz.
#include <boost/range/combine.hpp>
Farklı dizileri beraber dolaşabilmeyi sağlar.Örnek
Şöyle yaparız.
boost::range::combine(myRange, myRange, myRange);
ÖrnekŞöyle yaparız.
std::vector<int> a {4, 5, 6};
double b[] = {7, 8, 9};
std::list<std::string> c {"a", "b", "c"};
for (auto tup : boost::combine(a, b, c, a)) {
int x, w;
double y;
std::string z;
boost::tie(x, y, z, w) = tup;
printf("%d %g %s %d\n", x, y, z.c_str(), w);
}
join metoduFarklı dizileri ardışık olarak dolaşabilmeyi sağlar
Örnek
Elimizde şöyle iki dizi olsun
std::vector<int> values1, values2;
Şöyle yaparızfor (int val : boost::range::join(values1, values2))
counter += val;
Hiç yorum yok:
Yorum Gönder