Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Dệt :: Hệ thống :: Vật

#include <src/system/SystemObject.h>

Điều này đại diện cho một đối tượng được đếm tham chiếu được phân bổ từ không gian chứa trong ObjectPool vật.

Tóm lược

Lưu ý: Phiên bản của lớp này chỉ có thể được xây dựng bằng cách sử dụng mẫu lớp ObjectPool liên quan. Hàm tạo bản sao và toán tử gán sẽ bị xóa. Một hệ thống đếm tham chiếu được sử dụng để theo dõi lượt truy cập của các cá thể thuộc lớp này. Khi một đối tượng ban đầu được giữ lại, số lượng tham chiếu của nó là một. Các lần rút lại bổ sung có thể làm tăng số lượng tham chiếu. Khi đối tượng được giải phóng, số lượng tham chiếu sẽ giảm. Khi số lượng tham chiếu bằng 0, đối tượng được tái chế trở lại nhóm để tái phân bổ. Không có trình hủy có sẵn. Các lớp con phải được thiết kế để đảm bảo rằng tất cả các tài nguyên được đóng gói sẽ được giải phóng khi phần lưu giữ cuối cùng được giải phóng và đối tượng được tái chế. Mặc dù lớp này được định nghĩa là cụ thể, nhưng theo kiểu Nest C ++, nó nên được coi là trừu tượng.

Di sản

Các lớp con đã biết trực tiếp:
  nl :: Inet :: InetLayerBasis
  nl :: Weave :: System :: Timer

Các loại được bảo vệ

ReleaseDeferralErrorTactic {
kReleaseDeferralErrorTactic_Ignore ,
kReleaseDeferralErrorTactic_Release ,
kReleaseDeferralErrorTactic_Die
}
enum
<Phải làm gì khi DeferredRelease không đăng được kEvent_ReleaseObj.

Thuộc tính công cộng

AppState
void *
Con trỏ chung đến dữ liệu dành riêng cho ứng dụng được liên kết với đối tượng.

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

IsRetained (const Layer & aLayer) const
bool
Kiểm tra xem đối tượng này có được aLayer giữ lại aLayer .
Release (void)
void
Decrements the reference count for the Weave System Layer object.
Retain (void)
void
Increments the reference count for the Weave System Layer object.
SystemLayer (void) const
Returns a reference to the Weave System Layer object provided when the object was initially retained from its corresponding
object pool instance.

Các chức năng được bảo vệ

DeferredRelease ( ReleaseDeferralErrorTactic aTactic)
void

Các loại được bảo vệ

ReleaseDeferralErrorTactic

 ReleaseDeferralErrorTactic

<Phải làm gì khi DeferredRelease không đăng được kEvent_ReleaseObj.

Thuộc tính công cộng

AppState

void * AppState

Con trỏ chung đến dữ liệu dành riêng cho ứng dụng được liên kết với đối tượng.

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

Bị cản trở

bool IsRetained(
  const Layer & aLayer
) const 

Kiểm tra xem đối tượng này có được aLayer giữ lại aLayer .

Tests whether this object is retained by \c aLayer.

Đồng thời an toàn.

Giải phóng

void Release(
  void
)

Decrements the reference count for the Weave System Layer object.

Tái chế đối tượng trở lại nhóm nếu số lượng tham chiếu giảm xuống 0. Không có trình hủy nào được gọi.

Giữ lại

void Retain(
  void
)

Increments the reference count for the Weave System Layer object.

Đối tượng được giả định là đang sống.

SystemLayer

Layer & SystemLayer(
  void
) const 

Returns a reference to the Weave System Layer object provided when the object was initially retained from its corresponding
object pool instance.

Đối tượng được giả định là đang sống.

Các chức năng được bảo vệ

DeferredRelease

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)