aliran tensor:: porsi:: AspiredVersionsManagerBuilder

#include <aspired_versions_manager_builder.h>

Membangun sebuah AspiredVersionsManager dengan pilihan dan sumber terhubung.

Ringkasan

Ini mengambil alih kepemilikan sumber dan manajer yang dikembalikan menangani penghancuran dirinya sendiri dan dependensinya. Kedua sumber tunggal dan rantai sumber / sumber-adapter yang diterima, yaitu Anda dapat menggunakan sumber-sumber yang langsung memasok loader ( Sumber <std :: unique_ptr < Loader >>) atau komposit yang terdiri dari Sumber <S> + beberapa rantai SourceAdapter <S ...>, ..., SourceAdapter <..., std :: unique_ptr < Loader >>. Pembangun menghubungkan rantai untuk Anda.

Penggunaan:

...
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();
...

CATATAN: pembangun hanya dapat digunakan untuk membangun satu AspiredVersionsManager .

Kelas ini tidak thread-safe.

Konstruktor dan Destructor

~AspiredVersionsManagerBuilder ()

Tipe publik

Options menggunakan

Fungsi statis publik

Create ( Options options, std::unique_ptr< AspiredVersionsManagerBuilder > *builder)
Status

Fungsi publik

AddSource (std::unique_ptr< S > source)
void
Menghubungkan sumber ke AspiredVersionsManager sedang dibangun dan mengambil alih kepemilikannya.
AddSourceChain (std::unique_ptr< S > source, std::unique_ptr< SA > first_source_adapter, std::unique_ptr< Args >... remaining_source_adapters)
void
Menghubungkan rantai yang terdiri dari sumber dan rantai adaptor sumber, st
Build ()
std::unique_ptr< Manager >
Membangun AspiredVersionsManager dan kembali itu sebagai Manajer antarmuka.

Tipe publik

Pilihan

AspiredVersionsManager::Options Options

Fungsi statis publik

Membuat

Status Create(
  Options options,
  std::unique_ptr< AspiredVersionsManagerBuilder > *builder
)

Fungsi publik

TambahkanSumber

void AddSource(
  std::unique_ptr< S > source
)

Menghubungkan sumber ke AspiredVersionsManager sedang dibangun dan mengambil alih kepemilikannya.

Membutuhkan: Template tipe S menjadi dikonversi ke Sumber <std :: unique_ptr < Loader >>.

TambahkanSumberRantai

void AddSourceChain(
  std::unique_ptr< S > source,
  std::unique_ptr< SA > first_source_adapter,
  std::unique_ptr< Args >... remaining_source_adapters
)

Menghubungkan rantai yang terdiri dari sumber dan rantai adaptor sumber, st

adaptor terakhir dalam rantai memancarkan Loader untuk manajer. Adaptor terakhir terhubung ke manajer. Kami mengambil kepemilikan seluruh rantai.

MEMBUTUHKAN: Setidaknya satu adaptor sumber.

Penggunaan: builder->AddSourceChain( std::move(source), std::move(source_adapter1), std::move(source_adapter2));

Membangun

std::unique_ptr< Manager > Build()

Membangun AspiredVersionsManager dan kembali itu sebagai Manajer antarmuka.

~AspiredVersionsManagerBuilder

 ~AspiredVersionsManagerBuilder()=default