tensör akışı:: hizmet veren:: AspiredVersionsManagerBuilder
#include <aspired_versions_manager_builder.h>
Bir oluşturur AspiredVersionsManager seçenekler ve ona bağlı kaynaklar ile.
Özet
Kaynakların sahipliğini devralır ve iade edilen yönetici, kendisinin ve bağımlılıklarının yok edilmesiyle ilgilenir. Tek kaynaklar ve kaynak / kaynak adaptörü zincirleri Hem kabul edilir, yani doğrudan yükleyiciler tedarik kaynakları (kullanabilirsiniz Kaynak <std :: unique_ptr < Yükleyici >>) veya oluşur kompozitler Kaynak <S> + bazı zincir SourceAdapter <S ...>, ..., SourceAdapter <..., std :: unique_ptr < Yükleyici >>. Oluşturucu zinciri sizin için bağlar.
Kullanımı:
... AspiredVersionsManagerBuilder::Options options = ManagerOptions(); std::unique_ptr<AspiredVersionsManagerBuilder> builder; TF_CHECK_OK(AspiredVersionsManagerBuilder::Create( std::move(options), &builder)); builder->AddSource(std::move(some_source)); builder->AddSourceChain( std::move(source), std::move(source_adapter1), std::move(source_adapter2)); std::unique_ptr<Manager> manager = builder->Build(); ...
NOT: Bir oluşturucu sadece tek oluşturmak için kullanılabilir AspiredVersionsManager .
Bu sınıf iş parçacığı için güvenli değildir.
Yapıcılar ve Yıkıcılar | |
---|---|
~AspiredVersionsManagerBuilder () |
Genel türler | |
---|---|
Options | kullanarak |
Genel statik işlevler | |
---|---|
Create ( Options options, std::unique_ptr< AspiredVersionsManagerBuilder > *builder) | Status |
Kamu işlevleri | |
---|---|
AddSource (std::unique_ptr< S > source) | void Kaynak bağlar AspiredVersionsManager inşa ve mülkiyetindeki devralır ediliyor. |
AddSourceChain (std::unique_ptr< S > source, std::unique_ptr< SA > first_source_adapter, std::unique_ptr< Args >... remaining_source_adapters) | void Bir kaynak ve bir kaynak adaptörleri zincirinden oluşan bir zinciri bağlar, st |
Build () | std::unique_ptr< Manager > Oluşturur AspiredVersionsManager gibi döner onu Yöneticisi arayüzünde. |
Genel türler
Seçenekler
AspiredVersionsManager::Options Options
Genel statik işlevler
Yaratmak
Status Create( Options options, std::unique_ptr< AspiredVersionsManagerBuilder > *builder )
Kamu işlevleri
Kaynak ekle
void AddSource( std::unique_ptr< S > source )
Kaynak bağlar AspiredVersionsManager inşa ve mülkiyetindeki devralır ediliyor.
Şablon türü S dönüştürülebilir olması: gerektiriyor Kaynak <std :: unique_ptr < Yükleyici >>.
AddSourceChain
void AddSourceChain( std::unique_ptr< S > source, std::unique_ptr< SA > first_source_adapter, std::unique_ptr< Args >... remaining_source_adapters )
Bir kaynak ve bir kaynak adaptörleri zincirinden oluşan bir zinciri bağlar, st
zincirdeki son adaptör, yönetici için Yükleyiciler yayar. Son bağdaştırıcı yöneticiye bağlanır. Tüm zincirin sahipliğini alıyoruz.
GEREKTİRİR: En az bir kaynak bağdaştırıcı.
Kullanım: oluşturucu->AddSourceChain( std::move(source), std::move(source_adapter1), std::move(source_adapter2));
Yapı
std::unique_ptr< Manager > Build()
Oluşturur AspiredVersionsManager gibi döner onu Yöneticisi arayüzünde.
~AspiredVersionsManagerBuilder
~AspiredVersionsManagerBuilder()=default