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