multiset Class
Multiset sınıfı, içerdiği öğeleri değerlerin benzersiz olması gerekmez ve hangi göre verileri otomatik olarak sipariş edilen anahtar değerleri verdikleri bir koleksiyondan veri alma ve depolama için kullanılan standart Şablon Kütüphanesi. Bir öðenin bir multiset anahtar değeri doğrudan değiştirilemez. Bunun yerine, eski değerleri silinir ve yeni değerlerle öğeler eklenir.
template <
class Key,
class Compare=less<Key>,
class Allocator=allocator<Key>
>
class multiset
Parametreler
Tuş
Multiset kaydedilecek öğe veri türü.Karşılaştırma
Sağlayan bir işlev nesne türü multiset bunların göreli çalışma sırasını belirlemek için sıralama anahtarları olarak iki öğe değerleri karşılaştırabilirsiniz. İkili karşılaştırma az<Key> varsayılan değerdir.Allocator
Multiset's ayırma ve bellek ayırmayı kaldırma hakkındaki ayrıntıları saklar saklı ayırıcı nesnesini gösteren türü. Varsayılan değer ayırıcı*<Key>.*
Notlar
stl multiset sınıfıdır:
Verimli bir ilişkili anahtar değerine dayalı öğe değerlerinin alınmasını destekler bir değişken boyutu kapsayıcı olan bir ilişkilendirilebilir kapsayıcı.
Geri alınamaz, çünkü çift yönlü Yineleyicilerde öğelerini erişim sağlar.
Sıralanmış, çünkü öğelerini belirtilen karşılaştırma işlevi ile kapsayıcı içindeki anahtar değerlerine göre sıralanır.
Birden çok ilişkili birçok öğe değerlerinin bir anahtar değeri olabilir böylece öğelerini benzersiz anahtarlar olması gerekmez algılama içinde.
Basit ilişkilendirilebilir bir kapsayıcı öğe değerlerini anahtar değerlerini olduğundan.
Bir şablon sınıf işlevi sağladığından genel ve böylece bağımsız öğeler içerdiği verilerin belirli türde. Kullanılacak veri türü yerine, karşılaştırma işlevi ve ayırıcı ile sınıf şablonu parametresinde belirtilen.
Multiset sınıfı tarafından sağlanan Yineleyici sınıf üye işlevlerini ancak bir çift yönlü Yineleyici olan Ekle ve multiset çift yönlü Yineleyicilerde sınıfı tarafından garanti den daha az olan işlevselliği gereksinimleri zayıf giriş Yineleyici şablona parametre olarak ele sürümlere sahip. Farklı bir yineleyici kavramları kendi işlevleri tarafından sadeleştirmeler ilgili aile oluştururlar. Her Yineleyici kavramı kendi gereksinimleri vardır ve bunlarla çalışmak algoritmaları varsayımlarıyla bu tür bir yineleyici tarafından sağlanan gereksinimlerine sınırlandırmak gerekir. Yeniden yönlendiricide başvuru Giriş bir yineleyici bazı nesnesine başvurmak için yapıldı olduğunu ve bunun için sıradaki sonraki Yineleyici 'er olduğunu kabul. Bu işlev en az sayıda ama dosyası Yineleyicilerde aralığı hakkında konuşmak için yeterlidir [_First, _Last) sınıfının üye işlevleri bağlamında.
Kapsayıcı türü seçimi genel arama türüne göre ve uygulama tarafından gerekli ekleme. Arama, ekleme ve kaldırma işlemlerinin ilişkilendirilebilir kap getirilir. Bu işlemler açıkça destekleyen üye verimli ortalama logaritması konteynerdeki öğelerin sayısını orantılı olan bir zaman bunları gerçekleştiren işlevlerdir. Öğeleri ekleme yok Yineleyicilerde geçersiz kılar ve öğelerini kaldırma sırasında kaldırılan öğeler özellikle ettiği Yineleyicilerde geçersiz kılar.
Uygulama tarafından kendi anahtarlarla değerleri ilişkilendirme koşullar olduğunda seçim ilişkilendirilebilir kapsayıcısının karşılayan multiset olmalıdır. Bir multiset öğeleri birden çok ve anahtarlarının benzersiz biçimde kendi sıralama anahtarı olarak hizmet eder. Bir bu tür bir yapı için sıralı bir listesini, söyleyin, sözcük sözcük birden çok kez oluşabilir modelidir. Sonra da bir dizi uygun kapsayıcı yapı olacaktı birden fazla sözcük kopyasını, izin değil. Daha sonra benzersiz tanımları benzersiz anahtar sözcükler listesi değerleri olarak bağlıymış harita bu verileri içerecek şekilde uygun bir yapı olacaktır. Bunun yerine tanımları benzersiz değil, sonra bir birden çok eşleme seçim kapsayıcısı olacaktır.
Multiset sırasını denetleyen işlev saklı nesne türü çağırarak siparişleri Compare. Üye işlevi çağrılarak erişilebilen bir karşılaştırma işlevi Bu saklı nesnesidir key_comp. Genel olarak, öğeleri yalnızca küçüktür bu sırayı oluşturmak için karşılaştırılabilir: her iki öğe verilen böylece, onu (içinde her ikisi de diğer azdır algılama) eşdeğer veya diğer daha az olduğunu belirlenebilir. Bu bir nonequivalent öğeleri sıralamada sonuçlanır. Daha fazla teknik Not üzerinde katı bir zayıf standart matematiksel anlamda sipariş işleminiz ikili bir yüklemi karşılaştırma işlevidir. İkili karşılaştırma f(x,y) iki bağımsız değişken nesne olan bir işlev nesnesidir x ve y ve dönüş değeri doğru veya yanlış. İrreflexive, antisymmetric ve karşılıklı ikili karşılaştırma ve eşdeğerlik geçişli, iki yerde nesneleri sıralamaya sıkı bir zayıf olduğu bir küme halinde uygulanan sıralama x ve y ne zaman eşdeğer olarak tanımlanan her ikisi de f(x, y) ve f(y, x) yanlış. Anahtarlar arasındaki eşitlik daha güçlü koşulu, eşdeğerlik geçiyorsa, sipariş toplam (tüm öğelerin birbirine göre sipariş algılama) olur ve eşleşen anahtarları birbirinden indiscernible.
Oluşturucular
Yapıları bir multiset yani boş veya başka bir deyişle kopya tüm veya belirtilen bir parçası multiset. |
TypeDef
Typedef için allocator için sınıf multiset nesnesi. |
|
Typedef okuyabileceği bir çift yönlü Yineleyici için bir const öğesinin multiset. |
|
Typedef bir işaretçi için bir const öğesinde bir multiset. |
|
Typedef başvuru için bir const öğesi depolanmış bir multiset okumak ve gerçekleştirmek için const işlemleri. |
|
Typedef okuyabilen herhangi bir çift yönlü Yineleyici için const öğesinin multiset. |
|
İmzalı tamsayı typedef öğelerinin sayısı için bir multiset Yineleyicilerde göre sıralanmasını öğeleri arasında bir aralık. |
|
Typedef bir çift yönlü Yineleyici okumak veya herhangi bir öğeyi değiştirmek için bir multiset. |
|
Typedef öğeler iki göreli sırasını belirlemek için iki anahtar karşılaştıran bir işlevi nesnesi için multiset. |
|
Typedef öğeler iki göreli sırasını belirlemek için iki sıralama anahtarları karşılaştırmak bir işlev nesnesi için multiset. |
|
Typedef işaretçisi bir öğeyi bir multiset. |
|
Typedef saklanan öğe başvurusu için bir multiset. |
|
Typedef bir çift yönlü Yineleyici okumak veya bir ters bir öğeyi değiştirmek için multiset. |
|
Öğelerin sayısını gösteren bir işaretsiz tamsayı türü bir multiset. |
|
Typedef iki öğe göreceli sıralamalarını belirlemek için sıralama anahtarları olarak karşılaştırma işlevi nesnesi için multiset. |
|
Bir öğe depolanan bir nesneyi tanımlayan bir typedef bir multiset , değer olarak kapasitesi. |
Yöntemler
İlk öğesine işaret eden bir yineleyici döndürür multiset. |
|
Tüm öğeleri siler bir multiset. |
|
Öğelerin sayısını döndüren bir multiset , anahtarla eşleşen parametre tarafından belirtilen anahtar. |
|
Bağlıysa depolama alanı sınamalarını bir multiset boş. |
|
Son öğe sonra konumu gösteren bir yineleyici döndürür bir multiset. |
|
Yineleyicilerde çiftini döndürür. İlk öğe için çift nokta ilk Yineleyici bir multiset ile belirtilen anahtar büyük bir anahtar. İkinci Yineleyici ilk öğe için çift nokta multiset anahtar'den büyük veya eşit olan bir anahtar. |
|
Bir öğe veya öğeleri aralığı kaldırır bir multiset belirtilen konumlara veya belirtilen anahtarı aynı öğeleri kaldırır. |
|
Bir öğenin ilk konumuna işaret eden bir yineleyici döndürür bir multiset , belirtilen anahtar için anahtarın vardır. |
|
Bir kopyasını verir allocator oluşturmak için kullanılan bir nesne multiset. |
|
Bir öğe veya öğeleri aralığı ekler bir multiset. |
|
Öğeler iki göreli sırasını belirlemek için iki sıralama anahtarları karşılaştırmak bir işlev nesne sağlar multiset. |
|
İlk öğe bir yineleyici döndürür bir multiset belirtilen anahtar'den büyük veya eşit olan bir anahtar. |
|
En fazla uzunluğunu verir multiset. |
|
İlk öğe bir ters işaret eden bir yineleyici döndürür multiset. |
|
Tersine çevrilmiş bir son öğe izleyen konumu işaret eden bir yineleyici döndürür multiset. |
|
Öğelerin sayısını döndüren bir multiset. |
|
Öğeleri iki kullanmaz multisets. |
|
İlk öğe bir yineleyici döndürür bir multiset ile belirtilen anahtar büyük bir anahtar. |
|
Sipariş öğesi değerleri kullanılan karşılaştırma nesnenin bir kopyasını alır bir multiset. |
Gereksinimler
Başlık: <set>
Namespace: std
Ayrıca bkz.
Başvuru
Standart C++ Kitaplığı'nda iş parçacığı güvenliği