flusso tensoriale:: servendo:: AspiredVersionsManagerBuilder

#include <aspired_versions_manager_builder.h>

Costruisce un AspiredVersionsManager con le opzioni e le sorgenti collegate ad esso.

Riepilogo

Assume la proprietà delle fonti e il gestore restituito gestisce la distruzione di se stesso e delle sue dipendenze. Entrambe le fonti singoli e catene fonte / sorgente-adattatori sono accettati, per esempio, si può utilizzare fonti che forniscono direttamente caricatori ( Fonte <std :: unique_ptr < Loader >>) o compositi che consistono di Fonte <S> + qualche catena di SourceAdapter <S , ...>, ..., SourceAdapter <..., std :: unique_ptr < Loader >>. Il costruttore collega la catena per te.

Uso:

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

NOTA: Un costruttore può essere utilizzato solo per costruire un singolo AspiredVersionsManager .

Questa classe non è thread-safe.

Costruttori e Distruttori

~AspiredVersionsManagerBuilder ()

Tipi pubblici

Options usando

Funzioni statiche pubbliche

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

Funzioni pubbliche

AddSource (std::unique_ptr< S > source)
void
Collega la sorgente al AspiredVersionsManager in fase di costruzione e riprende la sua proprietà.
AddSourceChain (std::unique_ptr< S > source, std::unique_ptr< SA > first_source_adapter, std::unique_ptr< Args >... remaining_source_adapters)
void
Collega una catena comprendente una sorgente e una catena di adattatori sorgente, st
Build ()
std::unique_ptr< Manager >
Costruisce l'AspiredVersionsManager e lo restituisce come il manager di interfaccia.

Tipi pubblici

Opzioni

AspiredVersionsManager::Options Options

Funzioni statiche pubbliche

Creare

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

Funzioni pubbliche

Aggiungi origine

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

Collega la sorgente al AspiredVersionsManager in fase di costruzione e riprende la sua proprietà.

Requisiti: Template tipo S essere convertibile in Fonte <std :: unique_ptr < Loader >>.

AggiungiSourceChain

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

Collega una catena comprendente una sorgente e una catena di adattatori sorgente, st

l'adattatore finale nella catena emette caricatori per il manager. L'adattatore finale è collegato al manager. Prendiamo la proprietà dell'intera catena.

RICHIEDE: Almeno un adattatore sorgente.

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

Costruire

std::unique_ptr< Manager > Build()

Costruisce l'AspiredVersionsManager e lo restituisce come il manager di interfaccia.

~AspiredVersionsManagerBuilder

 ~AspiredVersionsManagerBuilder()=default