xref: /aosp_15_r20/external/pytorch/torch/csrc/Event.h (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard Worker #ifndef THP_EVENT_INC
2*da0073e9SAndroid Build Coastguard Worker #define THP_EVENT_INC
3*da0073e9SAndroid Build Coastguard Worker 
4*da0073e9SAndroid Build Coastguard Worker #include <c10/core/Event.h>
5*da0073e9SAndroid Build Coastguard Worker #include <torch/csrc/python_headers.h>
6*da0073e9SAndroid Build Coastguard Worker 
7*da0073e9SAndroid Build Coastguard Worker struct TORCH_API THPEvent {
8*da0073e9SAndroid Build Coastguard Worker   PyObject_HEAD c10::Event event;
9*da0073e9SAndroid Build Coastguard Worker };
10*da0073e9SAndroid Build Coastguard Worker extern PyObject* THPEventClass;
11*da0073e9SAndroid Build Coastguard Worker TORCH_API extern PyTypeObject THPEventType;
12*da0073e9SAndroid Build Coastguard Worker 
13*da0073e9SAndroid Build Coastguard Worker TORCH_API void THPEvent_init(PyObject* module);
14*da0073e9SAndroid Build Coastguard Worker TORCH_API PyObject* THPEvent_new(
15*da0073e9SAndroid Build Coastguard Worker     c10::DeviceType device_type,
16*da0073e9SAndroid Build Coastguard Worker     c10::EventFlag flag);
THPEvent_Check(PyObject * obj)17*da0073e9SAndroid Build Coastguard Worker inline bool THPEvent_Check(PyObject* obj) {
18*da0073e9SAndroid Build Coastguard Worker   return THPEventClass && PyObject_IsInstance(obj, THPEventClass);
19*da0073e9SAndroid Build Coastguard Worker }
20*da0073e9SAndroid Build Coastguard Worker 
21*da0073e9SAndroid Build Coastguard Worker #endif // THP_EVENT_INC
22