przepływ tensorowy:: porcja:: AspiredVersionsMenedżer Konstruktor

#include <aspired_versions_manager_builder.h>

Buduje AspiredVersionsManager z opcji i źródeł podłączonych do niego.

Streszczenie

Przejmuje na własność źródła, a powracający menedżer zajmuje się niszczeniem siebie i swoich zależności. Oba single źródła i łańcuchy źródło / source-adaptera są akceptowane, czyli można korzystać ze źródeł, które bezpośrednio zasilają załadunek ( Źródło <std :: unique_ptr < Loader >>) lub kompozytów, które składają Źródło <S> + jakiś łańcuch SourceAdapter <S ...>, ..., SourceAdapter <..., std :: unique_ptr < Loader >>. Konstruktor łączy łańcuch dla Ciebie.

Zastosowanie:

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

UWAGA: budowniczy może być używany tylko do zbudowania jednego AspiredVersionsManager .

Ta klasa nie jest bezpieczna wątkowo.

Konstruktory i destruktory

~AspiredVersionsManagerBuilder ()

Typy publiczne

Options za pomocą

Publiczne funkcje statyczne

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

Funkcje publiczne

AddSource (std::unique_ptr< S > source)
void
Łączy źródła do AspiredVersionsManager budowane i przejmuje jego własności.
AddSourceChain (std::unique_ptr< S > source, std::unique_ptr< SA > first_source_adapter, std::unique_ptr< Args >... remaining_source_adapters)
void
Łączy łańcuch składający się ze źródła i łańcucha adapterów źródłowych, st
Build ()
std::unique_ptr< Manager >
Buduje AspiredVersionsManager i zwraca go jako Menedżer interfejsu.

Typy publiczne

Opcje

AspiredVersionsManager::Options Options

Publiczne funkcje statyczne

Tworzyć

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

Funkcje publiczne

Dodajźródło

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

Łączy źródła do AspiredVersionsManager budowane i przejmuje jego własności.

Wymagania: Typ szablonu S będzie zamienny do źródła <std :: unique_ptr < Loader >>.

Dodaj łańcuch źródła

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

Łączy łańcuch składający się ze źródła i łańcucha adapterów źródłowych, st

ostatni adapter w łańcuchu emituje Loadery dla menedżera. Ostateczny adapter jest podłączony do menedżera. Przejmujemy na własność cały łańcuch.

WYMAGA: co najmniej jeden adapter źródłowy.

Sposób użycia: builder->AddSourceChain( std::move(source), std::move(source_adapter1), std::move(source_adapter2));

Zbudować

std::unique_ptr< Manager > Build()

Buduje AspiredVersionsManager i zwraca go jako Menedżer interfejsu.

~AspiredVersionsManagerBuilder

 ~AspiredVersionsManagerBuilder()=default