Kelas cancellation_token

Kelas cancellation_token mewakili kemampuan untuk menentukan apakah beberapa operasi telah diminta untuk membatalkan. Token tertentu dapat dikaitkan dengan task_group, , structured_task_groupatau task untuk memberikan pembatalan implisit. Ini juga dapat dijajaki untuk pembatalan atau memiliki panggilan balik yang terdaftar untuk jika dan kapan terkait cancellation_token_source dibatalkan.

Sintaks

class cancellation_token;

Anggota

Konstruktor Publik

Nama Deskripsi
cancellation_token
~cancellation_token Destructor

Metode Publik

Nama Deskripsi
deregister_callback Menghapus panggilan balik yang sebelumnya terdaftar melalui register metode berdasarkan objek yang cancellation_token_registration dikembalikan pada saat pendaftaran.
is_cancelable Mengembalikan indikasi apakah token ini dapat dibatalkan atau tidak.
is_canceled Mengembalikan true jika token telah dibatalkan.
Tidak ada Mengembalikan token pembatalan yang tidak pernah tunduk pada pembatalan.
register_callback Mendaftarkan fungsi panggilan balik dengan token. Jika dan ketika token dibatalkan, panggilan balik akan dilakukan. Perhatikan bahwa jika token sudah dibatalkan pada titik di mana metode ini dipanggil, panggilan balik akan segera dilakukan dan sinkron.

Operator Publik

Nama Deskripsi
operator!=
operator=
operator==

Hierarki Warisan

cancellation_token

Persyaratan

Header: pplcancellation_token.h

Namespace: konkurensi

~cancellation_token

~cancellation_token();

cancellation_token

cancellation_token(const cancellation_token& _Src);

cancellation_token(cancellation_token&& _Src);

Parameter

_Src
cancellation_token yang akan disalin atau dipindahkan.

deregister_callback

Menghapus panggilan balik yang sebelumnya terdaftar melalui register metode berdasarkan objek yang cancellation_token_registration dikembalikan pada saat pendaftaran.

void deregister_callback(const cancellation_token_registration& _Registration) const;

Parameter

_Pendaftaran
Objek cancellation_token_registration yang sesuai dengan panggilan balik yang akan didaftarkan. Token ini sebelumnya harus dikembalikan dari panggilan ke register metode .

is_cancelable

Mengembalikan indikasi apakah token ini dapat dibatalkan atau tidak.

bool is_cancelable() const;

Tampilkan Nilai

Indikasi apakah token ini dapat dibatalkan atau tidak.

is_canceled

Mengembalikan true jika token telah dibatalkan.

bool is_canceled() const;

Tampilkan Nilai

Nilai true jika token telah dibatalkan; jika tidak, nilai false.

tidak ada

Mengembalikan token pembatalan yang tidak pernah tunduk pada pembatalan.

static cancellation_token none();

Tampilkan Nilai

Token pembatalan yang tidak dapat dibatalkan.

operator!=

bool operator!= (const cancellation_token& _Src) const;

Parameter

_Src
untuk cancellation_token membandingkan.

Tampilkan Nilai

operator=

cancellation_token& operator= (const cancellation_token& _Src);

cancellation_token& operator= (cancellation_token&& _Src);

Parameter

_Src
yang cancellation_token akan ditetapkan.

Tampilkan Nilai

operator==

bool operator== (const cancellation_token& _Src) const;

Parameter

_Src
untuk cancellation_token membandingkan.

Tampilkan Nilai

register_callback

Mendaftarkan fungsi panggilan balik dengan token. Jika dan ketika token dibatalkan, panggilan balik akan dilakukan. Perhatikan bahwa jika token sudah dibatalkan pada titik di mana metode ini dipanggil, panggilan balik akan segera dilakukan dan sinkron.

template<typename _Function>
::Concurrency::cancellation_token_registration register_callback(const _Function& _Func) const;

Parameter

_Fungsi
Jenis objek fungsi yang akan dipanggil kembali ketika ini cancellation_token dibatalkan.

_Func
Objek fungsi yang akan dipanggil kembali ketika ini cancellation_token dibatalkan.

Tampilkan Nilai

Objek cancellation_token_registration yang dapat digunakan dalam deregister metode untuk membatalkan pendaftaran panggilan balik yang terdaftar sebelumnya dan mencegahnya dibuat. Metode ini akan melemparkan pengecualian invalid_operation jika dipanggil pada cancellation_token objek yang dibuat menggunakan metode cancellation_token::none .

Baca juga

Namespace layanan konkurensi