เทนเซอร์โฟลว์:: เสิร์ฟ:: 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
)

งานสาธารณะ

เพิ่มแหล่งที่มา

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

อะแดปเตอร์สุดท้ายในห่วงโซ่จะปล่อย Loaders สำหรับผู้จัดการ อะแดปเตอร์สุดท้ายเชื่อมต่อกับผู้จัดการ เราเป็นเจ้าของห่วงโซ่ทั้งหมด

สิ่งที่ต้องมี: อะแดปเตอร์ต้นทางอย่างน้อยหนึ่งตัว

การใช้งาน: builder->AddSourceChain( std::move(source), std::move(source_adapter1), std::move(source_adapter2));

สร้าง

std::unique_ptr< Manager > Build()

สร้าง AspiredVersionsManager และผลตอบแทนที่ว่ามันเป็น ผู้จัดการ อินเตอร์เฟซ

~AspiredVersionsManagerBuilder

 ~AspiredVersionsManagerBuilder()=default