<iterator>
Önceden tanımlanmış yineleyicileri ve akış yineleyicilerini, yineleyici temel öğelerini ve destekleyici şablonları tanımlar.
Gereksinimler
Üstbilgi: <iterator>
Ad alanı: std
Açıklamalar
Yineleyiciler, bir C++ programının farklı veri yapılarıyla tekdüzen bir şekilde çalışmasını sağlayan işaretçilerin genelleştirilmesidir. Algoritmalar, belirli veri türleri üzerinde çalışmak yerine bir tür yineleyici tarafından belirtilen değer aralığı üzerinde çalışır. Algoritmalar, yineleyicinin gereksinimlerini karşılayan herhangi bir veri yapısı üzerinde çalışabilir.
C++20'de altı yineleyici kategorisi vardır. Yineleyiciler bir yetenek hiyerarşisi içinde düzenlenir. Özellikleri C++20 kavramları tarafından belirtilir. Çeşitli yineleyicilerin ve bunların özelliklerinin açıklaması için bkz . Yineleyici kavramları
Visual Studio, işaretli ve işaretsiz yineleyicilerde hata ayıklamayı desteklemek için C++ Standart Kitaplığı yineleyicilerine uzantılar ekledi. Daha fazla bilgi için bkz . Güvenli Kitaplıklar: C++ Standart Kitaplığı.
Üyeler
İşlevler
Veri Akışı Adı | Açıklama |
---|---|
advance |
Belirtilen bir konum sayısıyla yineleyiciyi artırır. |
back_inserter |
Belirtilen kapsayıcının arkasında öğeler ekleyebilen bir yineleyici oluşturur. |
begin |
Belirtilen bir kapsayıcıdaki ilk öğe için bir yineleyici alır. |
cbegin |
Belirtilen kapsayıcıdaki ilk öğeye salt okunur bir yineleyici alır. |
cend |
Belirtilen kapsayıcıdaki son öğeyi izleyen öğeye salt okunur bir yineleyici alır. |
crbegin |
Belirtilen kapsayıcının başına ters salt okunur bir yineleyici alın. |
crend |
Dönüşlerin sonunda sentinel'i crbegin() alın. |
data |
Belirtilen kapsayıcıdaki ilk öğeye bir işaretçi alın. |
distance |
İki yineleyici tarafından ele alınan konumlar arasındaki artış sayısını belirler. |
end |
Belirtilen kapsayıcıdaki son öğeyi izleyen öğeye bir yineleyici alır. |
empty |
Belirtilen kapsayıcının boş olup olmadığını test edin. |
front_inserter |
Belirtilen kapsayıcının önünde öğeler ekleyebilen bir yineleyici oluşturur. |
inserter |
Bir kapsayıcıya belirli bir ekleme noktasında yeni bir öğe ekleyen bir yineleyici bağdaştırıcısı. |
make_checked_array_iterator |
Diğer algoritmalar tarafından kullanılabilecek bir checked_array_iterator oluşturur. Not: Bu işlev, C++ Standart Kitaplığı'nın Bir Microsoft uzantısıdır. Bu işlev kullanılarak uygulanan kod, bu Microsoft uzantısını desteklemeyen C++ Standart derleme ortamlarına taşınabilir değildir. |
make_move_iterator |
Sağlanan yineleyiciyi depolanmış temel yineleyicisi olarak içeren bir taşıma yineleyicisi döndürür. |
make_unchecked_array_iterator |
Diğer algoritmalar tarafından kullanılabilecek bir unchecked_array_iterator oluşturur. Not: Bu işlev, C++ Standart Kitaplığı'nın Bir Microsoft uzantısıdır. Bu işlev kullanılarak uygulanan kod, bu Microsoft uzantısını desteklemeyen C++ Standart derleme ortamlarına taşınabilir değildir. |
next |
Belirtilen sayıda yineler ve yeni yineleyici konumunu döndürür. |
prev |
Belirtilen sayıda geri yineler ve yeni yineleyici konumunu döndürür. |
rbegin |
Belirtilen kapsayıcının başına ters yineleyici alın. |
rend |
Belirtilen kapsayıcının sonunda sentinel için ters yineleyici alın. |
size |
Öğe sayısını alın. |
İşleçler
Veri Akışı Adı | Açıklama |
---|---|
operator!= |
İşlecin sol tarafındaki yineleyici nesnesinin sağ taraftaki yineleyici nesnesine eşit olup olmadığını test eder. |
operator== |
İşlecin sol tarafındaki yineleyici nesnesinin işlecin sağ tarafındaki yineleyici nesnesine eşit olup olmadığını sınar. |
operator< |
İşlecin sol tarafındaki yineleyici nesnesinin işlecin sağ tarafındaki yineleyici nesnesinden küçük olup olmadığını sınar. |
operator<= |
İşlecin sol tarafındaki yineleyici nesnesinin işlecin sağ tarafındaki yineleyici nesnesine eşit veya ondan küçük olup olmadığını sınar. |
operator> |
İşlecin sol tarafındaki yineleyici nesnesinin işlecin sağ tarafındaki yineleyici nesnesinden büyük olup olmadığını sınar. |
operator>= |
İşlecin sol tarafındaki yineleyici nesnesinin işlecin sağ tarafındaki yineleyici nesnesine eşit veya ondan büyük olup olmadığını sınar. |
operator+ |
Yineleyiciye bir uzaklık ekler ve eklenen öğeyi yeni reverse_iterator uzaklık konumunda adresleyen yeni öğesini döndürür. |
operator- |
Bir yineleyiciyi bir başkasından çıkarır ve farkı döndürür. |
Sınıflar
Veri Akışı Adı | Açıklama |
---|---|
back_insert_iterator |
Sınıf şablonu bir çıkış yineleyici nesnesi açıklar. Öğeleri türündeki Container bir kapsayıcıya ekler ve kapsayıcı olarak adlandırılan depoladığı korumalı pointer nesne üzerinden erişir. |
bidirectional_iterator_tag |
Çift yönlü yineleyiciyi temsil eden bir iterator_category işlev için dönüş türü sağlayan sınıf. |
checked_array_iterator |
Bir rastgele erişim, denetlenmiş yineleyici kullanarak bir diziye erişen sınıf. Not: Bu sınıf, C++ Standart Kitaplığı'nın bir Microsoft uzantısıdır. Bu işlev kullanılarak uygulanan kod, bu Microsoft uzantısını desteklemeyen C++ Standart derleme ortamlarına taşınabilir değildir. |
forward_iterator_tag |
İleri yineleyiciyi temsil eden bir iterator_category işlev için dönüş türü sağlayan sınıf. |
front_insert_iterator |
Sınıf şablonu bir çıkış yineleyici nesnesi açıklar. Öğeleri türündeki Container bir kapsayıcıya ekler ve kapsayıcı olarak adlandırılan depoladığı korumalı pointer nesne üzerinden erişir. |
input_iterator_tag |
Giriş yineleyicisini temsil eden bir iterator_category işlev için dönüş türü sağlayan sınıf. |
insert_iterator |
Sınıf şablonu bir çıkış yineleyici nesnesi açıklar. Öğeleri türündeki Container bir kapsayıcıya ekler ve kapsayıcı olarak adlandırılan depoladığı korumalı pointer nesne üzerinden erişir. Ayrıca adlı iter sınıfının Container::iterator korumalı iterator nesnesini de depolar. |
istream_iterator |
Sınıf şablonu bir giriş yineleyici nesnesi açıklar. Sınıfın Ty nesnelerini depoladığı bir nesne aracılığıyla eriştiği bir giriş akışından, işaretçi türündeki öğesinden basic_istream<Elem, Tr> ayıklar. |
istreambuf_iterator |
Sınıf şablonu bir giriş yineleyici nesnesi açıklar. Sınıfın Elem öğelerini depoladığı bir nesne pointer aracılığıyla eriştiği bir çıkış akışı arabelleğine basic_streambuf<Elem, Tr> ekler. |
iterator |
Sınıf şablonu, tüm yineleyiciler için temel tür olarak kullanılır. |
iterator_traits |
Aynı şekilde başvurulabilsinler diye farklı yineleyici türleriyle ilişkilendirilen kritik türleri sağlayan şablon yardımcı sınıfı. |
move_iterator |
Nesne move_iterator türündeki RandomIterator rastgele erişim yineleyicisini depolar. Başvurunun kaldırıldığı durum dışında, rastgele erişimli yineleyici gibi davranır. sonucuoperator* , bir yapmak rvalue reference için örtük olarak öğesine value_type&&: atılır. |
ostream_iterator |
Sınıf şablonu bir çıkış yineleyici nesnesi açıklar. Sınıfın Type nesnelerini depoladığı bir nesne pointer aracılığıyla eriştiği bir çıkış akışına basic_ostream<Elem, Tr> ekler. |
ostreambuf_iterator |
Sınıf şablonu bir çıkış yineleyici nesnesi açıklar. Sınıfın Elem öğelerini, depoladığı bir nesne aracılığıyla eriştiği bir çıkış akışı arabelleğine, işaretçi türündeki öğesine basic_streambuf<Elem, Tr> ekler. |
output_iterator_tag |
Çıkış yineleyicisini temsil eden işlev için iterator_category bir dönüş türü sağlayan sınıf. |
random_access_iterator_tag |
Rastgele erişim yineleyicisini temsil eden işlev için iterator_category bir dönüş türü sağlayan sınıf. |
reverse_iterator |
Sınıf şablonu, rastgele erişim yineleyicisi gibi davranan bir nesneyi yalnızca tersten açıklar. |
unchecked_array_iterator |
Bir rastgele erişim, denetlenmemiş yineleyici kullanarak bir diziye erişen sınıf. Not: Bu sınıf, C++ Standart Kitaplığı'nın bir Microsoft uzantısıdır. Bu işlev kullanılarak uygulanan kod, bu Microsoft uzantısını desteklemeyen C++ Standart derleme ortamlarına taşınabilir değildir. |
Kavramlar
Aşağıdaki kavramlar ad alanında std
tanımlanır. Yineleyicilere uygulanır ve kavramlarda <ranges>
açıklanan aralıklar için yineleyici kategorileriyle de ilişkilidir.
Yineleyici kavramı | Açıklama |
---|---|
bidirectional_iterator C++20 |
Hem ileri hem de geri okuyabilen ve yazabilen bir yineleyici belirtir. |
contiguous_iterator C++20 |
Öğeleri bellekte sıralı, aynı boyutta olan ve işaretçi aritmetiği kullanılarak erişilebilen bir yineleyici belirtir. |
forward_iterator C++20 |
Birden çok kez okuyabilen (ve büyük olasılıkla yazabilen) bir yineleyici belirtir. |
input_iterator C++20 |
En az bir kez okuyabileceğiniz bir yineleyici belirtir. |
input_or_output_iterator C++20 |
Yineleyici kavramı taksonomisinin temeli. |
output_iterator |
Yazabileceğiniz bir yineleyici belirtir. |
random_access_iterator C++20 |
Dizine göre okuyabileceğiniz ve yazabileceğiniz bir yineleyici belirtir. |
sentinel_for C++20 |
Yineleyici türü için bir sentinel belirtir. |
sized_sentinel_for C++20 |
Bir yineleyicinin ve sentinel değerinin, sabit süredeki farklarını bulmak için çıkarılabildiğini (kullanılarak - ) belirtir. |
Ayrıca bkz.
Üst Bilgi Dosyaları Başvurusu
C++ Standart Kitaplığında İş Parçacığı Güvenliği
C++ Standart Kitaplığı Başvurusu