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