تينسورفلو :: خدمة:: AspiredVersionsManagerBuilder

#include <aspired_versions_manager_builder.h>

يبني AspiredVersionsManager مع خيارات ومصادر المتصلة به.

ملخص

يتولى ملكية المصادر ويتولى المدير المرتجع تدمير نفسه وتبعياتها. وتقبل كل من مصادر واحدة وسلاسل المصدر / مصدر محول، أي يمكنك استخدام المصادر أن العرض مباشرة تحميل ( المصدر <الأمراض المنقولة جنسيا :: unique_ptr < محمل >>) أو المركبة التي تتكون من المصدر <S> + بعض سلسلة من SourceAdapter <S ...>، ...، SourceAdapter <...، الأمراض المنقولة جنسيا :: unique_ptr < محمل >>. يقوم المنشئ بتوصيل السلسلة من أجلك.

الاستعمال:

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

ملاحظة: لا يمكن إلا أن منشئ استخدامها لبناء واحد AspiredVersionsManager .

هذه الفئة ليست خيط آمن.

البنائين والمدمرين

~AspiredVersionsManagerBuilder ()

الأنواع العامة

Options استخدام

وظائف ثابتة عامة

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

الوظائف العامة

AddSource (std::unique_ptr< S > source)
void
يربط المصدر إلى AspiredVersionsManager يجري بناؤها، ويأخذ على ملكيتها.
AddSourceChain (std::unique_ptr< S > source, std::unique_ptr< SA > first_source_adapter, std::unique_ptr< Args >... remaining_source_adapters)
void
يربط سلسلة تشتمل على مصدر وسلسلة من محولات المصدر ، st
Build ()
std::unique_ptr< Manager >
يبني AspiredVersionsManager والعوائد على أنها مدير واجهة.

الأنواع العامة

خيارات

AspiredVersionsManager::Options Options

وظائف ثابتة عامة

يخلق

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

الوظائف العامة

AddSource

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

يربط المصدر إلى AspiredVersionsManager يجري بناؤها، ويأخذ على ملكيتها.

يتطلب ما يلي: قالب نوع S قابلا للتحويل إلى المصدر <الأمراض المنقولة جنسيا :: unique_ptr < محمل >>.

AddSourceChain

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

يربط سلسلة تشتمل على مصدر وسلسلة من محولات المصدر ، st

المحول النهائي في السلسلة يصدر لوادر للمدير. المحول النهائي متصل بالمدير. نحن نأخذ ملكية السلسلة بأكملها.

المتطلبات: محول مصدر واحد على الأقل.

الاستخدام: builder-> AddSourceChain (std :: move (source) ، std :: move (source_adapter1) ، std :: move (source_adapter2)) ؛

يبني

std::unique_ptr< Manager > Build()

يبني AspiredVersionsManager والعوائد على أنها مدير واجهة.

~ AspiredVersionsManagerBuilder

 ~AspiredVersionsManagerBuilder()=default