C ++ Kitaplığı - <forward_list>

Giriş

forward_list popüler olarak kullanılan bir sıra kapsayıcıdır. Konteyner, aynı türdeki verileri tutan bir nesnedir. forward_list konteyneri, tek bağlantılı liste olarak uygulanır, dolayısıyla verilerine tek yönlü sıralı erişim sağlar.

forward_list hızlı rastgele erişim sağlamaz, yalnızca bir yönde sıralı erişimi destekler. forward_list, sabit zamanda bir dizi içinde herhangi bir yerde ekleme ve silme işlemine izin verir.

Forward_list'in öğeleri, farklı bellek parçalarına dağılabilir. Konteyner, verilerine sıralı erişime izin vermek için gerekli bilgileri depolar. forward_lists, çalışma zamanında her iki uçtan da gerektiği gibi daralabilir veya genişleyebilir. Depolama gereksinimi, dahili ayırıcı tarafından otomatik olarak yerine getirilir.

Sıfır boyutlu ileri_listeler de geçerlidir. Bu durumda forward_list.begin () ve forward_list.end () aynı konuma işaret eder. Ancak front () işlevini çağırma davranışı tanımsızdır.

Tanım

Aşağıda <forward_list> başlık dosyasından std :: forward_list tanımı bulunmaktadır.

template < class T, class Alloc = allocator<T> > class forward_list;

Parametreler

  • T - İçerdiği öğenin türü.

    T, kullanıcı tanımlı tür dahil olmak üzere herhangi bir başka veri türü ile ikame edilebilir.

  • Alloc - Ayırıcı nesnenin türü.

    Varsayılan olarak, en basit bellek ayırma modelini tanımlayan ve değerden bağımsız olan ayırıcı sınıfı şablonu kullanılır.

Üye türleri

Aşağıdaki üye türleri, üye işlevlere göre parametre veya dönüş türü olarak kullanılabilir.

Sr.No. Üye türleri Tanım
1 değer türü T (Şablonun ilk parametresi)
2 allocator_type Alloc (Şablonun ikinci parametresi)
3 referans değer türü&
4 const_reference const value_type &
5 Işaretçi değer türü*
6 const_pointer const değer_türü *
7 yineleyici value_type'a rastgele erişim yineleyicisi
8 const_iterator const value_type için bir rastgele erişim yineleyicisi
9 Beden Çeşidi size_t
10 fark_türü ptrdiff_t

<forward_list> 'den işlevler

Aşağıda <forward_list> başlığındaki tüm yöntemlerin listesi bulunmaktadır.

İnşaatçılar

Sr.No. Yöntem ve Açıklama
1 forward_list :: forward_list varsayılan yapıcı

Sıfır elemanlı boş bir forward_list oluşturur.

2 forward_list :: forward_list doldurma yapıcısı

N elemanlı yeni bir forward_list oluşturur ve forward_list'in her bir elemanına val atar .

3 forward_list :: forward_list doldurma yapıcısı

N elemanlı yeni bir forward_list oluşturur ve forward_list'in her bir elemanına sıfır değeri atar.

4 forward_list :: forward_list aralık yapıcısı

Aralığında gibi birçok elemanlar olarak bir forward_list oluşturur ilk için son .

5 forward_list :: forward_list kopyalama yapıcısı

Mevcut listede bulunan her bir öğenin kopyasıyla bir forward_list oluşturur.

6 forward_list :: forward_list taşıma yapıcısı

İçeriğiyle bir forward_list oluşturur diğer kullanarak hareket semantik.

7 forward_list :: forward_list başlatıcı liste yapıcısı

Başlatma listesinden bir forward_list oluşturur.

Yıkıcı

Sr.No. Yöntem ve Açıklama
1 forward_list :: ~ forward_list

Forward_list nesnesini hafızasını serbest bırakarak yok eder.

Üye fonksiyonları

Sr.No. Yöntem ve Açıklama
1 forward_list :: aralık sürümünü ata

Eskileri değiştirerek forward_list'e yeni değer atar.

2 forward_list :: dolgu sürümünü ata

Eskileri değiştirerek forward_list'e yeni değerler atar.

3 forward_list :: başlatıcı listesi sürümünü ata

Eskileri değiştirerek forward_list'e yeni değerler atar.

4 forward_list :: before_begin

Forward_list'in ilk öğesinden önceki konuma işaret eden bir rastgele erişim yineleyicisi döndürür.

5 forward_list :: begin

Forward_list'in ilk öğesine işaret eden rastgele bir erişim yineleyicisi döndürür.

6 forward_list :: cbefore_begin

Forward_list'in ilk öğesinden önceki konuma işaret eden sabit bir rastgele erişim yineleyicisi döndürür.

7 forward_list :: cbegin

Forward_list'in başlangıcına işaret eden sabit bir rastgele erişim yineleyicisi döndürür.

8 forward_list :: cend

Forward_list'in sonuna işaret eden sabit bir rasgele erişim yineleyicisi döndürür.

9 forward_list :: clear

Forward_list'in tüm elemanlarını kaldırarak forward_list'i yok eder ve forward_list'in boyutunu sıfır olarak ayarlar.

10 forward_list :: emplace_after

Forward_list içindeki pozisyondan sonra yeni eleman oluşturur ve ekler ve forward_list'in boyutunu bir artırır.

11 forward_list :: emplace_front

Forward_list'in başına yeni eleman ekler ve forward_list'in boyutunu birer birer artırır.

12 forward_list :: empty

Forward_list'in boş olup olmadığını test eder.

13 forward_list :: end

Forward_list'in son öğesine işaret eden rastgele bir erişim yineleyicisi döndürür.

14 forward_list :: erase_after pozisyon versiyonu

Forward_list'ten konumdan sonra tek öğeyi kaldırır .

15 forward_list :: aralık sürümünü sil

Forward_list öğesinin aralığını kaldırır.

16 forward_list :: front

Forward_list'in ilk öğesine bir başvuru döndürür.

17 forward_list :: get_allocator

Forward_list ile ilişkili bir ayırıcı döndürür

18 forward_list :: insert_after tek elemanlı versiyon

Forward_list içindeki konumdan sonra yeni eleman ekleyerek yineleyiciyi genişletir

19 forward_list :: insert_after sürümü taşı

Forward_list içindeki konumdan sonra yeni eleman ekleyerek yineleyiciyi genişletir

20 forward_list :: insert_after doldurma sürümü

Forward_list içindeki konumdan sonra yeni eleman ekleyerek yineleyiciyi genişletir

21 forward_list :: insert_after aralık versiyonu

Forward_list içindeki konumdan sonra yeni eleman ekleyerek yineleyiciyi genişletir

22 forward_list :: insert_after başlatıcı liste sürümü

Forward_list içindeki konumdan sonra yeni eleman ekleyerek yineleyiciyi genişletir

23 forward_list :: max_size

Forward_list tarafından tutulabilecek maksimum eleman sayısını döndürür.

24 forward_list :: birleştirme

Sıralanmış iki ileri_listeyi tek bir listede birleştirir.

25 forward_list :: birleştirme taşıma sürümü

Sıralanmış iki ileri_listeyi tek bir listede birleştirir.

26 forward_list :: birleştirme karşılaştırma işlevi

Sıralanmış iki ileri_listeyi tek bir listede birleştirir.

27 forward_list :: birleştirme karşılaştırma işlevi sürümü taşı

Taşıma semantiğini kullanarak iki sıralı ileri_listeyi tek bir listede birleştirir.

28 forward_list :: operator = sürümü kopyala

Eskileri değiştirerek yeni içerikleri forward_list'e atar.

29 forward_list :: operator = sürümü taşı

Eskileri değiştirerek yeni içerikleri forward_list'e atayın.

30 forward_list :: operator = başlatıcı listesi sürümü

Eskileri değiştirerek yeni içerikleri forward_list'e atayın.

31 forward_list :: pop_front

İlk öğeyi forward_list'ten kaldırır.

32 forward_list :: push_front kopya sürümü

Forward_list'in başına yeni eleman ekler.

33 forward_list :: push_front taşıma sürümü

Forward_list'in başına yeni eleman ekler.

34 forward_list :: remove

, değerle eşleşen forward_list'ten öğe (ler) i kaldırır.

35 forward_list :: remove_if

, koşulu karşılayan forward_list öğesinden öğeleri kaldırır.

36 forward_list :: resize

Forward_list'in boyutunu değiştirir.

37 forward_list :: değer sürümünü yeniden boyutlandır

Forward_list'in boyutunu değiştirir.

38 forward_list :: ters

Forward_list'te bulunan öğelerin sırasını tersine çevirir.

39 forward_list :: sort

Forward_list'in öğelerini sıralar.

40 forward_list :: sort karşılaştırma işlevi

Forward_list'in öğelerini sıralar.

41 forward_list :: splice_after

Forward_list'ten * this'e tüm öğeleri aktarır.

42 forward_list :: splice_after sürümü taşı

Transferler forward_list gelen tüm unsurları x için bu * hamle semantiğini kullanarak.

43 forward_list :: splice_after tek eleman

Transferler bir unsur Yineleyici tarafından işaret i forward_list gelen x içine * Bu .

44 forward_list :: splice_after tek elemanlı taşıma versiyonu

Transferler eleman Yineleyici tarafından işaret i forward_list gelen x içine bu * hareket semantiğini kullanarak.

45 forward_list :: splice_after aralık versiyonu

Aralığındaki Transferler unsurları birinci üzere son gelen x için * Bu .

46 forward_list :: splice aralığı ve versiyonu taşı

Aralığındaki Transferler unsurları birinci üzere son gelen x için bu * hamle semantiğini kullanarak.

47 forward_list :: takas

Bir forward_list'in içeriğini başka bir forward_list x'in içeriğiyle değiştirir .

48 forward_list :: unique

Ardışık tüm yinelenen öğeleri forward_list'ten kaldırır.

49 forward_list :: unique

Ardışık tüm yinelenen öğeleri forward_list'ten kaldırır.

Üye olmayan aşırı yüklenmiş işlevler

Sr.No. Yöntem ve Açıklama
1 operatör ==

İki forward_list'in eşit olup olmadığını test eder.

2 operatör! =

İki forward_list'in eşit olup olmadığını test eder.

3 operatör <

İlk forward_list'in diğerinden daha küçük olup olmadığını test eder.

4 operatör <=

İlk forward_list'in diğerinden küçük veya diğerine eşit olup olmadığını test eder.

5 operatör>

First forward_list'in diğerinden büyük olup olmadığını test eder.

6 operatör> =

İlk forward_list'in diğerinden büyük veya diğerine eşit olup olmadığını test eder.

7 takas

İki forward_list'in içeriğini değiştirir.