dòng chảy :: phục vụ :: AspedlyVersionsManagerBuilder

#include <aspired_versions_manager_builder.h>

Xây dựng một AspiredVersionsManager với các tùy chọn và các nguồn kết nối với nó.

Bản tóm tắt

Nó tiếp quản quyền sở hữu các nguồn và trình quản lý được trả lại xử lý việc phá hủy chính nó và các phụ thuộc của nó. Cả hai nguồn duy nhất và chuỗi nguồn / nguồn adapter được chấp nhận, tức là bạn có thể sử dụng các nguồn trực tiếp cung cấp máy xúc ( Nguồn <std :: unique_ptr < Loader >>) hoặc composit đó bao gồm Nguồn <S> + một số chuỗi SourceAdapter <S ...>, ..., SourceAdapter <..., std :: unique_ptr < Loader >>. Người xây dựng kết nối chuỗi cho bạn.

Cách sử dụng:

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

LƯU Ý: Một người xây dựng chỉ có thể được sử dụng để xây dựng một đơn AspiredVersionsManager .

Lớp này không an toàn theo luồng.

Người xây dựng và Người phá hủy

~AspiredVersionsManagerBuilder ()

Các loại công khai

Options sử dụng

Các chức năng tĩnh công khai

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

Chức năng công cộng

AddSource (std::unique_ptr< S > source)
void
Kết nối nguồn đến AspiredVersionsManager được xây dựng và tiếp quản quyền sở hữu của nó.
AddSourceChain (std::unique_ptr< S > source, std::unique_ptr< SA > first_source_adapter, std::unique_ptr< Args >... remaining_source_adapters)
void
Kết nối một chuỗi bao gồm một nguồn và một chuỗi các bộ điều hợp nguồn, st
Build ()
std::unique_ptr< Manager >
Xây dựng các AspiredVersionsManager và trả về nó như là quản lý giao diện.

Các loại công khai

Tùy chọn

AspiredVersionsManager::Options Options

Các chức năng tĩnh công khai

Tạo ra

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

Chức năng công cộng

Thêm nguồn

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

Kết nối nguồn đến AspiredVersionsManager được xây dựng và tiếp quản quyền sở hữu của nó.

Yêu cầu: Template loại S được chuyển đổi thành nguồn <std :: unique_ptr < Loader >>.

AddSourceChain

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

Kết nối một chuỗi bao gồm một nguồn và một chuỗi các bộ điều hợp nguồn, st

bộ điều hợp cuối cùng trong chuỗi phát ra Bộ nạp cho người quản lý. Bộ điều hợp cuối cùng được kết nối với trình quản lý. Chúng tôi nắm quyền sở hữu toàn bộ chuỗi.

YÊU CẦU: Ít nhất một bộ chuyển đổi nguồn.

Cách sử dụng: builder-> AddSourceChain (std :: move (source), std :: move (source_adapter1), std :: move (source_adapter2));

Xây dựng

std::unique_ptr< Manager > Build()

Xây dựng các AspiredVersionsManager và trả về nó như là quản lý giao diện.

~ AspedlyVersionsManagerBuilder

 ~AspiredVersionsManagerBuilder()=default