Aracılığıyla paylaş


<functional>

Oluşturmaya yardımcı olması standart şablon kitaplığı (stl) işlevleri tanımlar function nesneleri, functors ve bunların Ciltler olarak da bilinir. Bir nesneyi tanımlayan bir tür işlev nesnesidir operator(). İşlev işaretçisi bir işlev nesne olabilir, ancak genellikle daha nesne bir işlev çağrısı sırasında erişilen ek bilgileri depolamak için kullanılır.

#include <functional>

Notlar

Algoritmalar gerektiren iki işlev nesne türleri: Tekli ve ikili. Tekli function nesneleri bir bağımsız değişken gerektirir ve ikili işlevi nesneleri iki bağımsız değişken gerektirir. İşlev işaretçileri ve bir işlevi nesnesi olarak bir algoritma geçirilebilir, ancak işlev nesneleri uyarlanabilir ve kapsamı, esneklik ve stl verimliliğini artırmak. Örneğin, bir algoritma iletilmeden önce bir işlev bağlanacak bir değer gerekiyorsa, işlev işaretçisi kullanılamadı. İşlev bağdaştırıcıları değerine bağlı uyarlanabilir function nesneleri işlev işaretçileri dönüştürün. <functional> Başlığı Uyarlanabilir işlevi nesneler olarak çağrılacak üye işlevler sağlayan üye işlev bağdaştırıcıları da içerir. İşlevler, bağımsız değişkeni belirterek iç içe türü bildirimleri varsa uyarlanabilir ve dönüş türleri. Bu uyumluluk unary_function ya da binary_function Temel sınıftan kalıtımla tüm standart nesne sınıfları sağlayarak gerçekleştirilir C++ standart gerektirir. Function nesnelerini ve bunların bağdaştırıcıları stl varolan uygulamaları yükseltmek ve stl C++ programlama ortamına tümleştirme yardımcı olmak izin verir.

TR1 uzantıları

TR1 Visual C++ uygulamasında bulunan aşağıdaki özellikler eklenir:

  • A imza çağrısı parenthesized virgülle ayrılmış listesi sıfır veya daha fazla bağımsız değişken türleri tarafından izlenen bir dönüş türü adıdır.

  • A sarıcı çağrısı çağrısı kapsayıcı türü nesnesidir.

  • A çağrı sarıcı türü çağrılabilir bir nesneyi tutan ve bu nesneyi iletir bir arama işlemi destekler bir türüdür.

  • A çağrılabilir nesne çağrılabilir türünde bir nesne olur.

  • A çağrılabilir türü işlevi, bir üye işlev işaretçisi, üye veri işaretçisi veya nesnelerin görüntülenebilir hemen bir işlev çağrısı işleci solundaki sınıf türü için bir işaretçi.

  • A hedef nesne çağrısı wrapper nesnesi tarafından tutulan çağrılabilir bir nesne.

Pseudo-function INVOKE(f, t1, t2, ..., tN) aşağıdakilerden birini gösterir:

  • (t1.*f)(t2, ..., tN)zaman f sınıfının üye işlev için bir işaretçi T ve t1 bir nesne türü olan T veya türünde bir nesne başvurusu T veya türetilen türde bir nesne başvurusu T.

  • ((*t1).*f)(t2, ..., tN)zaman f sınıfının üye işlev işaretçisi olan T ve t1 bir önceki öğe ile açıklanan türlerinden biri değil.

  • t1.*fzaman f sınıfının üye verilerini bir işaretçidir T ve t1 bir nesne türü olan T ya da türünde bir nesne başvurusu T veya türetilen türde bir nesne başvurusu T.

  • (*t1).*fzaman f sınıf sınıfının üye verilerini bir işaretçidir T ve t1 bir önceki öğe ile açıklanan türlerinden biri değil.

  • f(t1, t2, ..., tN)Diğer durumlarda.

Pseudo-function INVOKE(f, t1, t2, ..., tN, R) anlamına gelir INVOKE(f, t1, t2, ..., tN) dönüştürülen örtülü olarak R.

Çağrı sarıcı varsa bir zayıf sonuç türü, kendi üye türünde result_type türüne göre T aşağıdaki gibi saran hedef nesnenin:

  • T İşlevi bir işaretçidir result_type dönüş türü eşanlamlıdır T.

  • T Üye işlev işaretçisi olan result_type dönüş türü eşanlamlıdır T.

  • T Veri üyesi bir işaretçidir result_type veri üyesi bildirilen türü için eşanlamlıdır.

  • T Üye türü olan bir sınıf türü result_type, sonra result_type eşanlamlıdır T::result_type.

  • Aksi halde, hiç üye yok result_type.

Her çağrı sarıcı kopya birkurucusu vardýr. A Basit arama sarmalayıcı atama işleci olan kopya yapıcı ve atama işleci değil throw istisnalar vardır bir çağrı sarıcı olan. A çağrısı sarıcı iletme bağımsız değişken listesi kullanarak adlı bir çağrı sarıcı olan t1, t2, ..., tN, burada her ti bir lvalue değil.

Çağrı sarmalayıcılar türlerinden bağımsız olan bu üstbilgi destek işlevi çağrısı işleci tanımlanan T1, T2, ..., TN, 0 <= N <= NMAX. Bu uygulamada değeri NMAX 10'dur.

169de7b0.collapse_all(tr-tr,VS.110).gifSınıflar

bad_function_call

Belirtmek için durum özel durum çağrısı tanımlayan bir sınıf operator() , bir işlevi nesne nesne boş olduğundan başarısız oldu.

binary_negate

Üye işlevi sağlayan bir şablon sınıf belirtilen ikili bir işlevin dönüş değeri olumsuzlar.

binder1st

İlk bağımsız değişken ikili işlevi belirtilen bir değere bağlayarak ikili işlevi nesnesi tekli işlevi nesnesine dönüştürür yapıcı sağlayan şablon sınıfı.

binder2nd

İkili işlevi nesnesi, belirtilen bir değere ikili işlevinin ikinci bağımsız değişken bağlayarak bir tekli işlevi nesnesine dönüştürür yapıcı sağlayan bir şablon sınıf.

const_mem_fun_ref_t

Başvuru bağımsız değişkeni ile hazırlarken tekli işlevi nesnesi olarak çağrılacak hiçbir baðýmsýz deðiþken almaz const bir üye işlev verir bağdaştırıcısının sınıf.

const_mem_fun_t

İşaretçi değişkeni ile hazırlarken tekli işlevi nesnesi olarak çağrılacak hiçbir baðýmsýz deðiþken almaz const bir üye işlev verir bağdaştırıcısının sınıf.

const_mem_fun1_ref_t

Başvuru bağımsız değişkeni ile başlatılmış bir ikili işlevi nesnesi olarak adlandırılan tek bir baðýmsýz deðiþken alýr const bir üye işlev verir bağdaştırıcısının sınıf.

const_mem_fun1_t

İşaretçi değişkeni ile başlatılmış bir ikili işlevi nesnesi olarak adlandırılan tek bir baðýmsýz deðiþken alýr const bir üye işlev verir bağdaştırıcısının sınıf.

işlevi

Sarar çağrılabilir bir nesne sınıfı.

hash

Karma kodu değeri hesaplayan bir sınıf.

is_bind_expression

Belirli bir türü çağırarak oluşturulursa sınar bir sınıf bind.

is_placeholder

Belirli bir tür yer tutucu ise sınayan bir sınıf.

mem_fun_ref_t

İzin veren bir bağdaştırıcı sınıfı bir non_const bir başvuru bağımsız değişkeni ile hazırlarken tekli işlevi nesnesi olarak çağrılacak hiç bağımsız üye işlevi.

mem_fun_t

İzin veren bir bağdaştırıcı sınıfı bir non_const bir işaretçi değişkeni ile hazırlarken tekli işlevi nesnesi olarak çağrılacak hiç bağımsız üye işlevi.

mem_fun1_ref_t

İzin veren bir bağdaştırıcı sınıfı bir non_const üye işlev başvuru bağımsız değişkeni ile başlatılmış bir ikili işlevi nesnesi olarak adlandırılan tek bir baðýmsýz deðiþken alýr.

mem_fun1_t

İzin veren bir bağdaştırıcı sınıfı bir non_const üye işlev işaretçi değişkeni ile başlatılmış bir ikili işlevi nesnesi olarak adlandırılan tek bir baðýmsýz deðiþken alýr.

pointer_to_binary_function

İkili işlev işaretçisi uyarlanabilir bir ikili işlevi dönüştürür.

pointer_to_unary_function

Tekli işlev işaretçisi uyarlanabilir tekli işlevdeki dönüştürür.

reference_wrapper

Başvuru saran bir sınıfı.

result_of

Kaydırılan callable nesnenin dönüş türü tutan bir yapı.

unary_negate

Üye işlevi sağlayan bir şablon sınıf belirtilen tekli işlevin dönüş değeri olumsuzlar.

169de7b0.collapse_all(tr-tr,VS.110).gifİşlevler

bind

Bağımsız değişkenler callable nesnesine bağlanır.

bind1st

İlk bağımsız değişken ikili işlevi belirtilen bir değere bağlayarak ikili işlevi nesnesi tekli işlevi nesnesine dönüştürmek için bir bağdaştırıcı oluşturur Yardımcısı şablon işlevi.

bind2nd

İkili işlevi nesnesi, belirtilen bir değere ikili işlevinin ikinci bağımsız değişken bağlayarak bir tekli işlevi nesnesine dönüştürmek için bir bağdaştırıcı oluşturur Yardımcısı şablon işlevi.

bit_and

İkili ve iki parametre döndürür.

bit_or

İkili veya iki parametre döndürür.

bit_xor

İki parametre ikili xor döndürür.

cref

Bir const yapıları reference_wrapper alınan bir bağımsız değişken.

mem_fn

Basit arama sarıcı oluşturur.

mem_fun

İşlev işaretçisi bağımsız değişkenlerle başlatıldı, üye işlevleri için nesne bağdaştırıcıları yapılandırmak için kullanılan yardımcı şablon fonksiyonlar

mem_fun_ref

Başvuru bağımsız değişkenlerle başlatıldı, üye işlevleri için nesne bağdaştırıcıları işlevi oluşturmak için kullanılan yardımcı şablon işlevi.

Not1

Tekli yüklemi tamamlayıcı döndürür.

not2

İkili karşılaştırma tamamlayıcı döndürür.

ptr_fun

Yardımcısı şablon işlevi Tekli ve ikili uyarlanabilir işlevleri işaretçiler, sırasıyla convert Tekli ve ikili işlevi kullanılır.

ref

Yapıları bir reference_wrapper alınan bir bağımsız değişken.

takas

İki değiştirir function nesneler.

169de7b0.collapse_all(tr-tr,VS.110).gifYapılar

binary_function

İkili işlevi nesneyi sağlayan türetilmiş bir sınıf tarafından miras türünü tanımlayan boş bir taban sınıf.

böler

Belirtilen değer türü öğelerinde, sıfıra bölme aritmetik işlem yapan önceden tanımlı işlev nesne sınıfı sağlar.

equal_to

Belirtilen türde bir değer türü başka bir değere eşit olup olmadığını sınar ikili karşılaştırma.

büyük

Belirtilen türde bir değer olup olmadığını sınar ikili karşılaştırma belirtimi, belirtilen türde başka bir değerden daha büyük.

greater_equal

Belirtilen türde bir değer sıfırdan büyük veya bu türde başka bir değere eşit olup olmadığını sınar ikili karşılaştırma.

daha az

Belirtilen türde bir değer olup olmadığını sınar ikili bir yüklemi türde başka bir değerden küçüktür.

less_equal

Belirtilen türde bir değer ya da bu tür başka bir değere eşit olup olmadığını sınar ikili karşılaştırma.

logical_and

Belirtilen değer türü ve sınamaları için gerçeği öğelerini ya da sonucun falsity birlikte mantıksal işlemi gerçekleştiren önceden tanımlanmış bir işlev nesne sınıfı sağlar.

logical_not

Belirtilen değer türü ve sınamaları için gerçeği öğelerini ya da falsity sonucu, Negatiflik, mantıksal işlemi gerçekleştiren önceden tanımlanmış bir işlev nesne sınıfı sağlar.

logical_or

Belirtilen değer türü ve sınamaları için gerçeği öğelerini ya da falsity sonucunun disjunction mantıksal işlemi gerçekleştiren önceden tanımlanmış bir işlev nesne sınıfı sağlar.

eksi

Belirtilen değer türü öğeleri üzerinde aritmetik çıkarma işlemi gerçekleştiren önceden tanımlanmış bir işlev nesne sınıfı sağlar.

Modül

Belirtilen değer türü öğelerinde Modülüs aritmetik işlemi gerçekleştiren önceden tanımlanmış bir işlev nesne sınıfı sağlar.

çarpar

Belirtilen değer türü öğelerinde çarpma aritmetik işlemi gerçekleştiren önceden tanımlanmış bir işlev nesne sınıfı sağlar.

olumsuz yanıtlamak

Öğe değeri, negatif döndüren önceden tanımlanmış bir işlev nesne sınıfı sağlar.

not_equal_to

Belirtilen türde bir değer olup olmadığını sınar ikili bir yüklemi türde başka bir değere eşit değildir.

artı

Belirtilen değer türü öğeleri üzerinde aritmetik toplama işlemini gerçekleştiren önceden tanımlanmış bir işlev nesne sınıfı sağlar.

unary_function

Tekli işlevi nesneyi sağlayan türetilmiş bir sınıf tarafından miras türünü tanımlayan boş bir taban sınıf.

169de7b0.collapse_all(tr-tr,VS.110).gifNesneleri

_1

Değiştirilebilir değişkenleri için yer tutucu.

169de7b0.collapse_all(tr-tr,VS.110).gifİşleçler

operator ==

Eşitlik karşılaştırma callable nesnelerin izin vermez.

operator! =

Eşitsizliği karşılaştırma callable nesnelerin izin vermez.

Ayrıca bkz.

Başvuru

Standart C++ Kitaplığı'nda iş parçacığı güvenliği

Standart Şablon Kütüphanesi

Diğer Kaynaklar

<functional> Üyeler

Üstbilgi dosyaları