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