Platform::Agile Sınıfı
Çevik nesne olarak MashalingBehavior=Standard olan bir nesneyi temsil eder ve bu da çalışma zamanı iş parçacığı oluşturma özel durumlarının olasılığını büyük ölçüde azaltır. çevik Agile<T>
olmayan nesnenin aynı veya farklı bir iş parçacığını çağırmasını veya bu nesneden çağrılmalarını sağlar. Daha fazla bilgi için bkz . İş Parçacığı Oluşturma ve Sıralama.
Sözdizimi
template <typename T>
class Agile;
Parametreler
T
Çevik olmayan sınıfın tür adı.
Açıklamalar
Windows Çalışma Zamanı sınıfların çoğu çevik. Çevik bir nesne, aynı veya farklı bir iş parçacığında bir in-proc veya out-of-proc nesnesi çağırabilir veya tarafından çağrılabilir. Bir nesne çevik değilse, çevik olmayan nesneyi çevik olan bir Agile<T>
nesneye sarmalar. Agile<T>
Ardından nesne sıralanabilir ve temel alınan çevik olmayan nesne kullanılabilir.
Agile<T>
sınıfı yerel, standart bir C++ sınıfıdır ve gerektiriragile.h
. Çevik olmayan nesneyi ve Çevik nesnesinin bağlamını temsil eder. Bağlam, çevik bir nesnenin iş parçacığı modelini ve sıralama davranışını belirtir. İşletim sistemi, bir nesnenin nasıl sıraleneceğini belirlemek için bağlamı kullanır.
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
Çevik::Çevik | Çevik sınıfının yeni bir örneğini başlatır. |
Çevik::~Çevik Yıkıcı | Çevik sınıfının geçerli örneğini yok eder. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
Çevik::Get | Geçerli Çevik nesnesi tarafından temsil edilen nesneye bir tanıtıcı döndürür. |
Çevik::GetAddressOf | Geçerli Çevik nesnesini yeniden başlatıp bir tanıtıcının adresini türünde T bir nesneye döndürür. |
Agile::GetAddressOfForInOut | Geçerli Çevik nesnesi tarafından temsil edilen nesnenin tutamacının adresini döndürür. |
Çevik::Yayın | Geçerli Çevik nesnesinin temel nesnesini ve bağlamını atar. |
Ortak İşleçler
Veri Akışı Adı | Açıklama |
---|---|
Çevik::operator-> | Geçerli Çevik nesnesi tarafından temsil edilen nesnenin tanıtıcısını alır. |
Agile::operator= | Belirtilen değeri geçerli Çevik nesnesine atar. |
Devralma Hiyerarşisi
Object
Agile
Gereksinimler
Desteklenen en düşük istemci: Windows 8
Desteklenen en düşük sunucu: Windows Server 2012
Ad Alanı: Platform
Üst bilgi: agile.h
Çevik::Çevik Oluşturucu
Çevik sınıfının yeni bir örneğini başlatır.
Sözdizimi
Agile();
Agile(T^ object);
Agile(const Agile<T>& object);
Agile(Agile<T>&& object);
Parametreler
T
template typename parametresi tarafından belirtilen bir tür.
object
Bu oluşturucunun ikinci sürümünde, yeni bir Çevik örneği başlatmak için kullanılan bir nesne. Üçüncü sürümde, yeni Çevik örneğine kopyalanan nesne. Dördüncü sürümde, yeni Çevik örneğine taşınan nesne.
Açıklamalar
Bu oluşturucunun ilk sürümü varsayılan oluşturucudur. İkinci sürüm, parametresi tarafından belirtilen nesneden yeni Çevik örnek sınıfını object
başlatır. Üçüncü sürüm kopya oluşturucudur. Dördüncü sürüm, taşıma oluşturucusdur. Bu oluşturucu özel durumlar oluşturamaz.
Çevik::~Çevik Yıkıcı
Çevik sınıfının geçerli örneğini yok eder.
Sözdizimi
~Agile();
Açıklamalar
Bu yıkıcı, geçerli Çevik nesnesi tarafından temsil edilen nesneyi de serbest bırakır.
Çevik::Get Yöntemi
Geçerli Çevik nesnesi tarafından temsil edilen nesneye bir tanıtıcı döndürür.
Sözdizimi
T^ Get() const;
Dönüş Değeri
Geçerli Çevik nesnesi tarafından temsil edilen nesnenin tanıtıcısı.
Dönüş değerinin türü aslında gizli olmayan bir iç türdür. Dönüş değerini tutmanın kullanışlı bir yolu, bunu tür kesinti anahtar sözcüğüyle bildirilen bir değişkene auto
atamaktır. Örneğin, auto x = myAgileTvariable->Get();
.
Agile::GetAddressOf Yöntemi
Geçerli Çevik nesnesini yeniden başlatıp bir tanıtıcının adresini türünde T
bir nesneye döndürür.
Sözdizimi
T^* GetAddressOf() throw();
Parametreler
T
template typename parametresi tarafından belirtilen bir tür.
Dönüş Değeri
türündeki T
bir nesneye yönelik tanıtıcının adresi.
Açıklamalar
Bu işlem, varsa türünde T
bir nesnenin geçerli gösterimini serbest bırakır; Çevik nesnesinin veri üyelerini yeniden başlatacak; geçerli iş parçacığı bağlamını alır ve sonra çevik olmayan bir nesneyi temsil edebilen tanıtıcıdan nesneye değişkenin adresini döndürür. Çevik sınıf örneğinin bir nesneyi temsil etmesine neden olmak için atama işlecini (Agile::operator=) kullanarak nesneyi Çevik sınıf örneğine atayın.
Agile::GetAddressOfForInOut Yöntemi
Geçerli Çevik nesnesi tarafından temsil edilen nesnenin tutamacının adresini döndürür.
Sözdizimi
T^* GetAddressOfForInOut() throw();
Parametreler
T
template typename parametresi tarafından belirtilen bir tür.
Dönüş Değeri
Geçerli Çevik nesnesi tarafından temsil edilen nesne tanıtıcısının adresi.
Açıklamalar
Bu işlem geçerli iş parçacığı bağlamını alır ve ardından bir tanıtıcının adresini temel alınan nesneye döndürür.
Agile::Release Yöntemi
Geçerli Çevik nesnesinin temel nesnesini ve bağlamını atar.
Sözdizimi
void Release() throw();
Açıklamalar
Geçerli Çevik nesnesinin temel alınan nesnesi ve bağlamı varsa atılır ve çevik nesnesinin değeri null olarak ayarlanır.
Agile::operator->
İşleci
Geçerli Çevik nesnesi tarafından temsil edilen nesnenin tanıtıcısını alır.
Sözdizimi
T^ operator->() const throw();
Dönüş Değeri
Geçerli Çevik nesnesi tarafından temsil edilen nesnenin tanıtıcısı.
Bu işleç aslında açıklanmayan bir iç tür döndürür. Dönüş değerini tutmanın kullanışlı bir yolu, bunu tür kesinti anahtar sözcüğüyle bildirilen bir değişkene auto
atamaktır.
Agile::operator= İşleci
Belirtilen nesneyi geçerli Çevik nesnesine atar.
Sözdizimi
Agile<T> operator=( T^ object ) throw();
Agile<T> operator=( const Agile<T>& object ) throw();
Agile<T> operator=( Agile<T>&& object ) throw();
T^ operator=( IUnknown* lp ) throw();
Parametreler
T
Şablon tür adı tarafından belirtilen tür.
object
Geçerli Çevik nesnesine kopyalanan veya taşınan bir nesnenin nesnesi veya tanıtıcısı.
Lp
Bir nesnenin IUnknown arabirim işaretçisi.
Dönüş Değeri
Türünde bir nesnenin tanıtıcısı T
Açıklamalar
Atama işlecinin ilk sürümü bir tanıtıcıyı geçerli Çevik nesnesine bir başvuru türüne kopyalar. İkinci sürüm, bir Çevik türüne başvuruyu geçerli Çevik nesnesine kopyalar. Üçüncü sürüm, bir Çevik türünü geçerli Çevik nesnesine taşır. Dördüncü sürüm, bir işaretçiyi geçerli Çevik nesnesine com nesnesine taşır.
Atama işlemi, geçerli Çevik nesnesinin bağlamını otomatik olarak kalıcı hale getirir.