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