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

#include <servable_handle.h>

Một con trỏ thông minh để đối tượng thể phân phát cơ bản T lấy từ Loader .

Bản tóm tắt

Mã giao diện người dùng nhận các xử lý này từ ServableManager. Tay cầm giữ cho đối tượng bên dưới tồn tại miễn là tay cầm còn sống. Giao diện người dùng không nên giữ nó trong một thời gian dài, vì việc giữ nó có thể trì hoãn việc tải lại có thể phục vụ.

T trả về từ xử lý thường được chia sẻ giữa nhiều yêu cầu, có nghĩa là bất kỳ thay đổi đột biến nào được thực hiện đối với T phải bảo toàn tính đúng đắn so với logic ứng dụng. Hơn nữa, khi có nhiều luồng yêu cầu, việc sử dụng T an toàn cho luồng phải được đảm bảo.

T được mong đợi là một kiểu giá trị và được lưu trữ bên trong dưới dạng một con trỏ. Việc sử dụng kiểu con trỏ cho T sẽ không biên dịch được, vì sẽ là một sai lầm nếu làm như vậy trong hầu hết các tình huống.

Ví dụ sử dụng:

// Define or use an existing servable:
class MyServable {
public:
  void MyMethod();
};

// Get your handle from a manager.
ServableHandle handle;
TF_RETURN_IF_ERROR(manager->GetServableHandle(id, &handle));

// Use your handle as a smart-pointer:
handle->MyMethod();